pi-feishu-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/src/bot.d.ts +29 -0
  4. package/dist/src/bot.js +75 -0
  5. package/dist/src/cards.d.ts +6 -0
  6. package/dist/src/cards.js +87 -0
  7. package/dist/src/config.d.ts +3 -0
  8. package/dist/src/config.js +28 -0
  9. package/dist/src/daemon.d.ts +2 -0
  10. package/dist/src/daemon.js +151 -0
  11. package/dist/src/extension.d.ts +2 -0
  12. package/dist/src/extension.js +124 -0
  13. package/dist/src/poller.d.ts +33 -0
  14. package/dist/src/poller.js +94 -0
  15. package/dist/src/renderer.d.ts +8 -0
  16. package/dist/src/renderer.js +31 -0
  17. package/dist/src/session-registry.d.ts +15 -0
  18. package/dist/src/session-registry.js +82 -0
  19. package/dist/src/types.d.ts +25 -0
  20. package/dist/src/types.js +1 -0
  21. package/dist/tests/bot.test.d.ts +1 -0
  22. package/dist/tests/bot.test.js +89 -0
  23. package/dist/tests/cards.test.d.ts +1 -0
  24. package/dist/tests/cards.test.js +39 -0
  25. package/dist/tests/config.test.d.ts +1 -0
  26. package/dist/tests/config.test.js +59 -0
  27. package/dist/tests/renderer.test.d.ts +1 -0
  28. package/dist/tests/renderer.test.js +61 -0
  29. package/dist/tests/session-registry.test.d.ts +1 -0
  30. package/dist/tests/session-registry.test.js +92 -0
  31. package/dist/tests/types.test.d.ts +1 -0
  32. package/dist/tests/types.test.js +30 -0
  33. package/package.json +35 -0
  34. package/skills/lark-approval/SKILL.md +56 -0
  35. package/skills/lark-apps/SKILL.md +92 -0
  36. package/skills/lark-apps/references/lark-apps-access-scope-get.md +104 -0
  37. package/skills/lark-apps/references/lark-apps-access-scope-set.md +126 -0
  38. package/skills/lark-apps/references/lark-apps-create.md +112 -0
  39. package/skills/lark-apps/references/lark-apps-html-publish.md +151 -0
  40. package/skills/lark-apps/references/lark-apps-list.md +95 -0
  41. package/skills/lark-apps/references/lark-apps-update.md +86 -0
  42. package/skills/lark-attendance/SKILL.md +57 -0
  43. package/skills/lark-base/SKILL.md +359 -0
  44. package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
  45. package/skills/lark-base/references/examples.md +140 -0
  46. package/skills/lark-base/references/formula-field-guide.md +737 -0
  47. package/skills/lark-base/references/lark-base-advperm-disable.md +83 -0
  48. package/skills/lark-base/references/lark-base-advperm-enable.md +80 -0
  49. package/skills/lark-base/references/lark-base-base-copy.md +74 -0
  50. package/skills/lark-base/references/lark-base-base-create.md +68 -0
  51. package/skills/lark-base/references/lark-base-base-get.md +39 -0
  52. package/skills/lark-base/references/lark-base-cell-value.md +151 -0
  53. package/skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  54. package/skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  55. package/skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  56. package/skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  57. package/skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  58. package/skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  59. package/skills/lark-base/references/lark-base-dashboard-create.md +73 -0
  60. package/skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
  61. package/skills/lark-base/references/lark-base-dashboard-get.md +59 -0
  62. package/skills/lark-base/references/lark-base-dashboard-list.md +52 -0
  63. package/skills/lark-base/references/lark-base-dashboard-update.md +69 -0
  64. package/skills/lark-base/references/lark-base-dashboard.md +240 -0
  65. package/skills/lark-base/references/lark-base-data-analysis-sop.md +88 -0
  66. package/skills/lark-base/references/lark-base-data-query.md +375 -0
  67. package/skills/lark-base/references/lark-base-field-create.md +104 -0
  68. package/skills/lark-base/references/lark-base-field-delete.md +51 -0
  69. package/skills/lark-base/references/lark-base-field-get.md +42 -0
  70. package/skills/lark-base/references/lark-base-field-list.md +44 -0
  71. package/skills/lark-base/references/lark-base-field-search-options.md +48 -0
  72. package/skills/lark-base/references/lark-base-field-update.md +97 -0
  73. package/skills/lark-base/references/lark-base-field.md +22 -0
  74. package/skills/lark-base/references/lark-base-form-create.md +87 -0
  75. package/skills/lark-base/references/lark-base-form-delete.md +64 -0
  76. package/skills/lark-base/references/lark-base-form-detail.md +198 -0
  77. package/skills/lark-base/references/lark-base-form-get.md +68 -0
  78. package/skills/lark-base/references/lark-base-form-list.md +73 -0
  79. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  80. package/skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
  81. package/skills/lark-base/references/lark-base-form-questions-list.md +84 -0
  82. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  83. package/skills/lark-base/references/lark-base-form-questions.md +23 -0
  84. package/skills/lark-base/references/lark-base-form-submit.md +171 -0
  85. package/skills/lark-base/references/lark-base-form-update.md +82 -0
  86. package/skills/lark-base/references/lark-base-form.md +25 -0
  87. package/skills/lark-base/references/lark-base-history.md +16 -0
  88. package/skills/lark-base/references/lark-base-record-batch-create.md +58 -0
  89. package/skills/lark-base/references/lark-base-record-batch-update.md +53 -0
  90. package/skills/lark-base/references/lark-base-record-delete.md +62 -0
  91. package/skills/lark-base/references/lark-base-record-history-list.md +86 -0
  92. package/skills/lark-base/references/lark-base-record-share-link-create.md +72 -0
  93. package/skills/lark-base/references/lark-base-record-upsert.md +64 -0
  94. package/skills/lark-base/references/lark-base-record.md +31 -0
  95. package/skills/lark-base/references/lark-base-role-create.md +89 -0
  96. package/skills/lark-base/references/lark-base-role-delete.md +83 -0
  97. package/skills/lark-base/references/lark-base-role-get.md +87 -0
  98. package/skills/lark-base/references/lark-base-role-list.md +81 -0
  99. package/skills/lark-base/references/lark-base-role-update.md +94 -0
  100. package/skills/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
  101. package/skills/lark-base/references/lark-base-table-create.md +62 -0
  102. package/skills/lark-base/references/lark-base-table-delete.md +51 -0
  103. package/skills/lark-base/references/lark-base-table-get.md +46 -0
  104. package/skills/lark-base/references/lark-base-table-list.md +43 -0
  105. package/skills/lark-base/references/lark-base-table-update.md +49 -0
  106. package/skills/lark-base/references/lark-base-table.md +20 -0
  107. package/skills/lark-base/references/lark-base-view-create.md +50 -0
  108. package/skills/lark-base/references/lark-base-view-delete.md +48 -0
  109. package/skills/lark-base/references/lark-base-view-get-card.md +38 -0
  110. package/skills/lark-base/references/lark-base-view-get-filter.md +38 -0
  111. package/skills/lark-base/references/lark-base-view-get-group.md +38 -0
  112. package/skills/lark-base/references/lark-base-view-get-sort.md +38 -0
  113. package/skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
  114. package/skills/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
  115. package/skills/lark-base/references/lark-base-view-get.md +38 -0
  116. package/skills/lark-base/references/lark-base-view-list.md +44 -0
  117. package/skills/lark-base/references/lark-base-view-rename.md +44 -0
  118. package/skills/lark-base/references/lark-base-view-set-card.md +55 -0
  119. package/skills/lark-base/references/lark-base-view-set-filter.md +181 -0
  120. package/skills/lark-base/references/lark-base-view-set-group.md +65 -0
  121. package/skills/lark-base/references/lark-base-view-set-sort.md +63 -0
  122. package/skills/lark-base/references/lark-base-view-set-timebar.md +51 -0
  123. package/skills/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
  124. package/skills/lark-base/references/lark-base-view.md +44 -0
  125. package/skills/lark-base/references/lark-base-workflow-create.md +180 -0
  126. package/skills/lark-base/references/lark-base-workflow-disable.md +94 -0
  127. package/skills/lark-base/references/lark-base-workflow-enable.md +94 -0
  128. package/skills/lark-base/references/lark-base-workflow-get.md +147 -0
  129. package/skills/lark-base/references/lark-base-workflow-guide.md +718 -0
  130. package/skills/lark-base/references/lark-base-workflow-list.md +124 -0
  131. package/skills/lark-base/references/lark-base-workflow-schema.md +935 -0
  132. package/skills/lark-base/references/lark-base-workflow-update.md +167 -0
  133. package/skills/lark-base/references/lark-base-workflow.md +23 -0
  134. package/skills/lark-base/references/lark-base-workspace.md +18 -0
  135. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  136. package/skills/lark-base/references/role-config.md +539 -0
  137. package/skills/lark-calendar/SKILL.md +154 -0
  138. package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  139. package/skills/lark-calendar/references/lark-calendar-create.md +109 -0
  140. package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  141. package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
  142. package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  143. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  144. package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  145. package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
  146. package/skills/lark-contact/SKILL.md +45 -0
  147. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  148. package/skills/lark-contact/references/lark-contact-search-user.md +124 -0
  149. package/skills/lark-doc/SKILL.md +65 -0
  150. package/skills/lark-doc/references/lark-doc-create.md +89 -0
  151. package/skills/lark-doc/references/lark-doc-fetch.md +141 -0
  152. package/skills/lark-doc/references/lark-doc-md.md +71 -0
  153. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  154. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  155. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  156. package/skills/lark-doc/references/lark-doc-update.md +252 -0
  157. package/skills/lark-doc/references/lark-doc-whiteboard.md +100 -0
  158. package/skills/lark-doc/references/lark-doc-xml.md +169 -0
  159. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
  160. package/skills/lark-doc/references/style/lark-doc-style.md +106 -0
  161. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
  162. package/skills/lark-drive/SKILL.md +369 -0
  163. package/skills/lark-drive/references/lark-drive-add-comment.md +182 -0
  164. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  165. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  166. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  167. package/skills/lark-drive/references/lark-drive-delete.md +79 -0
  168. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  169. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  170. package/skills/lark-drive/references/lark-drive-export.md +119 -0
  171. package/skills/lark-drive/references/lark-drive-import.md +159 -0
  172. package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
  173. package/skills/lark-drive/references/lark-drive-move.md +120 -0
  174. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  175. package/skills/lark-drive/references/lark-drive-push.md +162 -0
  176. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  177. package/skills/lark-drive/references/lark-drive-search.md +266 -0
  178. package/skills/lark-drive/references/lark-drive-status.md +198 -0
  179. package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
  180. package/skills/lark-drive/references/lark-drive-upload.md +67 -0
  181. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  182. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  183. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  184. package/skills/lark-drive/references/lark-drive-version-revert.md +198 -0
  185. package/skills/lark-event/SKILL.md +145 -0
  186. package/skills/lark-event/references/lark-event-im.md +86 -0
  187. package/skills/lark-im/SKILL.md +162 -0
  188. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  189. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  190. package/skills/lark-im/references/lark-im-chat-list.md +198 -0
  191. package/skills/lark-im/references/lark-im-chat-messages-list.md +148 -0
  192. package/skills/lark-im/references/lark-im-chat-search.md +136 -0
  193. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  194. package/skills/lark-im/references/lark-im-flag-cancel.md +198 -0
  195. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  196. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  197. package/skills/lark-im/references/lark-im-messages-mget.md +95 -0
  198. package/skills/lark-im/references/lark-im-messages-reply.md +228 -0
  199. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  200. package/skills/lark-im/references/lark-im-messages-search.md +232 -0
  201. package/skills/lark-im/references/lark-im-messages-send.md +229 -0
  202. package/skills/lark-im/references/lark-im-reactions.md +297 -0
  203. package/skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
  204. package/skills/lark-mail/SKILL.md +648 -0
  205. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  206. package/skills/lark-mail/references/lark-mail-draft-create.md +123 -0
  207. package/skills/lark-mail/references/lark-mail-draft-edit.md +400 -0
  208. package/skills/lark-mail/references/lark-mail-forward.md +173 -0
  209. package/skills/lark-mail/references/lark-mail-message.md +230 -0
  210. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  211. package/skills/lark-mail/references/lark-mail-reply-all.md +206 -0
  212. package/skills/lark-mail/references/lark-mail-reply.md +242 -0
  213. package/skills/lark-mail/references/lark-mail-send-receipt.md +198 -0
  214. package/skills/lark-mail/references/lark-mail-send.md +216 -0
  215. package/skills/lark-mail/references/lark-mail-share-to-chat.md +198 -0
  216. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  217. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  218. package/skills/lark-mail/references/lark-mail-template-update.md +198 -0
  219. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  220. package/skills/lark-mail/references/lark-mail-triage.md +122 -0
  221. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  222. package/skills/lark-minutes/SKILL.md +139 -0
  223. package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
  224. package/skills/lark-minutes/references/lark-minutes-search.md +206 -0
  225. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  226. package/skills/lark-okr/SKILL.md +133 -0
  227. package/skills/lark-okr/references/lark-okr-contentblock.md +359 -0
  228. package/skills/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  229. package/skills/lark-okr/references/lark-okr-cycle-list.md +90 -0
  230. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  231. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  232. package/skills/lark-okr/references/lark-okr-progress-create.md +81 -0
  233. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  234. package/skills/lark-okr/references/lark-okr-progress-get.md +62 -0
  235. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  236. package/skills/lark-okr/references/lark-okr-progress-update.md +81 -0
  237. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  238. package/skills/lark-shared/SKILL.md +144 -0
  239. package/skills/lark-sheets/SKILL.md +343 -0
  240. package/skills/lark-sheets/references/lark-sheets-cell-data.md +197 -0
  241. package/skills/lark-sheets/references/lark-sheets-cell-images.md +59 -0
  242. package/skills/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
  243. package/skills/lark-sheets/references/lark-sheets-dropdown.md +133 -0
  244. package/skills/lark-sheets/references/lark-sheets-filter-views.md +193 -0
  245. package/skills/lark-sheets/references/lark-sheets-float-images.md +125 -0
  246. package/skills/lark-sheets/references/lark-sheets-formula.md +88 -0
  247. package/skills/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
  248. package/skills/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
  249. package/skills/lark-sheets/references/lark-sheets-spreadsheet-management.md +140 -0
  250. package/skills/lark-skill-maker/SKILL.md +85 -0
  251. package/skills/lark-slides/SKILL.md +296 -0
  252. package/skills/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  253. package/skills/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  254. package/skills/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  255. package/skills/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  256. package/skills/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  257. package/skills/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  258. package/skills/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  259. package/skills/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  260. package/skills/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  261. package/skills/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  262. package/skills/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  263. package/skills/lark-slides/assets/templates/marketing--marketing_plan.xml +198 -0
  264. package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  265. package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +198 -0
  266. package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  267. package/skills/lark-slides/assets/templates/misc--book_sharing.xml +198 -0
  268. package/skills/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  269. package/skills/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  270. package/skills/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  271. package/skills/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  272. package/skills/lark-slides/assets/templates/office--light_general.xml +3378 -0
  273. package/skills/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  274. package/skills/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  275. package/skills/lark-slides/assets/templates/office--work_report.xml +1099 -0
  276. package/skills/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  277. package/skills/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  278. package/skills/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  279. package/skills/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  280. package/skills/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  281. package/skills/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  282. package/skills/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  283. package/skills/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  284. package/skills/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  285. package/skills/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  286. package/skills/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  287. package/skills/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  288. package/skills/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  289. package/skills/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  290. package/skills/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  291. package/skills/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  292. package/skills/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  293. package/skills/lark-slides/assets/templates/product--product_promotion_2.xml +198 -0
  294. package/skills/lark-slides/references/asset-planning.md +124 -0
  295. package/skills/lark-slides/references/examples.md +261 -0
  296. package/skills/lark-slides/references/lark-slides-create.md +137 -0
  297. package/skills/lark-slides/references/lark-slides-edit-workflows.md +142 -0
  298. package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
  299. package/skills/lark-slides/references/lark-slides-replace-slide.md +239 -0
  300. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
  301. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  302. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  303. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
  304. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  305. package/skills/lark-slides/references/planning-layer.md +219 -0
  306. package/skills/lark-slides/references/slide-templates.md +201 -0
  307. package/skills/lark-slides/references/slides_demo.xml +226 -0
  308. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  309. package/skills/lark-slides/references/template-catalog.md +463 -0
  310. package/skills/lark-slides/references/template-index.json +198 -0
  311. package/skills/lark-slides/references/troubleshooting.md +198 -0
  312. package/skills/lark-slides/references/validation-checklist.md +102 -0
  313. package/skills/lark-slides/references/visual-planning.md +250 -0
  314. package/skills/lark-slides/references/xml-format-guide.md +369 -0
  315. package/skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
  316. package/skills/lark-slides/scripts/template_tool.py +970 -0
  317. package/skills/lark-slides/scripts/template_tool_test.py +177 -0
  318. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +367 -0
  319. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +263 -0
  320. package/skills/lark-task/SKILL.md +165 -0
  321. package/skills/lark-task/references/lark-task-assign.md +38 -0
  322. package/skills/lark-task/references/lark-task-comment.md +28 -0
  323. package/skills/lark-task/references/lark-task-complete.md +27 -0
  324. package/skills/lark-task/references/lark-task-create.md +57 -0
  325. package/skills/lark-task/references/lark-task-followers.md +35 -0
  326. package/skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
  327. package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  328. package/skills/lark-task/references/lark-task-reminder.md +36 -0
  329. package/skills/lark-task/references/lark-task-reopen.md +27 -0
  330. package/skills/lark-task/references/lark-task-search.md +41 -0
  331. package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  332. package/skills/lark-task/references/lark-task-subscribe-event.md +86 -0
  333. package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  334. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  335. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  336. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  337. package/skills/lark-task/references/lark-task-update.md +37 -0
  338. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  339. package/skills/lark-vc/SKILL.md +168 -0
  340. package/skills/lark-vc/references/lark-vc-notes.md +126 -0
  341. package/skills/lark-vc/references/lark-vc-recording.md +153 -0
  342. package/skills/lark-vc/references/lark-vc-search.md +193 -0
  343. package/skills/lark-vc-agent/SKILL.md +121 -0
  344. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
  345. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
  346. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
  347. package/skills/lark-whiteboard/SKILL.md +144 -0
  348. package/skills/lark-whiteboard/references/connectors.md +102 -0
  349. package/skills/lark-whiteboard/references/content.md +40 -0
  350. package/skills/lark-whiteboard/references/image.md +80 -0
  351. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  352. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
  353. package/skills/lark-whiteboard/references/layout.md +374 -0
  354. package/skills/lark-whiteboard/references/schema.md +357 -0
  355. package/skills/lark-whiteboard/references/style.md +318 -0
  356. package/skills/lark-whiteboard/references/typography.md +73 -0
  357. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  358. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  359. package/skills/lark-whiteboard/routes/svg.md +54 -0
  360. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  361. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  362. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  363. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  364. package/skills/lark-whiteboard/scenes/flowchart.md +198 -0
  365. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  366. package/skills/lark-whiteboard/scenes/funnel.md +198 -0
  367. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  368. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  369. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  370. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  371. package/skills/lark-whiteboard/scenes/photo-showcase.md +198 -0
  372. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  373. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  374. package/skills/lark-whiteboard/scenes/treemap.md +198 -0
  375. package/skills/lark-wiki/SKILL.md +119 -0
  376. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  377. package/skills/lark-wiki/references/lark-wiki-member-add.md +66 -0
  378. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  379. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  380. package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
  381. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  382. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  383. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  384. package/skills/lark-wiki/references/lark-wiki-node-get.md +56 -0
  385. package/skills/lark-wiki/references/lark-wiki-node-list.md +198 -0
  386. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  387. package/skills/lark-wiki/references/lark-wiki-space-list.md +198 -0
  388. package/skills/lark-workflow-meeting-summary/SKILL.md +104 -0
  389. package/skills/lark-workflow-standup-report/SKILL.md +120 -0
  390. package/skills/mmx-cli/SKILL.md +440 -0
  391. package/src/bot.ts +109 -0
  392. package/src/cards.ts +105 -0
  393. package/src/config.ts +33 -0
  394. package/src/daemon.ts +217 -0
  395. package/src/extension.ts +132 -0
  396. package/src/poller.ts +135 -0
  397. package/src/renderer.ts +47 -0
  398. package/src/session-registry.ts +90 -0
  399. package/src/types.ts +29 -0
  400. package/tests/bot.test.ts +104 -0
  401. package/tests/cards.test.ts +48 -0
  402. package/tests/config.test.ts +59 -0
  403. package/tests/renderer.test.ts +74 -0
  404. package/tests/session-registry.test.ts +94 -0
  405. package/tests/types.test.ts +35 -0
  406. package/tsconfig.json +16 -0
  407. package/vitest.config.ts +7 -0
@@ -0,0 +1,463 @@
1
+ # Slides 模板目录
2
+
3
+ > **创建 PPT 前必读。** 先根据用户需求匹配 1-2 个最佳模板,再根据每个模板下方的“页型索引”确定需要的页面类型。模板 XML 位于 `assets/templates/*.xml`,属于机器资源;默认通过脚本摘要或裁切,**不要阅读全文模板 XML**,尤其不要默认读取 `light_general.xml` / `dark_general.xml` 这类 54/56 页通用变体库全文。
4
+
5
+ > **机器优先路径。** 优先运行 [`../scripts/template_tool.py`](../scripts/template_tool.py) 的 `search` 做低成本路由;锁定模板后运行 `summarize` 获取主题和布局摘要;只有需要具体布局骨架时才运行 `extract` 裁切目标页型 XML。`template-index.json` 是脚本缓存/轻量路由索引,不是默认阅读入口。
6
+
7
+ > **降级路径。** 如果 `template_tool.py` 不可用,使用本文按场景确定候选模板和页型,但不要因为脚本不可用就直接阅读全文模板 XML。
8
+
9
+ > **对话输出规则。** 当处于需求澄清阶段时,应该把匹配结果整理成 **2-3 个用户可选模板候选**,不要默认把整份目录贴给用户。每个候选至少包含:模板名、适用场景、风格/色调、简短推荐理由。优先展示场景强相关模板;`light_general.xml` / `dark_general.xml` 这类通用模板只作为兜底或补充选项。
10
+
11
+ ## 使用方法
12
+
13
+ 1. 先运行 `python3 skills/lark-slides/scripts/template_tool.py search --query "<主题>" --limit 3`,根据用户描述的 **场景、风格、色调** 做初筛
14
+ 2. 整理出 **2-3 个**最匹配的用户可选模板候选;优先选场景强相关模板,没有明显场景模板时再用标 ⭐ 的通用模板兜底
15
+ 3. 用户选定后,再锁定 **1-2 个**最匹配的模板作为实际参考
16
+ 4. 先看模板下方的 **页型索引**,锁定你真正需要的页型:封面 / 目录 / 分节 / 内容 / 结尾
17
+ 5. 优先运行 `template_tool.py summarize` 查看 `<theme>` / 页型摘要;只有需要具体布局骨架时,再运行 `template_tool.py extract`
18
+ 6. 从模板中提取并复用:`<theme>` 配色、页面流、shape 排列布局、装饰元素风格
19
+ 7. 将用户的实际内容填充到模板的结构框架中,**不要照搬模板的占位文字**
20
+
21
+ ### 脚本快捷命令
22
+
23
+ ```bash
24
+ # 先找候选模板
25
+ python3 skills/lark-slides/scripts/template_tool.py search --query "工作汇报" --tone light --limit 3
26
+
27
+ # 看指定页型的紧凑摘要
28
+ python3 skills/lark-slides/scripts/template_tool.py summarize --template office--work_report --label 内容
29
+
30
+ # 只裁切目标页型,避免把整份 XML 拉进上下文
31
+ python3 skills/lark-slides/scripts/template_tool.py extract --template office--work_report --label 封面 --out /tmp/work-report-cover.xml
32
+ ```
33
+
34
+ 如果脚本路径不可用,按这个顺序手动降级:
35
+
36
+ 1. 回到本文对应分类,确认页数、色调、适用场景,选 2-3 个候选
37
+ 2. 根据“页型索引”确定需要的目标页型
38
+ 3. 等脚本可用后再用 `summarize` / `extract` 获取详细布局数据;不要整份展开 `assets/templates/*.xml`
39
+
40
+ ## 匹配维度
41
+
42
+ | 维度 | 说明 |
43
+ |------|------|
44
+ | 场景 | 用户要做什么?(工作汇报、产品介绍、商业计划书、培训...) |
45
+ | 色调 | light(浅色/白底)、dark(深色/黑底)、colorful(多彩活泼) |
46
+ | 正式度 | formal(正式商务)、casual(轻松分享)、creative(创意设计) |
47
+
48
+ ---
49
+
50
+ ## office — 办公通用
51
+
52
+ ### ⭐ light_general.xml — 浅色通用变体库
53
+
54
+ - **54 页 slide 变体**(非完整 PPT,是按需挑选的页面类型库)
55
+ - 色调:light | 正式度:formal
56
+ - 配色:白底 `#f4f5f6`,蓝色点缀 `#4e6efd`,深灰文字 `#1f2329`
57
+ - 页面类型:封面×2, 目录×4, 分节页, 内容×30, 数据卡片×2, 结尾
58
+ - 页型索引(建议先读):封面 `1-2` | 目录 `3-6` | 分节/过渡 `7-8` | 内容/图文/时间线/数据 `9-53` | 结尾 `54`
59
+ - **适用**:任何需要浅色风格的场景,从中挑选合适的页面布局
60
+
61
+ ### ⭐ dark_general.xml — 深色通用变体库
62
+
63
+ - **56 页 slide 变体**(同上,深色版)
64
+ - 色调:dark | 正式度:formal
65
+ - 配色:深灰底 `#1f2329`,蓝色点缀 `#4e6efd`,白色文字
66
+ - 页面类型:封面×2, 目录×4, 分节页, 内容×31, 数据卡片×2, 结尾
67
+ - 页型索引(建议先读):封面 `1-2` | 目录 `3-6` | 分节/过渡 `7-8` | 内容/图文/时间线/数据 `9-54` | 结尾 `55-56`
68
+ - **适用**:任何需要深色风格的场景,渐变填充(蓝-青)、透明度叠加
69
+
70
+ ### work_report.xml — 工作汇报
71
+
72
+ - 13 页 | 色调:light | 正式度:formal
73
+ - 配色:图片底图 + 半透明白色卡片(alpha=0.51),紫色 `#7f3bf5`/蓝色 `#3370ff` 点缀
74
+ - 结构:封面 → 目录(4 Part) → 数据页 → 内容×9 → 结尾
75
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `4-12` | 结尾 `13`
76
+ - **适用**:工作汇报、月报、项目进展。中英双语标题,4 宫格布局,圆角卡片
77
+
78
+ ### work_summary_report.xml — 工作总结报告
79
+
80
+ - 16 页 | 色调:dark | 正式度:formal
81
+ - 配色:深灰底 `#2b2f36`,深蓝 `#3a6cea`/靛蓝 `#0e5efd` 点缀
82
+ - 结构:封面 → 目录 → [分节页 → 内容]×4 → 结尾(4 个清晰分节)
83
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12` | 内容 `4-5, 7-8, 10-11, 13-15` | 结尾 `16`
84
+ - **适用**:年度/季度工作总结,分节清晰的正式汇报
85
+
86
+ ### work_summary.xml — 工作总结
87
+
88
+ - 20 页 | 色调:light | 正式度:formal
89
+ - 配色:暖黄 `#fff6dc` + 浅蓝 `#ddeff7` 交替,天蓝 `#1393cf` 点缀,金色 `#f7c15f` 强调
90
+ - 结构:封面 → 目录 → 内容×7 → 数据×2 → 内容×8 → 结尾
91
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-9, 12-19` | 结尾 `20`
92
+ - **适用**:轻松温暖风格的工作总结。shape 类型最丰富(饼图、三角、弧形等)
93
+
94
+ ### quarterly_review.xml — 季度复盘
95
+
96
+ - 17 页 | 色调:dark | 正式度:formal
97
+ - 配色:海军蓝图片底图,钢蓝 `#435671` 文字,半透明白色叠加(alpha=0.6)
98
+ - 结构:封面 → 目录 → 内容×2 → 数据×2 → 内容×10 → 结尾
99
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-4, 7-16` | 结尾 `17`
100
+ - **适用**:季度复盘、OKR 回顾,数据驱动型汇报
101
+
102
+ ### dept_annual_report.xml — 部门年度汇报
103
+
104
+ - 17 页 | 色调:dark | 正式度:formal
105
+ - 配色:黑色底图 + 极光渐变(紫/青/蓝),青色 `#64e8d6` → 蓝色 `#73bbff` 渐变点缀
106
+ - 结构:封面 → 目录 → 内容×4 → 数据 → 内容×9 → 结尾
107
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-6, 8-16` | 结尾 `17`
108
+ - **适用**:年度部门汇报,视觉冲击力强,多彩渐变风
109
+
110
+ ### project_kickoff.xml — 项目启动宣讲
111
+
112
+ - 18 页 | 色调:dark | 正式度:formal
113
+ - 配色:蓝色渐变底 `linear-gradient(#4b5cf5, #233afb)`,紫色 `#ad82f7` 强调
114
+ - 结构:封面 → 目录 → 内容×15 → 结尾
115
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-17` | 结尾 `18`
116
+ - **适用**:项目启动、产品发布、技术宣讲。大胆蓝紫渐变,卡片式布局
117
+
118
+ ---
119
+
120
+ ## product — 产品
121
+
122
+ ### product_analysis.xml — 产品分析报告
123
+
124
+ - 17 页 | 色调:light | 正式度:formal
125
+ - 配色:柔蓝渐变底图 `#deebff → #ffffff`,蓝色 `#2e4ef6 → #2182f4` 点缀,浅蓝卡片 `#e2eaf9`
126
+ - 结构:封面 → 目录 → 内容 → 数据 → 内容×4 → 数据 → 内容×5 → SWOT → 结尾
127
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3, 5-8, 10-16` | 结尾 `17`
128
+ - **适用**:产品分析、竞品分析。包含 SWOT 分析页,数据图表页
129
+
130
+ ### product_intro.xml — 产品介绍
131
+
132
+ - 18 页 | 色调:colorful | 正式度:formal
133
+ - 配色:多彩渐变(每个分节不同色系:青蓝、橙红、紫、蓝靛)
134
+ - 结构:封面 → 目录 → [分节页 → 内容]×4 → 结尾(含对比页、时间线页)
135
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 7, 11, 15` | 内容 `4-6, 8-10, 12-14, 16-17` | 结尾 `18`
136
+ - **适用**:产品发布、产品介绍。视觉最丰富,每节独立配色
137
+
138
+ ### market_analysis.xml — 市场分析报告
139
+
140
+ - 11 页 | 色调:dark | 正式度:formal
141
+ - 配色:黑底,蓝紫渐变 `#0d47db → #7d00fa` 点缀
142
+ - 结构:封面 → 目录 → 分节 → 数据 → 内容×2 → 分节 → 内容×3 → 结尾
143
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 7` | 内容 `5-6, 8-10` | 结尾 `11`
144
+ - **适用**:市场分析、行业报告。精简紧凑(11 页),蓝紫科技感
145
+
146
+ ### business_case_analysis.xml — 商业案例分析
147
+
148
+ - 18 页 | 色调:dark | 正式度:formal
149
+ - 配色:深灰图片底图,金属银渐变 `#9c9c9e → #c0c5d3` 点缀
150
+ - 结构:封面 → 内容 → [分节页 → 内容]×4 → 结尾(4 个清晰分节)
151
+ - 页型索引(建议先读):封面 `1` | 目录 `无` | 分节 `3, 7, 11, 15` | 内容 `2, 4-6, 8-10, 12-14, 16-17` | 结尾 `18`
152
+ - **适用**:商业案例、行业案例拆解。金属质感,分节明确
153
+
154
+ ### product_promotion.xml — 产品推广方案
155
+
156
+ - 13 页 | 色调:dark | 正式度:formal
157
+ - 配色:深灰 `#2b2f36` + 白色交替,极简黑白
158
+ - 结构:封面 → 目录 → 内容×6 → 分节 → 内容×3 → 结尾
159
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `9` | 内容 `3-8, 10-12` | 结尾 `13`
160
+ - **适用**:推广方案、营销策略。极简风,黑白对比
161
+
162
+ ### product_promotion_2.xml — 产品推广方案二
163
+
164
+ - 13 页 | 色调:light | 正式度:formal
165
+ - 配色:白底,深灰 `#2b2f36` 强调,图片裁切与几何色块组合
166
+ - 结构:封面 → 目录 → 内容×6 → 分节 → 内容×3 → 结尾
167
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `9` | 内容 `3-8, 10-12` | 结尾 `13`
168
+ - **适用**:产品推广、数字营销方案。比 `product_promotion.xml` 更偏浅色商务和图文展示
169
+
170
+ ---
171
+
172
+ ## marketing — 市场营销
173
+
174
+ ### business_plan.xml — 商业计划书
175
+
176
+ - 18 页 | 色调:light | 正式度:formal
177
+ - 配色:白底,蓝青渐变封面 `#0b3be5 → #25d8ff`,鲜蓝 `#194cff` 点缀,含甜甜圈图表
178
+ - 结构:封面 → 目录 → 内容×12 → 时间线 → 内容×2 → 结尾
179
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-14, 16-17` | 结尾 `18`
180
+ - **适用**:商业计划书、创业路演。含时间线页、图表页
181
+
182
+ ### roadshow_business_plan.xml — 企业路演商业计划书
183
+
184
+ - 20 页 | 色调:light | 正式度:formal
185
+ - 配色:白底,绿色 `#20b14e` 点缀(增长/商业感)
186
+ - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(含时间线、流程图)
187
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-19` | 结尾 `20`
188
+ - **适用**:融资路演、企业路演。绿色增长主题,含 chevron 流程图形
189
+
190
+ ### brand_communication.xml — 品牌传播方案
191
+
192
+ - 17 页 | 色调:dark | 正式度:formal
193
+ - 配色:黑色图片底图,青绿渐变 `#59c2ff → #a1ffc8` 点缀,半透明白色卡片
194
+ - 结构:封面 → 目录 → 内容×8 → 数据 → 内容×5 → 结尾
195
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-10, 12-16` | 结尾 `17`
196
+ - **适用**:品牌传播、公关方案。青绿科技感 + 暗色背景
197
+
198
+ ### marketing_strategy.xml — 市场营销策略
199
+
200
+ - 16 页 | 色调:dark | 正式度:creative
201
+ - 配色:纯黑底 `#0b0b0b`,红橙霓虹渐变 `#ff0000 → #fa6627`,紫蓝 `#bc50ff → #2f2bfd`
202
+ - 结构:封面 → 目录 → 内容×13 → 结尾
203
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-15` | 结尾 `16`
204
+ - **适用**:营销策略、品牌推广。最具视觉冲击力,霓虹风格
205
+
206
+ ### marketing_plan.xml — 营销策划方案
207
+
208
+ - 15 页 | 色调:dark | 正式度:formal
209
+ - 配色:近黑底 `#18181a`,亮黄 `#ffdb1d` 强调,灰色 `#93969c` 文字
210
+ - 结构:封面 → 目录 → 内容×10 → 数据 → 内容 → 结尾
211
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-12, 14` | 结尾 `15`
212
+ - **适用**:营销策划、推广计划。黄+黑高对比,醒目
213
+
214
+ ### product_whitepaper.xml — 产品白皮书
215
+
216
+ - 21 页 | 色调:colorful | 正式度:formal
217
+ - 配色:图片底图,暖橙粉渐变 `#ffaeac → #ffe6c8`,珊瑚 `#ff7d34 → #ff3ebd`
218
+ - 结构:封面 → 目录 → 内容×18 → 结尾
219
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-20` | 结尾 `21`
220
+ - **适用**:产品白皮书、技术白皮书、深度报告。页数最多(21 页),暖色调
221
+
222
+ ### brand_operations_plan.xml — 品牌运营计划
223
+
224
+ - 18 页 | 色调:light | 正式度:formal
225
+ - 配色:浅灰底 `#eff2f6`,中蓝 `#3c6fe5` 点缀
226
+ - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(5 个分节,结构最清晰)
227
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-17` | 结尾 `18`
228
+ - **适用**:品牌运营、年度运营计划。蓝灰企业风,分节最规范
229
+
230
+ ### brand_logo_design.xml — 品牌标志设计
231
+
232
+ - 16 页 | 色调:light | 正式度:formal
233
+ - 配色:近白底 `#fbfbfb`,亮蓝 `#1c66f6` 点缀,浅蓝卡片 `#c6e7ff`
234
+ - 结构:封面 → 目录 → 内容×7 → 数据 → 内容×4 → 数据 → 结尾
235
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-9, 11-14` | 结尾 `16`
236
+ - **适用**:品牌设计、VI 设计提案。清爽蓝白,专业设计感
237
+
238
+ ---
239
+
240
+ ## operations — 运营
241
+
242
+ ### marketing_plan.xml — 营销策划方案
243
+
244
+ - 15 页 | 色调:dark | 正式度:formal
245
+ - 配色:近黑底 `#18181a`,亮黄 `#ffdb1d` 强调,灰色 `#93969c` 文字
246
+ - 结构:封面 → 目录 → 内容×10 → 数据 → 内容 → 结尾
247
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-12, 14` | 结尾 `15`
248
+ - **适用**:运营策划、营销活动方案。黄+黑高对比,醒目
249
+
250
+ ### product_promotion.xml — 产品推广方案
251
+
252
+ - 13 页 | 色调:light | 正式度:formal
253
+ - 配色:白底,深灰 `#2b2f36` 强调,图片裁切与几何色块组合
254
+ - 结构:封面 → 目录 → 内容×6 → 分节 → 内容×3 → 结尾
255
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `9` | 内容 `3-8, 10-12` | 结尾 `13`
256
+ - **适用**:产品推广、运营增长方案。适合图文展示和分阶段推广计划
257
+
258
+ ### brand_operations_plan.xml — 品牌运营计划
259
+
260
+ - 18 页 | 色调:light | 正式度:formal
261
+ - 配色:浅灰底 `#eff2f6`,中蓝 `#3c6fe5` 点缀
262
+ - 结构:封面 → 目录 → [分节页 → 内容]×5 → 结尾(5 个分节,结构最清晰)
263
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12, 15` | 内容 `4-5, 7-8, 10-11, 13-14, 16-17` | 结尾 `18`
264
+ - **适用**:品牌运营、年度运营计划。蓝灰企业风,分节规范
265
+
266
+ ### brand_logo_design.xml — 品牌标志设计
267
+
268
+ - 16 页 | 色调:light | 正式度:formal
269
+ - 配色:近白底 `#fbfbfb`,亮蓝 `#1c66f6` 点缀,浅蓝卡片 `#c6e7ff`
270
+ - 结构:封面 → 目录 → 内容×7 → 数据 → 内容×4 → 数据 → 结尾
271
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-9, 11-14` | 结尾 `16`
272
+ - **适用**:品牌设计、运营视觉提案。清爽蓝白,专业设计感
273
+
274
+ ---
275
+
276
+ ## hr — 人力资源
277
+
278
+ ### employee_training.xml — 员工培训
279
+
280
+ - 14 页 | 色调:dark | 正式度:formal
281
+ - 配色:近黑底 `rgba(13,20,32)`,图片分节页交替,单色简洁
282
+ - 结构:封面 → 目录 → [分节页(01-05) → 内容]×5 → 结尾
283
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 5, 7, 9, 11` | 内容 `4, 6, 8, 10, 12-13` | 结尾 `14`
284
+ - **适用**:员工培训、规章制度宣讲。暗色严肃风,5 个章节分节页
285
+
286
+ ### employee_training_workshop.xml — 员工培训训练
287
+
288
+ - 19 页 | 色调:colorful | 正式度:casual
289
+ - 配色:暖米底 `rgba(247,245,240)` + 深灰 `rgba(60,60,60)` 交替,5 种彩色点缀(钢蓝、青绿、橄榄金、鲑鱼粉)
290
+ - 结构:封面 → 目录 → [深色标题卡 → 浅色内容]×7 → 结尾
291
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 5, 7, 9, 11, 13, 15` | 内容 `4, 6, 8, 10, 12, 14, 16-18` | 结尾 `19`
292
+ - **适用**:培训工作坊、技能培训。温暖多彩,轻松氛围
293
+
294
+ ### onboarding.xml — 新人入职培训
295
+
296
+ - 15 页 | 色调:dark | 正式度:formal
297
+ - 配色:深炭灰底 `rgba(43,47,54)`,亮紫 `rgba(75,63,221)` 点缀,浅灰卡片 `rgba(243,244,246)`
298
+ - 结构:封面 → 目录 → [分节页(01-05) → 内容]×5 → 结尾
299
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 5, 7, 9, 11` | 内容 `4, 6, 8, 10, 12-14` | 结尾 `15`
300
+ - **适用**:新人入职、公司介绍。紫色 CTA 按钮,包含公司概况/愿景/价值观/流程/制度等章节
301
+
302
+ ---
303
+
304
+ ## administration — 行政
305
+
306
+ ### all_hands_meeting.xml — 全员大会
307
+
308
+ - 18 页 | 色调:light | 正式度:formal
309
+ - 配色:蓝紫渐变图片底图,毛玻璃白色卡片(alpha=0.7),薰衣草 `rgba(155,177,255)` 点缀
310
+ - 结构:封面 → 目录 → [分节页 → 内容]×4 → 结尾(含图表页)
311
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 7, 11, 15` | 内容 `4-6, 8-10, 12-14, 16-17` | 结尾 `18`
312
+ - **适用**:全员大会、季度会议、公司大会。毛玻璃风格,蓝紫渐变,含 chart 图表
313
+
314
+ ### company_intro.xml — 企业介绍
315
+
316
+ - 16 页 | 色调:light | 正式度:formal
317
+ - 配色:白底极简,金黄 `rgba(255,196,25)` 点缀,深灰 `rgba(31,35,41)` 文字
318
+ - 结构:封面 → 目录 → 内容×12 → 数据(chart) → 结尾(含图表页)
319
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-14` | 结尾 `16`
320
+ - **适用**:企业介绍、公司宣传。极简白底,中英双语,含行业前景图表
321
+
322
+ ### corporate_culture.xml — 企业文化宣传
323
+
324
+ - 17 页 | 色调:dark | 正式度:formal
325
+ - 配色:深炭灰底 `rgba(31,35,41)`,橙红 `rgba(255,104,68)` 强调,浅灰 `rgba(246,246,246)` 内容区
326
+ - 结构:封面 → 前言 → 目录 → [分节页 → 内容]×4 → 结尾
327
+ - 页型索引(建议先读):封面 `1` | 目录 `3` | 分节 `4, 7, 10, 13` | 内容 `2, 5-6, 8-9, 11-12, 14-16` | 结尾 `17`
328
+ - **适用**:企业文化、公司愿景宣传。含前言页、组织架构页,橙红活力色
329
+
330
+ ### annual_gala.xml — 年度盛典
331
+
332
+ - 16 页 | 色调:dark | 正式度:creative
333
+ - 配色:近黑底 `rgba(16,15,21)`,紫蓝青多色渐变 `rgba(210,132,232) → rgba(69,96,245)` 霓虹风
334
+ - 结构:封面 → 目录 → [分节页 → 内容]×6 → 结尾
335
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 5, 7, 9, 11, 13` | 内容 `4, 6, 8, 10, 12, 14-15` | 结尾 `16`
336
+ - **适用**:年会、庆典、颁奖典礼。多彩霓虹渐变,节日庆典感,含 LOGO 占位
337
+
338
+ ---
339
+
340
+ ## personal — 个人
341
+
342
+ ### experience_sharing.xml — 经验分享
343
+
344
+ - 20 页 | 色调:light | 正式度:casual
345
+ - 配色:图片底图,亮蓝 `rgba(52,113,252)` 点缀,毛玻璃白色卡片(alpha=0.7)
346
+ - 结构:封面 → 目录 → 内容×17 → 结尾(含 table 表格页、前后对比布局)
347
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-19` | 结尾 `20`
348
+ - **适用**:经验分享、项目复盘分享。含步骤流程页、数据指标展示、表格
349
+
350
+ ### teaching_sharing.xml — 分享教学
351
+
352
+ - 20 页 | 色调:colorful | 正式度:casual
353
+ - 配色:插画风图片底图,蓝紫 `rgba(128,145,239)` + 暖橙 `rgba(242,170,104)` 双色调
354
+ - 结构:封面 → 目录 → 内容×17 → 结尾(含 Demo 案例、痛点分析、推荐书单)
355
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-19` | 结尾 `20`
356
+ - **适用**:教学分享、技术分享、读书会。温暖蓝橙配色,含 chevron 流程图
357
+
358
+ ### personal_resume.xml — 个人简历
359
+
360
+ - 16 页 | 色调:dark | 正式度:formal
361
+ - 配色:深炭灰图片底图,暖橙 `rgba(253,151,51)` + 霓虹绿 `rgba(76,241,29)` 渐变点缀
362
+ - 结构:封面(含联系方式) → 目录 → [分节页 → 内容]×4 → 结尾
363
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `3, 6, 9, 12` | 内容 `4-5, 7-8, 10-11, 13-15` | 结尾 `16`
364
+ - **适用**:个人简历、求职展示。橙绿双色点缀,含个人信息字段
365
+
366
+ ### promotion_report.xml — 职位晋升汇报
367
+
368
+ - 15 页 | 色调:dark | 正式度:formal
369
+ - 配色:纯黑底 `rgba(3,3,1)`,薰衣草渐变 `rgba(216,216,255) → rgba(171,194,255)` 点缀,白色文字
370
+ - 结构:封面 → 目录 → 内容×12 → 结尾(中英双语标题)
371
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-14` | 结尾 `15`
372
+ - **适用**:晋升汇报、述职报告。暗色稳重 + 薰衣草柔和点缀
373
+
374
+ ### promotion_defense.xml — 晋级答辩
375
+
376
+ - 11 页 | 色调:light | 正式度:formal
377
+ - 配色:白底,亮紫 `rgba(74,58,255)` 点缀
378
+ - 结构:封面 → 目录 → 内容×8 → 结尾(紧凑无分节页)
379
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-10` | 结尾 `11`
380
+ - **适用**:晋级答辩、技术答辩。最精简(11 页),紫色点缀,中英双语
381
+
382
+ ### self_intro.xml — 个人介绍
383
+
384
+ - 11 页 | 色调:colorful | 正式度:casual
385
+ - 配色:暖白底 `rgba(248,247,246)`,5 种彩色(红 `#d83931`、青 `#17b69c`、橙 `#ec914e`、黄 `#fad355`、蓝 `#3347ff`)
386
+ - 结构:封面 → 内容×9 → 结尾(含表格、甜甜圈图表、饼图)
387
+ - 页型索引(建议先读):封面 `1` | 目录 `无` | 分节 `无` | 内容 `2-10` | 结尾 `11`
388
+ - **适用**:个人介绍、设计师作品集。shape 类型最丰富,图表元素多
389
+
390
+ ---
391
+
392
+ ## misc — 其他
393
+
394
+ ### book_sharing.xml — 读书分享
395
+
396
+ - 16 页 | 色调:light | 正式度:casual
397
+ - 配色:白底 + 深橄榄绿侧边栏 `rgba(43,54,44)`,棕褐 `rgba(128,66,8)` 点缀
398
+ - 结构:封面 → 内容×14 → 结尾(中文传统编号:壹贰叁肆)
399
+ - 页型索引(建议先读):封面 `1` | 目录 `无` | 分节 `无` | 内容 `2-15` | 结尾 `16`
400
+ - **适用**:读书分享、文学赏析。文艺复古风,装饰性诗句分隔,中国传统美学
401
+
402
+ ### club_event_plan.xml — 社团活动策划
403
+
404
+ - 15 页 | 色调:dark | 正式度:casual
405
+ - 配色:纯黑底,红色 `rgba(216,57,49)` + 金色 `rgba(219,168,0)` 双色强调
406
+ - 结构:封面 → 目录 → 内容×12 → 结尾(含预算页、应急方案页)
407
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-14` | 结尾 `15`
408
+ - **适用**:活动策划、社团方案。黑红金配色,含预算/应急等实用页面
409
+
410
+ ### student_career_plan.xml — 学生职业规划
411
+
412
+ - 15 页 | 色调:colorful | 正式度:casual
413
+ - 配色:深靛蓝底 `rgba(21,20,87)`,霓虹多彩(品红、青、黄、粉、热粉)
414
+ - 结构:封面 → 目录 → 内容×12 → 结尾(含 SWOT 分析、短/中/长期目标时间线)
415
+ - 页型索引(建议先读):封面 `1` | 目录 `2` | 分节 `无` | 内容 `3-14` | 结尾 `15`
416
+ - **适用**:职业规划、学生汇报。最鲜艳多彩,霓虹风格,含 SWOT 和时间线
417
+
418
+ ---
419
+
420
+ ## 快速匹配索引
421
+
422
+ ### 按场景
423
+
424
+ | 场景关键词 | 推荐模板(优先级从高到低) |
425
+ |-----------|------------------------|
426
+ | 工作汇报/月报/周报 | `office--work_report` > `office--work_summary` > `office--light_general` |
427
+ | 工作总结/年度总结 | `office--work_summary_report` > `office--work_summary` |
428
+ | 季度复盘/OKR | `office--quarterly_review` > `office--work_summary_report` |
429
+ | 部门年度汇报 | `office--dept_annual_report` > `office--work_summary_report` |
430
+ | 项目启动/技术宣讲 | `office--project_kickoff` |
431
+ | 产品介绍/产品发布 | `product--product_intro` > `product--product_analysis` |
432
+ | 产品分析/竞品分析 | `product--product_analysis` |
433
+ | 市场分析/行业报告 | `product--market_analysis` |
434
+ | 商业案例 | `product--business_case_analysis` |
435
+ | 商业计划书/创业 | `marketing--business_plan` > `marketing--roadshow_business_plan` |
436
+ | 融资路演/企业路演 | `marketing--roadshow_business_plan` |
437
+ | 品牌传播/公关 | `marketing--brand_communication` |
438
+ | 营销策略/推广 | `marketing--marketing_strategy` > `marketing--marketing_plan` |
439
+ | 产品白皮书 | `marketing--product_whitepaper` |
440
+ | 品牌运营/年度计划 | `marketing--brand_operations_plan` |
441
+ | 品牌设计/VI | `marketing--brand_logo_design` |
442
+ | 员工培训/制度宣讲 | `hr--employee_training` > `hr--employee_training_workshop` |
443
+ | 新人入职 | `hr--onboarding` |
444
+ | 全员大会/公司大会 | `administration--all_hands_meeting` |
445
+ | 企业介绍/公司宣传 | `administration--company_intro` |
446
+ | 企业文化 | `administration--corporate_culture` |
447
+ | 年会/庆典/颁奖 | `administration--annual_gala` |
448
+ | 经验分享/项目分享 | `personal--experience_sharing` |
449
+ | 教学分享/技术分享 | `personal--teaching_sharing` |
450
+ | 个人简历/求职 | `personal--personal_resume` |
451
+ | 晋升汇报/述职 | `personal--promotion_report` > `personal--promotion_defense` |
452
+ | 个人介绍 | `personal--self_intro` |
453
+ | 读书分享 | `misc--book_sharing` |
454
+ | 活动策划 | `misc--club_event_plan` |
455
+ | 职业规划 | `misc--student_career_plan` |
456
+
457
+ ### 按色调
458
+
459
+ | 色调 | 模板 |
460
+ |------|------|
461
+ | **light** | `office--light_general` ⭐, `office--work_report`, `office--work_summary`, `product--product_analysis`, `marketing--business_plan`, `marketing--roadshow_business_plan`, `marketing--brand_operations_plan`, `marketing--brand_logo_design`, `administration--all_hands_meeting`, `administration--company_intro`, `personal--experience_sharing`, `personal--promotion_defense`, `misc--book_sharing` |
462
+ | **dark** | `office--dark_general` ⭐, `office--work_summary_report`, `office--quarterly_review`, `office--dept_annual_report`, `office--project_kickoff`, `product--market_analysis`, `product--business_case_analysis`, `product--product_promotion`, `marketing--brand_communication`, `marketing--marketing_strategy`, `marketing--marketing_plan`, `hr--employee_training`, `hr--onboarding`, `administration--corporate_culture`, `administration--annual_gala`, `personal--personal_resume`, `personal--promotion_report`, `misc--club_event_plan` |
463
+ | **colorful** | `product--product_intro`, `marketing--product_whitepaper`, `hr--employee_training_workshop`, `personal--self_intro`, `personal--teaching_sharing`, `misc--student_career_plan` |
@@ -0,0 +1,198 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="icon" href="favicon.ico" />
7
+ <title></title>
8
+ <style>
9
+ * {
10
+ box-sizing: border-box;
11
+ padding: 0;
12
+ margin: 0;
13
+ }
14
+
15
+ .open-platform-wrapper {
16
+ display: flex;
17
+ flex-direction: column;
18
+ align-items: center;
19
+ justify-content: center;
20
+ height: 100vh;
21
+ background-color: #ffffff;
22
+ }
23
+
24
+ .open-platform-icon {
25
+ width: 120px;
26
+ height: 120px;
27
+ display: block;
28
+ }
29
+
30
+ .open-platform-desc {
31
+ margin-top: 16px;
32
+ line-height: 22px;
33
+ font-size: 14px;
34
+ color: #646a73;
35
+ text-align: center
36
+ }
37
+
38
+ .open-platform-back {
39
+ border-radius: 6px;
40
+ font-size: 14px;
41
+ height: 32px;
42
+ line-height: 22px;
43
+ min-width: 80px;
44
+ padding: 4px 11px;
45
+ text-align: center;
46
+ text-decoration: none;
47
+ touch-action: manipulation;
48
+ transition: color .1s ease-in, background-color .1s ease-in, border-color .1s ease-in, width .2s ease-in;
49
+ user-select: none;
50
+ white-space: nowrap;
51
+ background: #1456f0;
52
+ border: 1px solid #1456f0;
53
+ color: #ffffff;
54
+ margin-top: 16px;
55
+ }
56
+ </style>
57
+ </head>
58
+ <body>
59
+ <div class="open-platform-wrapper">
60
+ <img class="open-platform-icon"
61
+ src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjkxMyA1NS4yNDRjLTUuNjMyIDIuOTUtOC4yNDYgNi4yODQtOC4yNDYgOS40NHY5LjcyYzAtMy4xNTYgMi42MTQtNi40OSA4LjI0Ni05LjQ0di05LjcyWm05NC4xNjMtMTIuMDg0di05LjcyNmM1LjkzNC0zLjE5IDguOTgxLTYuODkxIDguOTgxLTEwLjcyNXY5LjcyYzAgMy44NC0zLjA0NyA3LjU0My04Ljk4MSAxMC43MzJaIiBmaWxsPSIjMEMyOTZFIi8+PHBhdGggZD0iTTYwLjIyOSAxOS4wNTkgNDguNzMgNDkuOTIyIDYwLjM2NSA3Mi45MmwtOC40NzQgMjMuODczSDE2LjkyM2E0IDQgMCAwIDEtNC00VjIzLjA2YTQgNCAwIDAgMSA0LTRINjAuMjNaIiBmaWxsPSIjQkJCRkM0IiBmaWxsLW9wYWNpdHk9Ii40NSIvPjxwYXRoIGQ9Ik03MS40MDggMTkuMDU5IDYwLjAxMyA0OS45MjIgNzEuNDYgNzIuOTJsLTguMzI1IDIzLjg3M2gzOS45NDNhNCA0IDAgMCAwIDQtNFYyMy4wNmE0IDQgMCAwIDAtNC00aC0zMS42N1oiIGZpbGw9IiNCQkJGQzQiIGZpbGwtb3BhY2l0eT0iLjQ1Ii8+PHBhdGggZD0iTTIxLjkyMyAyNi4xYTIgMiAwIDEgMSAwIDQgMiAyIDAgMCAxIDAtNFptMyAyYTMgMyAwIDEgMC02IDAgMyAzIDAgMCAwIDYgMFptNi45MTUtMmEyIDIgMCAxIDEgMCA0IDIgMiAwIDAgMSAwLTRabTMgMmEzIDMgMCAxIDAtNiAwIDMgMyAwIDAgMCA2IDBabS0xNS43NjMgNy4zOTRhLjUuNSAwIDAgMSAuNS0uNWgzMS41ODFhLjUuNSAwIDAgMSAwIDFIMTkuNTc1YS41LjUgMCAwIDEtLjUtLjVabTQ4LjQ3NyAwYS41LjUgMCAwIDEgLjUtLjVoMzIuNDY1YS41LjUgMCAwIDEgMCAxSDY4LjA1MmEuNS41IDAgMCAxLS41LS41WiIgZmlsbD0iIzhGOTU5RSIvPjxwYXRoIGQ9Ik05OCAxMTFjOS45NDEgMCAxOC04LjA1OSAxOC0xOHMtOC4wNTktMTgtMTgtMThjLTkuOTQyIDAtMTggOC4wNTktMTggMThzOC4wNTggMTggMTggMThaIiBmaWxsPSIjRjgwIi8+PHBhdGggZD0iTTk3LjE4MSA4NC44MThhLjgxOC44MTggMCAwIDAtLjgxOC44MTl2OS44MThjMCAuNDUyLjM2Ni44MTguODE4LjgxOGgxLjYzN2EuODE4LjgxOCAwIDAgMCAuODE4LS44MTh2LTkuODE5YS44MTguODE4IDAgMCAwLS44MTgtLjgxOEg5Ny4xOFptMCAxMy4wOTJhLjgxOC44MTggMCAwIDAtLjgxOC44MTh2MS42MzZjMCAuNDUyLjM2Ni44MTguODE4LjgxOGgxLjYzN2EuODE4LjgxOCAwIDAgMCAuODE4LS44MTh2LTEuNjM2YS44MTguODE4IDAgMCAwLS44MTgtLjgxOUg5Ny4xOFoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNNC4wMjcgODUuMzFjMi40OSA1LjUxIDE0Ljc3IDkuOTQgNDEuNDUgOS45M3Y5LjcyMWMtMjYuNjguMDEtMzguOTYtNC40Mi00MS40NS05Ljkzdi05LjcyWm04NC44MS0yNy4yN2MxNy41Mi0yLjY5IDI1LjgwNy03LjAyNiAyNy4yLTExLjcxdjkuNzJjLS4zMyA0LjY3LTkuNjggOS4wMi0yNy4yIDExLjcxdi05LjcyWiIgZmlsbD0iIzMzNzBGRiIvPjxwYXRoIGQ9Ik04OS4yMzcgMTMuMDFjMTguMDU4IDAgMjYuOCAzLjI1IDI2LjggOS43MnY5LjcyYzAtNi40Ny04Ljc0Mi05LjcyLTI2LjgtOS43MnYtOS43MlptLTg0LjU3IDUxLjdjMCA2LjYgMTEuMzcgMTIuNDUgMzAuNDcgMTIuNDR2OS43MmMtMTkuMSAwLTMwLjQ3LTUuODQtMzAuNDctMTIuNDR2LTkuNzJaIiBmaWxsPSIjMDBENkI5Ii8+PC9zdmc+"
62
+ alt="">
63
+ <div class="open-platform-desc">The page does not exist.</div>
64
+ <a class="open-platform-back" href="/">Go to homepage</a>
65
+ </div>
66
+ <script>window.gfdatav1={"env":"prod","ver":"1.0.0.13","canary":0,"garrModules":null,"envName":"prod","region":"CN","idc":"lf","webServerCodeType":"DeployServerlessWebServer","runtime":"node","extra":{"canaryType":null}}</script><script>
67
+
68
+ function parseQueryString(queryString) {
69
+ // 移除开头的 "?"
70
+ if (queryString.charAt(0) === '?') {
71
+ queryString = queryString.substring(1);
72
+ }
73
+
74
+ var params = {};
75
+ if (!queryString) return params;
76
+
77
+ // 分割参数对
78
+ var paramPairs = queryString.split('&');
79
+
80
+ for (var i = 0; i < paramPairs.length; i++) {
81
+ var paramPair = paramPairs[i].split('=');
82
+ var key = decodeURIComponent(paramPair[0]);
83
+ var value = paramPair.length > 1 ? decodeURIComponent(paramPair[1]) : '';
84
+
85
+ // 处理重复参数(转为数组)
86
+ if (params[key] === undefined) {
87
+ params[key] = value;
88
+ } else if (!Array.isArray(params[key])) {
89
+ params[key] = [params[key], value];
90
+ } else {
91
+ params[key].push(value);
92
+ }
93
+ }
94
+
95
+ return params;
96
+ }
97
+
98
+ function getLocale() {
99
+ var zhLang = 'zh-CN';
100
+ var enLang = 'en-US';
101
+
102
+ var queryLang = parseQueryString(window.location.search).lang;
103
+ var cookieLang = getCookieLocale();
104
+ var lang = enLang;
105
+
106
+ <!--从cookie中取值-->
107
+ function getCookieLocale() {
108
+ var locale = '';
109
+ var cookies = document.cookie.split('; ');
110
+ var loclaeKey = 'open_locale';
111
+
112
+ for (var i = 0; i < cookies.length; i++) {
113
+ var cookie = cookies[i].trim();
114
+ var cookieArr = cookie.split('=');
115
+ if (cookieArr[0] === loclaeKey) {
116
+ locale = cookieArr[1];
117
+ break;
118
+ }
119
+ }
120
+ return locale;
121
+ }
122
+
123
+ function setLocaleCookie(lang) {
124
+ var date = new Date();
125
+ // 300天到期
126
+ date.setTime(date.getTime() + (300 * 24 * 60 * 60 * 1000));
127
+ var expires = 'expires=' + date.toUTCString();
128
+ document.cookie = 'open_locale=' + lang + '; ' + expires + '; path=/;';
129
+ }
130
+
131
+ // 获取浏览器默认语言
132
+ if (navigator.language.indexOf('en') !== -1) {
133
+ lang = enLang;
134
+ } else if (navigator.language.indexOf('zh') !== -1) {
135
+ lang = zhLang;
136
+ }
137
+ if (cookieLang === enLang) {
138
+ lang = enLang;
139
+ } else if (cookieLang === zhLang) {
140
+ lang = zhLang;
141
+ }
142
+ if (queryLang === enLang) {
143
+ lang = enLang;
144
+ } else if (queryLang === zhLang) {
145
+ lang = zhLang;
146
+ }
147
+ // 设置cookie
148
+ setLocaleCookie(lang);
149
+ return lang;
150
+ }
151
+
152
+ // 根据域名获取当前brand
153
+ function isLarkDomain() {
154
+ var defaultBrandMap = {
155
+ lark: ['larksuite'],
156
+ feishu: ['feishu', 'larkoffice', 'larkenterprise'],
157
+ };
158
+ const { hostname } = window.location;
159
+
160
+ if (defaultBrandMap.feishu.some((item) => hostname.includes(item))) {
161
+ return false;
162
+ }
163
+
164
+ if (defaultBrandMap.lark.some((item) => hostname.includes(item))) {
165
+ return true;
166
+ }
167
+
168
+ if (window.domainBrand) {
169
+ return window.domainBrand === 'lark';
170
+ }
171
+
172
+ return false;
173
+ }
174
+
175
+ var isLarkBrand = isLarkDomain();
176
+
177
+ var config = {
178
+ 'zh-CN': {
179
+ 'desc': '抱歉,您访问的页面不存在',
180
+ 'back': '返回首页',
181
+ 'title': (isLarkBrand ? 'Lark' : '飞书') + '开放平台',
182
+ },
183
+ 'en-US': {
184
+ 'desc': 'The page does not exist.',
185
+ 'back': 'Go to homepage',
186
+ 'title': (isLarkBrand ? 'Lark': 'Feishu') + ' Open Platform',
187
+ },
188
+ };
189
+ var locale = getLocale();
190
+ var descObj = document.querySelector('.open-platform-desc');
191
+ var backObj = document.querySelector('.open-platform-back');
192
+ descObj.innerHTML = config[locale].desc;
193
+ backObj.innerHTML = config[locale].back;
194
+ document.title = config[locale].title;
195
+
196
+ </script>
197
+ </body>
198
+ </html>