weaver-work-cli 0.1.24 → 0.1.26

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 (401) hide show
  1. package/README.md +30 -21
  2. package/dist/cmd/root.js +1 -0
  3. package/dist/core/output.js +53 -1
  4. package/dist/core/runtime-agent.js +19 -0
  5. package/dist/internal/e10/auth/commands.js +58 -23
  6. package/dist/internal/e10/auth/crypto.js +52 -12
  7. package/dist/internal/e10/auth/xiaoe.js +145 -53
  8. package/dist/internal/e10/context.js +5 -27
  9. package/dist/shortcuts/archive-oa/constants.js +66 -0
  10. package/dist/shortcuts/archive-oa/continuation.js +70 -0
  11. package/dist/shortcuts/archive-oa/errors.js +53 -0
  12. package/dist/shortcuts/archive-oa/host.js +157 -0
  13. package/dist/shortcuts/archive-oa/index.js +225 -0
  14. package/dist/shortcuts/archive-oa/manifest.js +62 -0
  15. package/dist/shortcuts/archive-oa/operations/borrow-car.js +159 -0
  16. package/dist/shortcuts/archive-oa/operations/borrow-url.js +108 -0
  17. package/dist/shortcuts/archive-oa/operations/confirm.js +48 -0
  18. package/dist/shortcuts/archive-oa/operations/contract.js +120 -0
  19. package/dist/shortcuts/archive-oa/operations/locate.js +50 -0
  20. package/dist/shortcuts/archive-oa/operations/registry.js +40 -0
  21. package/dist/shortcuts/archive-oa/operations/shared.js +181 -0
  22. package/dist/shortcuts/archive-oa/operations/types.js +45 -0
  23. package/dist/shortcuts/archive-oa/operations.js +13 -0
  24. package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
  25. package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
  26. package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
  27. package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
  28. package/dist/shortcuts/index.js +2 -0
  29. package/dist/shortcuts/invoice/host.js +2 -1
  30. package/dist/shortcuts/invoice/manifest.js +111 -0
  31. package/dist/shortcuts/invoice/operations/issuing-qys.js +361 -0
  32. package/dist/shortcuts/invoice/operations/issuing.js +5 -5
  33. package/dist/shortcuts/invoice/operations/registry.js +4 -0
  34. package/dist/shortcuts/workflow/endpoints.js +11 -0
  35. package/dist/shortcuts/workflow/host.js +2 -2
  36. package/dist/shortcuts/workflow/index.js +25 -1
  37. package/dist/shortcuts/workflow/operations/chatscene.js +270 -0
  38. package/dist/shortcuts/workflow/operations/form.js +2128 -244
  39. package/dist/shortcuts/workflow/operations/read.js +186 -41
  40. package/dist/shortcuts/workflow/operations/shared.js +25 -0
  41. package/dist/shortcuts/workflow/operations/sign-input.js +106 -0
  42. package/dist/shortcuts/workflow/operations/write.js +9 -1
  43. package/dist/shortcuts/workflow/stdout-compact.js +41 -0
  44. package/docs/archive-oa.md +79 -0
  45. package/docs/caizhilian.md +4 -3
  46. package/docs/e10-auth.md +13 -5
  47. package/node_modules/@napi-rs/keyring/LICENSE +21 -0
  48. package/node_modules/@napi-rs/keyring/README.md +19 -0
  49. package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
  50. package/node_modules/@napi-rs/keyring/index.js +514 -0
  51. package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
  52. package/node_modules/@napi-rs/keyring/keytar.js +26 -0
  53. package/node_modules/@napi-rs/keyring/package.json +125 -0
  54. package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
  55. package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
  56. package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
  57. package/node_modules/commander/LICENSE +22 -0
  58. package/node_modules/commander/Readme.md +1149 -0
  59. package/node_modules/commander/esm.mjs +16 -0
  60. package/node_modules/commander/index.js +24 -0
  61. package/node_modules/commander/lib/argument.js +149 -0
  62. package/node_modules/commander/lib/command.js +2662 -0
  63. package/node_modules/commander/lib/error.js +39 -0
  64. package/node_modules/commander/lib/help.js +709 -0
  65. package/node_modules/commander/lib/option.js +367 -0
  66. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  67. package/node_modules/commander/package-support.json +16 -0
  68. package/node_modules/commander/package.json +82 -0
  69. package/node_modules/commander/typings/esm.d.mts +3 -0
  70. package/node_modules/commander/typings/index.d.ts +1045 -0
  71. package/package.json +5 -1
  72. package/skill-template/business-info.json +16 -0
  73. package/skill-template/domains/archive-oa.md +19 -0
  74. package/skill-template/domains/yepiaotong.md +2 -2
  75. package/skills/weaver-e10-archive-oa/SKILL.md +159 -0
  76. package/skills/weaver-e10-archive-oa/references/archive-locate.md +49 -0
  77. package/skills/weaver-e10-archive-oa/references/borrow-car.md +76 -0
  78. package/skills/weaver-e10-archive-oa/references/borrow-flow.md +53 -0
  79. package/skills/weaver-e10-archive-oa/references/contract-search.md +63 -0
  80. package/skills/weaver-e10-archive-oa/references/disabled-capabilities.md +29 -0
  81. package/skills/weaver-e10-archive-oa/references/qys-contract-search.md +47 -0
  82. package/skills/weaver-e10-archive-oa/references/source-manifest.json +400 -0
  83. package/skills/weaver-e10-builder/SKILL.md +303 -0
  84. package/skills/weaver-e10-builder/_catalog.md +94 -0
  85. package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
  86. package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
  87. package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
  88. package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
  89. package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
  90. package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  91. package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
  92. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
  93. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
  94. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
  95. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
  96. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
  97. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
  98. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  99. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
  100. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
  101. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
  102. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
  103. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  104. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  105. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  106. package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
  107. package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  108. package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  109. package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  110. package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  111. package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  112. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
  113. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
  114. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  115. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  116. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
  117. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
  118. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  119. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
  120. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
  121. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
  122. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
  123. package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
  124. package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
  125. package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  126. package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
  127. package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
  128. package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
  129. package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
  130. package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  131. package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
  132. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
  133. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
  134. package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
  135. package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
  136. package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
  137. package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
  138. package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
  139. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  140. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  141. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  142. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  143. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  144. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
  145. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  146. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  147. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  148. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
  149. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  150. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  151. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  152. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  153. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  154. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
  155. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  156. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  157. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
  158. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  159. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  160. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  161. package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
  162. package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
  163. package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
  164. package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
  165. package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
  166. package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
  167. package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
  168. package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
  169. package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
  170. package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
  171. package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
  172. package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
  173. package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
  174. package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
  175. package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
  176. package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
  177. package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
  178. package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
  179. package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
  180. package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
  181. package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
  182. package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
  183. package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
  184. package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
  185. package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
  186. package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
  187. package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
  188. package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
  189. package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
  190. package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
  191. package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
  192. package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
  193. package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
  194. package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
  195. package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
  196. package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
  197. package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
  198. package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
  199. package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
  200. package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
  201. package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
  202. package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
  203. package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
  204. package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
  205. package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
  206. package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
  207. package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
  208. package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
  209. package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
  210. package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
  211. package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
  212. package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
  213. package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
  214. package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
  215. package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
  216. package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
  217. package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
  218. package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
  219. package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
  220. package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
  221. package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
  222. package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
  223. package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
  224. package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
  225. package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
  226. package/skills/weaver-e10-builder/assets/icons.db +0 -0
  227. package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
  228. package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
  229. package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
  230. package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
  231. package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
  232. package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
  233. package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
  234. package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
  235. package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
  236. package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
  237. package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
  238. package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
  239. package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
  240. package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
  241. package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
  242. package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
  243. package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
  244. package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
  245. package/skills/weaver-e10-builder/references/common/map.md +153 -0
  246. package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
  247. package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
  248. package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
  249. package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
  250. package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
  251. package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
  252. package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
  253. package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
  254. package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
  255. package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
  256. package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
  257. package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
  258. package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
  259. package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
  260. package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
  261. package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
  262. package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
  263. package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
  264. package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
  265. package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
  266. package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
  267. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
  268. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
  269. package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
  270. package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
  271. package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
  272. package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
  273. package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
  274. package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
  275. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
  276. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
  277. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
  278. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
  279. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
  280. package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
  281. package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
  282. package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
  283. package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
  284. package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
  285. package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
  286. package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
  287. package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
  288. package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
  289. package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
  290. package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
  291. package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
  292. package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
  293. package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
  294. package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
  295. package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
  296. package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
  297. package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
  298. package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
  299. package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
  300. package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
  301. package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
  302. package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
  303. package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
  304. package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
  305. package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
  306. package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
  307. package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
  308. package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
  309. package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
  310. package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
  311. package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
  312. package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
  313. package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
  314. package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
  315. package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
  316. package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
  317. package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
  318. package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
  319. package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
  320. package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
  321. package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
  322. package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
  323. package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
  324. package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
  325. package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
  326. package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
  327. package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
  328. package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
  329. package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
  330. package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
  331. package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
  332. package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
  333. package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
  334. package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
  335. package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
  336. package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
  337. package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
  338. package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
  339. package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
  340. package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
  341. package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
  342. package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
  343. package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
  344. package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
  345. package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
  346. package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
  347. package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
  348. package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
  349. package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
  350. package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
  351. package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
  352. package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
  353. package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
  354. package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
  355. package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
  356. package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
  357. package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
  358. package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
  359. package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
  360. package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
  361. package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
  362. package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
  363. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
  364. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
  365. package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
  366. package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
  367. package/skills/weaver-e10-caizhilian/SKILL.md +43 -16
  368. package/skills/weaver-e10-caizhilian/references/agent-entry.md +7 -3
  369. package/skills/weaver-e10-caizhilian/references/collaboration.md +5 -3
  370. package/skills/weaver-e10-caizhilian/references/document.md +33 -11
  371. package/skills/weaver-e10-caizhilian/references/file-collection.md +4 -3
  372. package/skills/weaver-e10-caizhilian/references/file-upload.md +2 -3
  373. package/skills/weaver-e10-caizhilian/references/files.md +23 -2
  374. package/skills/weaver-e10-caizhilian/references/folder.md +48 -16
  375. package/skills/weaver-e10-caizhilian/references/setting-attach.md +61 -42
  376. package/skills/weaver-e10-caizhilian/references/setting-backup.md +13 -51
  377. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +20 -51
  378. package/skills/weaver-e10-caizhilian/references/setting-storage.md +82 -147
  379. package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
  380. package/skills/weaver-e10-caizhilian/references/withheld.md +20 -44
  381. package/skills/weaver-e10-shared/SKILL.md +24 -18
  382. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +16 -15
  383. package/skills/weaver-e10-shared/references/non-interactive-environment.md +10 -10
  384. package/skills/weaver-e10-workflow/SKILL.md +23 -44
  385. package/skills/weaver-e10-workflow/references/source-manifest.json +40 -25
  386. package/skills/weaver-e10-workflow/references/workflow-create.md +278 -85
  387. package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
  388. package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
  389. package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
  390. package/skills/weaver-e10-yepiaotong/SKILL.md +10 -7
  391. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +49 -1
  392. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +66 -0
  393. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +59 -36
  394. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +54 -509
  395. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +182 -345
  396. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -5
  397. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +153 -345
  398. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +5 -5
  399. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +182 -154
  400. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +96 -0
  401. package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +0 -119
@@ -0,0 +1,191 @@
1
+ {
2
+ "component": "DigitalPanel 数字面板",
3
+ "usage": "用户说「给数字面板的 XX 设样式」→ 按 pickTree 定位到某棵树 → 在树里找语义节点 → 用 id/class 写选择器。只列有 id 或关键 class 的元素,纯布局包裹 div 已省略或合并。",
4
+ "legend": {
5
+ "[cls]": "条件类名,满足条件才出现",
6
+ "{a|b}": "多选一",
7
+ "a > b": "合并两层(中间节点无类名 / 无关键类)",
8
+ "ref": "引用 shared 下的复用片段",
9
+ "<comId>": "组件运行时 id(config.layout.i),挂在引擎外壳那层。官方样式生成器一律以 #<comId> 限域(scope = #<comId>.ebcom),自写样式建议照做",
10
+ "前缀": "ebcoms=本仓库源码(clsPrefix) 与 @weapp/ebdcoms 公用类(AssetsItem) | ebcom=引擎外壳与布局层(@weapp/ebdcoms) | ui=@weapp/ui | 无前缀=源码里的字面量(digital-panel-item 等)"
11
+ },
12
+ "pickTree": "最外三层固定(见 root):引擎外壳 > header + content + footer 三个平级兄弟。header 由 config.titleEnabled 决定(默认 true,所以默认有);footer 由 footerEnabled 决定(默认 false,基本见不到)。组件自己的 DOM 全在 content > .ebcoms-digital-panel 里,只有两种形态:① showmode='single'(一行)→ layout.single;② showmode='multiple'(多行/网格)→ layout.multiple。两种形态下 Item 内部结构完全一致,差异只在根容器类名和 item 的宽度/浮动。item 内部再按「有无图标 / 有无 showDatas / 有无同比环比 / 有无对比标签」分支,见 shared.item。PC 与移动端同构,差异:根多一个 is-mobile、item 多一个 ebcoms-digital-panel-glm、移动端不响应 hover。",
13
+
14
+ "root": {
15
+ "tag": "div",
16
+ "id": "<comId>",
17
+ "class": "ebcom ebcom-digitalpanel [ebcom-m] ebcom-{grid|flow} [ebcom-view|ebcom-design] [has-no-header] [event-action-click] [ebcom-display-none]",
18
+ "desc": "【引擎外壳】由 @weapp/ebdcoms 的 createView / createDesign 渲染,不在本组件源码里。flex 纵列,所以下面固定挂 3 个平级兄弟。type='DigitalPanel' → ebcom-digitalpanel(连写、单数、中间无横线)。它是 GRID 布局组件,外壳自带 position:relative; display:flex; flex-direction:column; border:1px solid var(--border-color); overflow:auto; height:100%",
19
+ "children": [
20
+ {
21
+ "ref": "shared.header",
22
+ "desc": "config.titleEnabled 默认 true → 默认存在;关掉标题后这块整块消失,外壳上只留 has-no-header 状态类"
23
+ },
24
+ {
25
+ "tag": "div",
26
+ "class": "content",
27
+ "desc": "【引擎内容槽】引擎固定追加,组件自己的 DOM 全在它里面,`#<comId> > .content` 可稳定命中。引擎默认 padding:10px 15px; height:100%; overflow:auto; flex:1 1 auto。⚠️ 这是引擎通用类名,一个页面里有很多个 .content,单独用它定位必然串味,必须带 #<comId> 限域。",
28
+ "children": [
29
+ { "ref": "shared.panelRoot", "desc": "组件根容器,唯一的组件自有节点(同级的还有下面的弹窗)" },
30
+ { "ref": "dialogs.dataListDlg", "desc": "条件渲染,与 panelRoot 平级" }
31
+ ]
32
+ },
33
+ { "ref": "shared.footer", "desc": "footerEnabled 默认 false,本组件默认不渲染" }
34
+ ]
35
+ },
36
+
37
+ "shared": {
38
+ "header": {
39
+ "when": "config.titleEnabled=true 且 defaultOpts.render.showHeader 不为 false(本组件没定义这两个,所以只受 titleEnabled 控制)。本组件没有 static renderHeader / renderTitle,100% 走引擎默认实现",
40
+ "chain": "div.header > [div.ebcoms-title-icon[.noBgColor] > div.ebcoms-assets-item] + div.ebcom-title[.ebcom-title-richtext] + [div.ebcoms-header-btns > span > .ebcoms-configurable-btn.{showType} > .default-btn|.hover-btn]",
41
+ "tips": "① 整行改高/去边框打 `.ebcom.ebcom-digitalpanel > .header`(默认 padding:0 20px; min-height/line-height:40px; color:#666; font-size:var(--font-size-lg); font-weight:600; border-bottom:1px solid var(--border-color); flex:0 0 auto)。② 数字面板的默认标题是「标题」(getLabel 56053),图标来自 config.titleIcon,只有 titleIcon.path 有值才渲染 .ebcoms-title-icon。③ 按钮组 .ebcoms-header-btns 只在配置了顶部操作按钮时出现,最多两个 div:竖排=positionType RIGHT,横排=LEFT。④ ⚠️ 引擎用 `&:has(.ebcoms-header-btns)` 把 .ebcom-title 改成 display:inline-block —— 这是「有顶部按钮时给标题加 width 不生效」的原因。⑤ 兼容老结构 `.ebcom-header-wrap > .header`,不确定时两个都覆盖。⑥ 标题文案走 compatible.formatComTitle,可能是富文本,此时多一个 .ebcom-title-richtext,内部是 p 标签。"
42
+ },
43
+
44
+ "footer": {
45
+ "when": "config.footerEnabled=true 且 defaultOpts.render.showFooter 不为 false。数字面板默认 footerEnabled=false,所以正常情况下这块不存在(不是隐藏,是整块没渲染)",
46
+ "chain": "div.footer[内联 style=按钮对齐] > ( 组件 renderFooter,本组件未定义 ) + div.ebcoms-footer-btns > span > ConfigurableButton",
47
+ "tips": "① 默认 height/line-height/min-height:36px; border-top:1px solid var(--border-color); position:relative; display:flex。② ⚠️ 对齐由 JS 内联 style 写在 .footer 上,覆盖要 !important。③ 按钮组有 max-width:100%; height:100%; overflow-x:auto; padding:3px 0,其 > span 是 color:#666; font-size:12px; margin-right:10px(首个 margin-left:10px)。④ ⚠️ 引擎把内部默认按钮透明化:`.ui-btn.ui-btn-default{border-color:transparent;background-color:transparent}`(disabled/hover 各有独立规则),直接改 .ui-btn 会被压掉。⑤ 无权限/未付费时外壳照渲染但内部为空。"
48
+ },
49
+
50
+ "panelRoot": {
51
+ "tag": "div",
52
+ "class": "ebcoms-digital-panel {ebcoms-digital-panel-single|ebcoms-digital-panel-multiple} [is-mobile]",
53
+ "desc": "【组件根容器】common/Content.tsx render 的第一个节点,所有数字项都挂在它下面。内联 style:--ebcoms-digitalPanel-columns=config.columns(列数,供 CSS 取用);PC 且多行时还有 minWidth=90*有效列数(有效列数 counts = min(项数, columns))。",
54
+ "tips": "① is-mobile 无前缀,且与根容器同级(page.client !== 'PC')。② 它本身是 flex 横排、line-height:1.5、z-index:1。③ -single / -multiple 两个类名必有一个,用它区分布局比看别的更稳。④ 已有样式钩子:`.ebcoms-digital-panel .ebcoms-assets-item{margin-right:10px;border-radius:50%}`、`.ebcoms-digital-panel > div{display:flex;align-items:center;padding:20px 10px 20px 20px;flex:1 1 auto;height:100%;transition:background .2s linear}`。",
55
+ "children": [
56
+ { "ref": "shared.item", "desc": "按 store.formatData 顺序重复。⚠️ showHInfo.children 里 display=hide 的项、以及 setHidePanels 传入的下标,是**直接 return null 不渲染**(不是 display:none),会影响 :nth-child 序号" }
57
+ ]
58
+ },
59
+
60
+ "item": {
61
+ "tag": "div",
62
+ "class": "digital-panel-item [ebcoms-digital-panel-glm] [hasClick] [row-start] [row-end] [{panel.customClassName}]",
63
+ "desc": "【单个数字项】90% 的样式需求落在这层。⚠️ digital-panel-item 是源码里的字面量,**没有任何前缀**,别写成 .ebcoms-digital-panel-item。内联 style:多行时 width=100/counts%,单行时 width:auto;另有 CSS 变量 --ebcoms-digitalPanel-icon-color(由 icon 的颜色/填充方式算出,图标与涨跌箭头取色都靠它)。",
64
+ "tips": "① ebcoms-digital-panel-glm 仅移动端。② hasClick = 配了事件动作(eventGroup) 或 systemOption 有值;view/index.less 只在 .hasClick 上做 hover 背景(#f6f6f6),改 hover 效果必须带 .hasClick。③ row-start/row-end 仅多行模式用于清浮动。④ customClassName 只在 panel.customCNFlag 为真时才拼上来。⑤ 点击后引擎的 EventClickable 会给这一层加 ebsdk-bind-dom(并先清掉其他元素上的),可用它做选中态。⑥ ⚠️ EventClickable / CorsComponent 都不产生额外包裹 div——它 clone 了这个 div 只注入 onClick,所以 item 就是根容器的直接子元素。",
65
+ "children": [
66
+ { "ref": "shared.icon" },
67
+ {
68
+ "tag": "div",
69
+ "desc": "【数值+标题列】无类名,只有内联 maxWidth:有图标时 calc(100% - 56px),无图标时 100%。⚠️ 内联样式,想改宽度必须 !important。已有钩子:`.ebcoms-digital-panel > div > div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:39px}`",
70
+ "children": [
71
+ {
72
+ "tag": "span",
73
+ "desc": "无类名,只有内联 color(有图标时取图标色,没图标时固定 #333)。它是 `.ebcoms-digital-panel > div > div > span:first-child` 的落点,已有样式 font-size:var(--font-size-md); font-weight:bold; text-align:center",
74
+ "children": [{ "ref": "shared.data" }]
75
+ },
76
+ {
77
+ "tag": "span",
78
+ "class": "ebcoms-digtial-panel-item-title",
79
+ "desc": "【标题文字】span:nth-child(2)。已有样式 font-size:var(--font-size-sm); min-width:36px; width:100%; text-align:center; 单行省略号(text-overflow:ellipsis + nowrap + overflow:hidden)。"
80
+ },
81
+ {
82
+ "tag": "span",
83
+ "class": "ebcoms-digtial-panel-item-last",
84
+ "desc": "【上一周期值】仅 calcs 里存在 lastCycleVal.isShow 时渲染,span:nth-child(3),已有样式 font-size:12px; font-weight:400。文案 = lastCycleVal.content + calc.compare + panel.unit"
85
+ }
86
+ ]
87
+ }
88
+ ]
89
+ },
90
+
91
+ "icon": {
92
+ "when": "panel.icon.path 有值;没有 path 时整块不渲染(IconEidtor 清空后就会出现这种状态),同时数值列 maxWidth 变成 100%",
93
+ "desc": "【图标】@weapp/ebdcoms 的 AssetsItem(size='md' → 36px 容器)。⚠️ 它是 Loadable,加载完成前 fallback 是空 Fragment,不占位。",
94
+ "tips": "同一个 span 上会同时带 ebcoms-assets-icon 和 ebcoms-assets-item 两个类(AssetsIcon 把 config 传来的 className 直接拼上去了),还带尺寸类 md。.bg 类只在 style 里含 backgroundColor 时才出现——数字面板默认图标带 bgColor(会被 parseIconStyleToCssStyle 转成 backgroundColor),所以通常都带 .bg。已有钩子:`.ebcoms-digital-panel .digital-panel-item .ebcoms-assets-icon img.ui-icon-svg{width:100%;height:100%}`。",
95
+ "branches": [
96
+ {
97
+ "when": "path 以 # 开头(系统图标,如 #Icon-Unfinished-business / #icon-rate-star)→ AssetsIcon 分支",
98
+ "chain": "span.ebcoms-assets-icon.ebcoms-assets-item.md[.bg] > span.ui-icon.ui-icon-wrapper > svg.ui-icon-svg",
99
+ "tips": "① 容器 36px,图标是容器的 66.7%(.bg 时)/ 100%。② path 里的图标名命中 @weapp/ebdcoms 的 ModuleLine / ModuleSurface 分类时改走 @weapp/ui AppIcon(内部是 .ui-app-icon 体系),其余走 IconFont(字体图标)——这两类的内部 DOM 不可控,只把外面这层当挂载点。③ AssetsItem 是按需加载的跨包组件,别假设它一定同步在。"
100
+ },
101
+ {
102
+ "when": "path 不以 # 开头且不以 /svg 结尾 → AssetsImg 分支",
103
+ "chain": "img.ebcoms-assets-img.ebcoms-assets-item.md",
104
+ "tips": "图片图标,样式(含 bgColor 转出的 backgroundColor / radius / 宽高)全部内联在这张 img 上。"
105
+ }
106
+ ]
107
+ },
108
+
109
+ "data": {
110
+ "tag": "span",
111
+ "class": "ebcoms-digtial-panel-item-data [flex]",
112
+ "desc": "【数值区】数字 + 单位 + 计算标签的容器。flex 类 = 配置了 showDatas 多值展示。已有样式:display:flex; position:relative; line-height:25px。⚠️ 类名里的 digtial 是源码拼写错误,全组件都是这么写的。",
113
+ "children": [
114
+ {
115
+ "chain": "span.ebcoms-digtial-panel-item-value > svg[width/height=1.2em] > use[href=#numberLoading]",
116
+ "desc": "【数字加载态】三点闪烁动画。出现条件:数据还没就绪(!(!numberLoading && hasInit))且不是数据延迟加载的占位。",
117
+ "tips": "⚠️ svg 是 <use> 引用,symbol 定义由 common/number-loading 注入到一个 display:none 的 div 里、挂到 #root 下——不在组件 DOM 里,用 #<comId> 限域选不到它,要调动画得打 numberLoading 那个 symbol。"
118
+ },
119
+ {
120
+ "chain": "span.ebcoms-digtial-panel-item-value{数值} + [span.ebcoms-digtial-panel-item-unit{单位}]",
121
+ "desc": "【常规单值】仅 showDatas 为空时渲染。单位没有配置时就没有 item-unit。",
122
+ "tips": "① 官方样式生成器的「数值字体」「单位字体」分别打 .ebcoms-digtial-panel-item-value 和 .ebcoms-digtial-panel-item-unit。② item-unit 已有钩子:font-weight:normal(common/index.less)+ 单行截断(-webkit-line-clamp:1,只有单位有这层截断,数值本身没有)。③ 数值 >999 且是系统项(systemOption)时会显示成 '999+'。④ title 属性 = 数值拼单位。"
123
+ },
124
+ {
125
+ "chain": "div.ebcoms-digtial-panel-item-group > span.ebcoms-digtial-panel-item-value + [span.ebcoms-digtial-panel-item-unit]",
126
+ "desc": "【多值(showDatas)】showDatas.length>0 时每个值一个 group,一行并排(item-group 已有样式 display:inline-flex)。此分支下 item-data 恒带 flex 类。"
127
+ },
128
+ { "ref": "shared.calc" }
129
+ ]
130
+ },
131
+
132
+ "calc": {
133
+ "tag": "sup",
134
+ "class": "[ebcoms-digital-panel-calc-one|ebcoms-digital-panel-calc-more]",
135
+ "desc": "【同比/环比计算区】恒渲染(calcs 为空时 class 是空字符串,元素照样在)。绝对定位到数值右侧(left:100%),one(1 个计算)时 top:-7px,more(多个)时 top:-14px。里面每个 calc 一个 CalcField;countType=NONE 的项自己返回 null。",
136
+ "children": [
137
+ {
138
+ "chain": "div.{ebcoms-digital-panel-calc-up|ebcoms-digital-panel-calc-down|ebcoms-digital-panel-calc-flat}[title=计算说明] > [span.ebcoms-digital-panel-calc-prefix] + [span.ui-icon.ui-icon-wrapper > svg.ui-icon-svg | span{--}] + span.ebcoms-digital-panel-calc-data + [span.ebcoms-digital-panel-calc-suffix]",
139
+ "desc": "【同比/环比 YOYMOM】三个状态类按数值符号选:-up=大于 0(红,var(--danger))、-down=小于 0(绿,var(--success))、-flat=等于 0(灰,var(--invalid-fc))。前缀/后缀是可选 span(-suffix 有 margin-left:5px)。中间的图标是 CountIcon:>0 → Icon-up-arrow04、<0 → Icon-Down-arrow04、=0 或空串 → span{--}(内联 padding:0 2px)、原始值(dataType=origin)且非数字(如 YYYY-MM-DD)→ 不渲染图标。",
140
+ "tips": "① ⚠️ -up 是红、-down 是绿(与国内涨红跌绿一致,别按欧美习惯反着改)。② 官方样式生成器的 YOYMOMIncrease/YOYMOMDecrease/YOYMOMFlat 打的就是这三个类,并且会同时生成一条 `.ebcoms-digital-panel > div > div .ebcoms-digtial-panel-item-data .ebcoms-digital-panel-calc-{up|down|flat} .ui-icon` 去覆盖箭头图标色。"
141
+ },
142
+ { "ref": "shared.comparison" }
143
+ ]
144
+ },
145
+
146
+ "comparison": {
147
+ "when": "calc.countType === COMPARISONTAG(对比标签),与同比环比共用同一个 <sup> 容器",
148
+ "chain": "div.ebcoms-digitalpanel-comparison[style=color] > span.ebcoms-digitalpanel-comparison-content( > span > ui Icon | span{--} | 无 ) + [span{annotation}]",
149
+ "desc": "【对比标签】外层 div 带内联 color:increase=#ff4d4f、decrease=#52c41a、其余=#bbbbbb(iconStyle.style.color 优先)。数值与 percentValue 拼在同一行;annotation 是第二行灰色小字。",
150
+ "tips": "⚠️ 前缀是 digitalpanel 而不是 digital-panel:ebcoms-digitalpanel-comparison / -comparison-content,别写成 ebcoms-digital-panel-comparison。已有样式:-comparison-content 是 inline-block; height/line-height:20px,其 `+ span`(annotation)是 display:block; color:#bbb; line-height:16px; text-align:center。"
151
+ }
152
+ },
153
+
154
+ "layout": {
155
+ "single": {
156
+ "when": "config.showmode = 'single'(一行)。此时 config.columns 只影响根容器上的 --ebcoms-digitalPanel-columns 变量,不产生换行",
157
+ "ref": "shared.panelRoot",
158
+ "tips": "根容器带 ebcoms-digital-panel-single,index.less 有一条 `.ebcoms-digital-panel.ebcoms-digital-panel-single > div.digital-panel-item{height:100% !important; align-items:center !important; justify-content:center}` —— 单行模式下每个 item 都被强制满高居中对齐,改高度/对齐必须 !important。item 宽度是 auto,靠 flex 均分。"
159
+ },
160
+ "multiple": {
161
+ "when": "config.showmode = 'multiple'(多行/网格)",
162
+ "ref": "shared.panelRoot",
163
+ "tips": "根容器带 ebcoms-digital-panel-multiple,index.less 把根改成 display:block,item 改成 float:left + 内联 width:100/counts%;`.row-start{clear:left}` 用来断行。⚠️ 是浮动布局,item 之间调间距用 margin(flex 的 gap 在这里无效)。官方样式生成器的「主题色」是按 `.ebcoms-digital-panel .digital-panel-item:nth-child(i)` 逐项上色的,所以项数与顺序变化会让配色重排。"
164
+ }
165
+ },
166
+
167
+ "dialogs": {
168
+ "dataListDlg": {
169
+ "when": "运行态点击数字项且事件动作是「打开数据列表」(linkInfo.type='dataList');配了字段列表直接开,没配字段列表则先拉 dsUtils.getFields 再开。store.dataListDlgVisible 为真才渲染",
170
+ "desc": "【数据列表弹窗】外部组件 @weapp/ebdlist 的 DataListDlg,id 是一个模块级 UUID(dataListId),不是组件 id。它由 When 包裹,与 shared.panelRoot 平级,都挂在引擎的 .content 里 —— 不是挂 body。",
171
+ "tips": "⚠️ 弹窗内部 DOM 属于 @weapp/ebdlist,本组件不做任何控制,别在这里找类名;要限域只能用 `#<comId> .content` 或它自己的 id。移动端不弹窗,走路由 `${parentPath}/dataList?refComId=<comId>`,参数存在 sessionStorage.dataListProps 与 window.EBUILDER.pageParams 里。"
172
+ }
173
+ },
174
+
175
+ "configPanel": {
176
+ "when": "设计器右侧属性面板(config/Config.tsx → config/stats-panel),只在搭建态出现,与运行态 DOM 无关",
177
+ "chain": "div.ebcoms-digital-panel-config > div > ( SortableItem 的包裹 div > ( div.{ebcoms-dpc-data-element|ebcoms-dpc-collect-element}[.divider] > ( div > 数据源/字段区 + [div.ebcoms-dpc-data-element-bottom > .ebcoms-digital-icon-editor + div > LocaleEx + EventsActionBtn] ) + div.ops-group ) ) + div.ebcoms-digital-panel-config-add > ui Menu(overlayClassName=ebcoms-dpc-drop-menu)",
178
+ "tips": "① statType='data' → ebcoms-dpc-data-element;'collect'(系统项)→ ebcoms-dpc-collect-element。② needDivider(非第一项)才加 .divider(padding-top:15px + 上边框)。③ 图标编辑区类名统一是 .ebcoms-digital-icon-editor(作为 className 传给 @weapp/ebdcoms 的 IconEidtor)。④ 显示模式单选在 .ebcoms-digital-panel-columns 里(ui Radio)。⑤ 每项右侧的切换/删除按钮在 div.ops-group(无前缀)里。"
179
+ },
180
+
181
+ "notes": [
182
+ "【最容易写错的类名】① 拼写是 digtial(源码把 digital 写错了),全套:ebcoms-digtial-panel-item-data / -item-value / -item-unit / -item-group / -item-title / -item-last —— 只有 ebcoms-digital-panel(容器)和 ebcoms-digital-panel-calc-*(计算)是真 digital。② digital-panel-item、is-mobile、hasClick、row-start、row-end、flex、divider、ops-group、content / header / footer 全部无前缀。③ 对比标签前缀是 digitalpanel(ebcoms-digitalpanel-comparison),少一个横线。④ 外壳是 ebcom-digitalpanel(连写),不是 ebcom-digital-panel。",
183
+ "【两个同名/近名陷阱】引擎的 .content(无前缀,组件 DOM 的容器)≠ 组件根 .ebcoms-digital-panel;ebcom-digitalpanel(外壳)≠ ebcoms-digital-panel(组件根)——一个是 ebcom、一个是 ebcoms,肉眼极易混。",
184
+ "【引擎自动加的修饰类】`.has-no-header`(titleEnabled=false 或 renderHeader 存在时)、`.event-action-click > .content{cursor:pointer}`(配了点击事件动作)、`.ebcom-display-none`(被事件动作隐藏时引擎加的,同时内联 display:none)。⚠️ 本组件**不会**出现 content-no-padding(defaultOpts 里没定义 padding),padding:0 是 view/index.less 里 `.ebcom-digitalpanel.ebcom-digitalpanel > .content{padding:0;overflow:auto}` 打进去的——想把内边距加回来要覆盖这条,而不是找 content-no-padding。",
185
+ "【官方样式生成器(common/getPanelStyles.ts)的选择器清单】它把所有 CSS 作用域写成 `#<comId>.ebcom`,产物挂在 `#<comId> .comStyle` / `.comCodeSource` / `.comCodeOld` 三组上。原样清单:容器背景 `.content .ebcoms-digital-panel`;主题色 `.ebcoms-digital-panel .digital-panel-item:nth-child(i)`(按 panels 顺序对 subjectColor 取模循环);图标 `.content .ebcoms-assets-item .ui-icon-svg`、`.content .ebcoms-assets-item.bg .ui-icon-svg`、`.content .ebcoms-assets-item`;字体 `.ebcoms-digital-panel .ebcoms-digtial-panel-item-value|item-unit|item-title|item-last`;涨跌 `.ebcoms-digital-panel .ebcoms-digital-panel-calc-up|flat|down` 以及 `.ebcoms-digital-panel > div > div .ebcoms-digtial-panel-item-data .ebcoms-digital-panel-calc-* .ui-icon`。自写样式沿用同一套即可被「自定义 CSS」吸收。",
186
+ "【自带 CSS 变量】根容器上有 --ebcoms-digitalPanel-columns(=config.columns)与 --ebcoms-digitalPanel-icon-color(=图标颜色,hexToRgb 后的值),item 上继承。调图标色/列宽优先改这两个变量,比覆写一堆选择器稳。",
187
+ "【已有但用不上的样式钩子(别照着写)】`.ebcoms-digital-panel-loading`、`.ebcoms-digtial-panel-item-hide`、`.ebcoms-digital-panel-calc`(纯组,源码从没挂过)只定义在 view/index.less 里,没有任何元素带这些类。另有一条 `.ebcoms-digital-panel .is-mobile{...}` 因为 is-mobile 与根容器是同一个元素(不是后代)而永远不生效——移动端去 hover 要写 `.ebcoms-digital-panel.is-mobile`。",
188
+ "【移动端与 RTL】移动端:根加 is-mobile、item 加 ebcoms-digital-panel-glm,并且 index.less 会把 .hasClick 的 hover/active 背景强制 transparent(但受上面那条失效规则影响,实际靠 !important 的写法也没生效,改移动端 hover 直接覆盖 .hasClick 即可)。RTL:`body[page-rtl='true'] .ebcoms-digtial-panel-item-data{transform:scaleX(-1)}`,item-value / item-unit 又被 transform:none 还原,calc-one 再翻一次。",
189
+ "【反查源码】本组件 → common/Content.tsx(引擎对接 + 根容器 + 弹窗 + 取数)、common/PanelItem.tsx(数字项全部 DOM + CountIcon)、common/calc-field/{YOYMOM,Comparison}.tsx(同比环比 / 对比标签)、common/number-loading/(三点动画 symbol 注入)、common/getPanelStyles.ts(官方样式生成器)、view/index.less + common/index.less(全部已有样式)、view/View.tsx + design/Design.tsx + design-m/Design.tsx(出入口与 defaultProps)、config/stats-panel/(属性面板)。@weapp/ui → D:\\fwCode\\weapp-ui(Icon=ui-icon/ui-icon-svg、AppIcon=ui-app-icon、CorsComponent 不产生 DOM)。引擎(外壳 / header / content / footer / 按钮)→ D:\\fwCode\\weapp-ebdcoms/src/components/core/:view/createView.tsx、design/common.less、utils/comp.ts(getClassName → ebcom-<type>)、common/assets-lib/assets-item/{Item,Icon,Img}.tsx(图标 DOM)、common/event-action/event-click/EventClickable.tsx(clone 不包裹,加了 ebsdk-bind-dom)。"
190
+ ]
191
+ }
@@ -0,0 +1,387 @@
1
+ {
2
+ "component": "eb-button EB按钮组件",
3
+ "usage": "先看 btnKind 字段确定按钮形态:btn=普通按钮 / levelBtnGroup=层级按钮组 / tileBtnGroup=平铺按钮组。层级按钮组进一步区分 renderType(menu=图标菜单,其他=标准下拉)和 mobileShowType(移动端 default=Menu下拉,其他=遮罩Carousel)。找到对应分支后,通过条件class速查表定位元素编写样式。",
4
+ "legend": {
5
+ "[className]": "条件class,满足业务条件才挂载",
6
+ "{a|b}": "二选一class,编译后为联合类型",
7
+ "ref:shared.xxx": "引用 shared 中定义的复用片段,避免重复书写",
8
+ "uncontrolled": "外部组件(@weapp/ui)渲染,仅知道挂载点"
9
+ },
10
+ "pickTree": "1. btnKind 分支:btn / levelBtnGroup / tileBtnGroup\n2. levelBtnGroup 再看:renderType==='menu' → levelBtnGroup-pc-menu;否则 → levelBtnGroup-pc 或 levelBtnGroup-mobile\n3. levelBtnGroup-mobile 再看 mobileShowType:'default' → Menu下拉弹层;其他 → 遮罩 + Carousel\n4. tileBtnGroup 无 PC/Mobile 独立文件,共用 TileBtnGroupContent.tsx,通过 InMobile prop 切换子元素 class 和外壳",
11
+
12
+ "root": {
13
+ "tag": "div",
14
+ "class": ["ebcom-ebbutton-group-wrapper"],
15
+ "desc": "组件最外层引擎外壳 div(btn装饰态、levelBtnGroup、tileBtnGroup 均用此外壳 class)",
16
+ "children": []
17
+ },
18
+
19
+ "shared": {
20
+ "btnContent": {
21
+ "desc": "普通按钮内部内容片段(图标+文字+加载态)",
22
+ "chain": "span.ui-btn-content > Spin.ebcoms-ebbutton-spin.btn? + span.ui-btn-content-text | AssetsItem | (leftIcon + span.ui-btn-content-text + rightIcon)",
23
+ "tips": [
24
+ "display='name' 仅文字;'icon' 仅图标;'both' 图标+文字",
25
+ "position 决定图标 left/right 侧",
26
+ "无 btnIcon 或 design 态会渲染默认图标"
27
+ ]
28
+ },
29
+ "levelBtnContent": {
30
+ "desc": "层级/平铺主按钮内部内容片段",
31
+ "chain": "span.ebcoms-eb-button-group-content > (Spin.ebcoms-ebbutton-spin.main | AssetsItem)? + span.ebcoms-eb-button-cover-list-item-text + (rightPos Icon)?",
32
+ "tips": [
33
+ "tileBtnGroup 主按钮还额外渲染 div.ebcoms-eb-button-has-children",
34
+ "levelBtnGroup 有 otherAction 时父级 sibling 是 span.ebcoms-eb-button-group-content-otherAction"
35
+ ]
36
+ },
37
+ "subBtnContent": {
38
+ "desc": "下拉菜单项 / 平铺子菜单的内部内容片段",
39
+ "chain": "(div.ebcoms-eb-button-cover-list-item | div.ebcoms-eb-button-level-submenu-item) > (Spin.ebcoms-ebbutton-spin.sub | AssetsItem)? + span.ebcoms-eb-button-cover-list-item-text + (rightPos Icon)?",
40
+ "tips": [
41
+ "有 btnIcon 时:图标+文字;无 btnIcon 时:仅文字+loading态Spin",
42
+ "position 由 subIconPosition / subiconPosition 决定"
43
+ ]
44
+ },
45
+ "tileSheetBtnContent": {
46
+ "desc": "移动端遮罩弹层栅格按钮内容(垂直布局)",
47
+ "chain": "div.ebcoms-eb-button-group-m-sheet-item > (div.ebcoms-eb-button-cover-list-item-icon? + div.ebcoms-eb-button-cover-list-item-text + div.ebcoms-eb-button-cover-list-item-icon?)",
48
+ "tips": [
49
+ "onlyIcon 模式下只渲染 icon",
50
+ "position 决定 top/bottom 布局"
51
+ ]
52
+ },
53
+ "state": {
54
+ "desc": "JS运行时动态追加的class(不在初始render输出,交互时由组件setState触发)",
55
+ "list": [
56
+ {
57
+ "condition": "config.isDecoratedBtn===true",
58
+ "targetSelector": ".ui-btn.ebcoms-ebbutton-btn",
59
+ "addClass": "new-decorate",
60
+ "note": "装饰按钮,有自定义padding/border"
61
+ },
62
+ {
63
+ "condition": "config.size==='custom'",
64
+ "targetSelector": ".ui-btn.ebcoms-ebbutton-btn, .ebcom-ebbutton-group-wrapper",
65
+ "addClass": "is-custom-size"
66
+ },
67
+ {
68
+ "condition": "status==='disable' 或 btnStatus==='disable'",
69
+ "targetSelector": ".ui-btn.ebcoms-ebbutton-btn",
70
+ "addClass": "disabled",
71
+ "note": "按钮禁用态"
72
+ },
73
+ {
74
+ "condition": "btnStatus==='loading'",
75
+ "targetSelector": ".ui-btn.ebcoms-ebbutton-btn, .ebcoms-eb-button-group-wrapper, .ebcoms-eb-button-group-layout",
76
+ "addClass": "loading",
77
+ "note": "加载态,可能在按钮或外壳上"
78
+ },
79
+ {
80
+ "condition": "btnStatus==='selected'",
81
+ "targetSelector": ".ui-btn.ebcoms-ebbutton-btn",
82
+ "addClass": "selected"
83
+ },
84
+ {
85
+ "condition": "样式库自定义样式生效 (inCustomClassName state=true)",
86
+ "targetSelector": ".ebcoms-ebbutton",
87
+ "addClass": "inCustomEBButtonStyle",
88
+ "note": "去除默认 ui-btn:before 覆盖层"
89
+ },
90
+ {
91
+ "condition": "showExpandIcon===true",
92
+ "targetSelector": ".ebcoms-eb-button-group",
93
+ "addClass": "showExpandIcon",
94
+ "note": "主按钮与展开图标分离显示"
95
+ },
96
+ {
97
+ "condition": "主按钮 btnGroupDisabled===true",
98
+ "targetSelector": ".ebcoms-eb-button-group, .ebcoms-eb-button-level-main-btnOuter",
99
+ "addClass": "btnGroupDisabled / disabled"
100
+ },
101
+ {
102
+ "condition": "子按钮有 children",
103
+ "targetSelector": ".ebcoms-eb-button-group-menu-item",
104
+ "addClass": "hasChild"
105
+ },
106
+ {
107
+ "condition": "otherAction 图标悬停",
108
+ "targetSelector": ".ebcoms-eb-button-otherActionIcon",
109
+ "addClass": "isHover"
110
+ },
111
+ {
112
+ "condition": "tileBtnGroup 有 subBtnGroup",
113
+ "targetSelector": ".ebcoms-eb-button-level-main",
114
+ "addClass": "hasmore"
115
+ },
116
+ {
117
+ "condition": "tileBtnGroup mainBtnGroup.length===0",
118
+ "targetSelector": ".ebcoms-eb-button-level-main, .ebcoms-eb-button-level-menu",
119
+ "addClass": "only-more"
120
+ },
121
+ {
122
+ "condition": "config.filled===true",
123
+ "targetSelector": ".ebcoms-eb-button-level, .ebcoms-eb-button-level-m",
124
+ "addClass": "filled"
125
+ },
126
+ {
127
+ "condition": "tileBtnGroup subBtnGroup.length>0",
128
+ "targetSelector": ".ebcoms-eb-button-level, .ebcoms-eb-button-level-m",
129
+ "addClass": "hasMoreBtn"
130
+ },
131
+ {
132
+ "condition": "更多菜单前有主按钮",
133
+ "targetSelector": ".ebcoms-eb-button-level-menu",
134
+ "addClass": "hasbtn",
135
+ "note": "有主按钮时取消更多菜单左圆角"
136
+ },
137
+ {
138
+ "condition": "平铺主按钮无子菜单",
139
+ "targetSelector": ".ebcoms-eb-button-level-main-btnOuter",
140
+ "addClass": "noSub",
141
+ "note": "隐藏右侧下拉箭头"
142
+ },
143
+ {
144
+ "condition": "customStyle 指定主题色",
145
+ "targetSelector": ".ebcoms-eb-button-level-main-btnOuter, .ebcoms-eb-button-level-menu, .ebcoms-eb-button-level-submenu, .ebcoms-eb-button-group-m-menu-mask",
146
+ "addClass": "primary | success | warning | danger"
147
+ },
148
+ {
149
+ "condition": "tileBtnGroup 子按钮 hasBorder && tileMainBtnShowSplit",
150
+ "targetSelector": ".ebcoms-eb-button-level-main-btnOuter-split",
151
+ "addClass": "(渲染此分割线div)",
152
+ "note": "本身是一个渲染的div元素,不是class"
153
+ }
154
+ ]
155
+ }
156
+ },
157
+
158
+ "branches": {
159
+ "btn-pc": {
160
+ "when": "PC环境 + btnKind==='btn' 或未配置 + isDecoratedBtn=true",
161
+ "root": {
162
+ "tag": "div",
163
+ "id": "<comId>",
164
+ "class": ["ebcom-ebbutton-group-wrapper", "ebcoms-eb-button-group-layout"],
165
+ "conditionalClass": ["is-custom-size", "ebcom", "has-basic-style"],
166
+ "desc": "装饰按钮(有外壳div)。hoverTipSelect!=='none' 时外壳内先包一层 Popover 再包 Button;hoverTipSelect==='none' 时外壳内直接是 Button",
167
+ "children": [
168
+ {
169
+ "type": "uncontrolled",
170
+ "desc": "@weapp/ui Popover tooltip弹层",
171
+ "tips": [
172
+ "className: ebcoms-ebbutton-popover",
173
+ "hoverTipSelect === 'none' 时此层不存在"
174
+ ]
175
+ },
176
+ {
177
+ "tag": "button",
178
+ "class": ["ui-btn", "ebcoms-ebbutton-btn", "ebcoms-eb-button-group-layout"],
179
+ "conditionalClass": ["is-custom-size", "disabled", "new-decorate", "inCustomEBButtonStyle", "selected", "loading"],
180
+ "desc": "@weapp/ui Button 组件",
181
+ "children": ["ref:shared.btnContent"]
182
+ }
183
+ ]
184
+ },
185
+ "absent": []
186
+ },
187
+
188
+ "btn-pc-plain": {
189
+ "when": "PC环境 + btnKind==='btn' 或未配置 + isDecoratedBtn=false",
190
+ "root": {
191
+ "tag": "button",
192
+ "id": "<comId>",
193
+ "class": ["ui-btn", "ebcoms-ebbutton-btn", "ebcoms-eb-button-group-layout"],
194
+ "conditionalClass": ["is-custom-size", "disabled", "new-decorate", "inCustomEBButtonStyle", "selected", "loading"],
195
+ "desc": "@weapp/ui Button 组件,无外壳直接渲染",
196
+ "children": ["ref:shared.btnContent"]
197
+ },
198
+ "absent": []
199
+ },
200
+
201
+ "btn-mobile": {
202
+ "when": "移动端 + btnKind==='btn' 或未配置",
203
+ "root": {
204
+ "tag": "button",
205
+ "id": "<comId>",
206
+ "class": ["ui-btn", "ebcoms-ebbutton-btn", "eb-button-m-content"],
207
+ "conditionalClass": ["is-custom-size", "disabled", "new-decorate", "inCustomEBButtonStyle", "selected", "loading"],
208
+ "desc": "移动端普通按钮(固定带 eb-button-m-content class)",
209
+ "children": ["ref:shared.btnContent"]
210
+ },
211
+ "absent": ["ebcoms-eb-button-group-layout"]
212
+ },
213
+
214
+ "levelBtnGroup-pc": {
215
+ "when": "PC环境 + btnKind==='levelBtnGroup' + renderType !== 'menu'(标准下拉样式)",
216
+ "root": {
217
+ "tag": "div",
218
+ "id": "<comId>",
219
+ "class": ["ebcom-ebbutton-group-wrapper", "ebcoms-eb-button-group"],
220
+ "conditionalClass": ["showExpandIcon", "btnGroupDisabled", "loading"],
221
+ "desc": "层级按钮组 PC端 标准下拉",
222
+ "children": [
223
+ {
224
+ "tag": "div",
225
+ "class": ["ebcoms-eb-button-group-layout"],
226
+ "desc": "布局容器",
227
+ "children": [
228
+ {
229
+ "type": "uncontrolled",
230
+ "desc": "@weapp/ui Menu 组件",
231
+ "tips": [
232
+ "overlayClassName: ebcoms-eb-button-cover-container + <comId> + customStyle",
233
+ "showExpandIcon=false → selectType='normal',主按钮在 customSelectContent 内",
234
+ "showExpandIcon=true → selectType='btn',主按钮在 customBtn 内",
235
+ "triggerProps.popupClassName: ebcoms-eb-button-cover-trigger + (empty 时附加 empty)",
236
+ "主按钮 Button class: ebcoms-eb-button-group-mainBtn",
237
+ "主按钮内容容器: ebcoms-eb-button-group-select-content",
238
+ "菜单项核心 class: ebcoms-eb-button-group-menu-item + ebcoms-eb-button-cover-list-item",
239
+ "菜单项 otherAction 图标区域: ebcoms-eb-button-otherActionIcon",
240
+ "菜单项 has-children 标记: ebcoms-eb-button-has-children",
241
+ "菜单项右侧 end 区域: ebcoms-eb-button-group-menu-item-end"
242
+ ]
243
+ }
244
+ ]
245
+ }
246
+ ]
247
+ },
248
+ "absent": []
249
+ },
250
+
251
+ "levelBtnGroup-pc-menu": {
252
+ "when": "PC环境 + btnKind==='levelBtnGroup' + renderType === 'menu'(样式库指定的图标菜单样式)",
253
+ "root": {
254
+ "tag": "div",
255
+ "id": "<comId>",
256
+ "class": ["ebcom-ebbutton-group-wrapper"],
257
+ "desc": "层级按钮组 PC端 图标菜单样式",
258
+ "children": [
259
+ {
260
+ "tag": "div",
261
+ "class": ["ebcoms-eb-button-group-layout"],
262
+ "conditionalClass": ["loading"],
263
+ "desc": "布局容器",
264
+ "children": [
265
+ {
266
+ "type": "uncontrolled",
267
+ "desc": "@weapp/ui Menu 组件 (selectType='iconOverlay')",
268
+ "tips": [
269
+ "selectIcon: div.ebcoms-btn-group-menu-selectIcon [loading] > Popover > div.ebcoms-btn-group-menu [onlyicon|icon-right]",
270
+ "ebcoms-btn-group-menu 内部结构: (rightPos 文字) + Spin/Icon + (leftPos 文字) + span.ebcoms-btn-group-menu-otherAction?",
271
+ "菜单项与 levelBtnGroup-pc 相同",
272
+ "overlayClassName: ebcoms-btn-group-menu-select-overlay + <comId>",
273
+ "subGroupBtnPosition==='right' 时 selectOverlay 附加 ebcoms-btn-group-menu-select-overlay-right"
274
+ ]
275
+ }
276
+ ]
277
+ }
278
+ ]
279
+ },
280
+ "absent": ["ebcoms-eb-button-group"]
281
+ },
282
+
283
+ "levelBtnGroup-mobile": {
284
+ "when": "移动端 + btnKind==='levelBtnGroup'",
285
+ "root": {
286
+ "tag": "div",
287
+ "id": "<comId>",
288
+ "class": ["ebcoms-eb-button-group-m", "ebcoms-eb-button-group-layout", "ebcoms-eb-button-content"],
289
+ "conditionalClass": ["loading"],
290
+ "desc": "层级按钮组 移动端",
291
+ "children": [
292
+ {
293
+ "type": "uncontrolled",
294
+ "desc": "mobileShowType==='default': @weapp/ui Menu (className: ebcoms-eb-button-group-m-menu, overlayClassName: ebcoms-eb-button-group-m-menu-sub)",
295
+ "tips": [
296
+ "主按钮 Button class: ebcoms-eb-button-group-m-menu-mainBtn",
297
+ "菜单项 class: ebcoms-eb-button-level-submenu-item",
298
+ "菜单项无 hoverTip(移动端不显示 tooltip)",
299
+ "菜单项子级弹层 overlayClassName: ebcoms-eb-button-group-m-menu-sub + customStyle",
300
+ "另一种 mobileShowType 模式: 额外渲染遮罩层 div.ebcoms-eb-button-group-m-menu-mask + MCarousel 栅格",
301
+ "遮罩层 mask 有主题色 primary/success/warning/danger class",
302
+ "遮罩内栅格按钮 class: ebcoms-eb-button-group-m-sheet-item [hasBorder|disabled]"
303
+ ]
304
+ }
305
+ ]
306
+ },
307
+ "absent": ["ebcom-ebbutton-group-wrapper", "ebcoms-eb-button-group", "Popover tooltip"]
308
+ },
309
+
310
+ "tileBtnGroup": {
311
+ "when": "btnKind==='tileBtnGroup' (PC/Mobile 共用 TileBtnGroupContent.tsx,通过 InMobile prop 切换)",
312
+ "root": {
313
+ "tag": "div",
314
+ "id": "<comId>",
315
+ "class": ["ebcoms-eb-button-level", "ebcom-ebbutton-group-wrapper"],
316
+ "conditionalClass": ["filled", "hasMoreBtn"],
317
+ "desc": "平铺按钮组 PC端外壳。移动端外壳 class 替换为 ebcoms-eb-button-level-m",
318
+ "children": [
319
+ {
320
+ "tag": "div",
321
+ "class": ["ebcoms-eb-button-group-layout"],
322
+ "desc": "布局容器",
323
+ "children": [
324
+ {
325
+ "tag": "div",
326
+ "class": ["ebcoms-eb-button-level-main"],
327
+ "conditionalClass": ["hasmore", "only-more"],
328
+ "desc": "主按钮区域容器(可包含多个主按钮)",
329
+ "children": [
330
+ {
331
+ "tag": "div",
332
+ "class": ["ebcoms-eb-button-level-main-btnOuter"],
333
+ "conditionalClass": ["noSub", "disabled", "loading", "primary", "success", "warning", "danger"],
334
+ "desc": "单个主按钮外壳(数组 map 渲染)",
335
+ "children": [
336
+ {
337
+ "tag": "span",
338
+ "desc": "span > Menu.ui-btn (PC端) 或 Menu.ebcoms-eb-button-level-main-btn (移动端)",
339
+ "children": ["ref:shared.levelBtnContent"]
340
+ },
341
+ {
342
+ "tag": "div",
343
+ "class": ["ebcoms-eb-button-level-main-btnOuter-split"],
344
+ "desc": "按钮间分割线,仅 tileMainBtnShowSplit && item.hasBorder 时渲染",
345
+ "children": []
346
+ }
347
+ ]
348
+ }
349
+ ]
350
+ },
351
+ {
352
+ "type": "uncontrolled",
353
+ "desc": "@weapp/ui Menu 更多按钮",
354
+ "tips": [
355
+ "className: ebcoms-eb-button-level-menu.ui-menu",
356
+ "conditionalClass: hasbtn | only-more | primary | success | warning | danger",
357
+ "overlayClassName: ebcoms-eb-button-level-submenu (PC) 或 ebcoms-eb-button-level-submenu-m (Mobile) + customStyle",
358
+ "子菜单项核心 class: ebcoms-eb-button-level-submenu-item",
359
+ "子菜单项 loading/disabled 也是条件class",
360
+ "更多按钮无 Popover tooltip(hoverTipSelect==='none')",
361
+ "移动端:子菜单 action='click';PC端:action='hover'"
362
+ ]
363
+ }
364
+ ]
365
+ }
366
+ ]
367
+ },
368
+ "diffs": [
369
+ "移动端外壳 class 为 ebcoms-eb-button-level-m",
370
+ "移动端 Menu className 为 ebcoms-eb-button-level-main-btn 而非 ui-btn",
371
+ "移动端子菜单弹层 overlayClassName 为 ebcoms-eb-button-level-submenu-m 而非 ebcoms-eb-button-level-submenu"
372
+ ],
373
+ "absent": []
374
+ }
375
+ },
376
+
377
+ "notes": [
378
+ "组件大量依赖 @weapp/ui 的 Button / Menu / Popover / Spin / Icon / AssetsItem,这些组件内部DOM不在eb-button控制范围内,但eb-button通过class来自定义样式",
379
+ "AssetsItem 是 @weapp/ui 的资源图标组件,外层 class 为 ebcoms-assets-item,内部渲染 svg/img",
380
+ "Spin 是加载态旋转图标组件,外层 class 含 ebcoms-ebbutton-spin,后续有位置修饰符 (btn|main|sub|levelBtn)",
381
+ "clsPrefix='ebcoms', ebcomPrefix='ebcom',两者生成的 class 前缀不同,注意区分",
382
+ "hoverTipSelect==='none' 时普通按钮没有 Popover 包裹,层级组菜单项 tooltip 也会隐藏",
383
+ "样式库的 id 决定了是否走 levelBtnGroup-pc-menu (renderType='menu') 分支",
384
+ "tileBtnGroup 的 tileMainBtnShowSplit 由 defaultStyle.dfColorBd==='transparent' 或特定样式库 id 控制",
385
+ "otherAction 是按钮主操作旁的副操作按钮,有独立 icon 和事件,在 PC 层级组中表现为文字旁边的小图标区域"
386
+ ]
387
+ }