weaver-work-cli 0.1.24 → 0.1.25

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 (337) hide show
  1. package/README.md +10 -1
  2. package/dist/core/output.js +53 -1
  3. package/dist/internal/e10/auth/commands.js +17 -2
  4. package/dist/internal/e10/auth/crypto.js +52 -12
  5. package/dist/internal/e10/auth/xiaoe.js +112 -39
  6. package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
  7. package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
  8. package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
  9. package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
  10. package/dist/shortcuts/workflow/index.js +55 -1
  11. package/dist/shortcuts/workflow/operations/form.js +1252 -109
  12. package/dist/shortcuts/workflow/operations/read.js +75 -35
  13. package/dist/shortcuts/workflow/operations/shared.js +25 -0
  14. package/dist/shortcuts/workflow/stdout-compact.js +33 -0
  15. package/docs/caizhilian.md +4 -3
  16. package/docs/e10-auth.md +8 -1
  17. package/node_modules/@napi-rs/keyring/LICENSE +21 -0
  18. package/node_modules/@napi-rs/keyring/README.md +19 -0
  19. package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
  20. package/node_modules/@napi-rs/keyring/index.js +514 -0
  21. package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
  22. package/node_modules/@napi-rs/keyring/keytar.js +26 -0
  23. package/node_modules/@napi-rs/keyring/package.json +125 -0
  24. package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
  25. package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
  26. package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
  27. package/node_modules/commander/LICENSE +22 -0
  28. package/node_modules/commander/Readme.md +1149 -0
  29. package/node_modules/commander/esm.mjs +16 -0
  30. package/node_modules/commander/index.js +24 -0
  31. package/node_modules/commander/lib/argument.js +149 -0
  32. package/node_modules/commander/lib/command.js +2662 -0
  33. package/node_modules/commander/lib/error.js +39 -0
  34. package/node_modules/commander/lib/help.js +709 -0
  35. package/node_modules/commander/lib/option.js +367 -0
  36. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  37. package/node_modules/commander/package-support.json +16 -0
  38. package/node_modules/commander/package.json +82 -0
  39. package/node_modules/commander/typings/esm.d.mts +3 -0
  40. package/node_modules/commander/typings/index.d.ts +1045 -0
  41. package/package.json +5 -1
  42. package/skills/weaver-e10-builder/SKILL.md +281 -0
  43. package/skills/weaver-e10-builder/_catalog.md +94 -0
  44. package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
  45. package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
  46. package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
  47. package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
  48. package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
  49. package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  50. package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
  51. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
  52. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
  53. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
  54. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
  55. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
  56. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
  57. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  58. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
  59. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
  60. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
  61. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
  62. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  63. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  64. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  65. package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
  66. package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  67. package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  68. package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  69. package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  70. package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  71. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
  72. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
  73. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  74. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  75. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
  76. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
  77. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  78. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
  79. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
  80. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
  81. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
  82. package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
  83. package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
  84. package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  85. package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
  86. package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
  87. package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
  88. package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
  89. package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  90. package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
  91. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
  92. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
  93. package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
  94. package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
  95. package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
  96. package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
  97. package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
  98. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  99. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  100. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  101. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  102. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  103. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
  104. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  105. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  106. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  107. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
  108. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  109. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  110. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  111. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  112. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  113. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
  114. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  115. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  116. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
  117. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  118. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  119. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  120. package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
  121. package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
  122. package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
  123. package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
  124. package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
  125. package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
  126. package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
  127. package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
  128. package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
  129. package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
  130. package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
  131. package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
  132. package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
  133. package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
  134. package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
  135. package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
  136. package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
  137. package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
  138. package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
  139. package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
  140. package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
  141. package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
  142. package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
  143. package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
  144. package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
  145. package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
  146. package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
  147. package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
  148. package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
  149. package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
  150. package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
  151. package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
  152. package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
  153. package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
  154. package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
  155. package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
  156. package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
  157. package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
  158. package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
  159. package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
  160. package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
  161. package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
  162. package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
  163. package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
  164. package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
  165. package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
  166. package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
  167. package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
  168. package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
  169. package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
  170. package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
  171. package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
  172. package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
  173. package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
  174. package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
  175. package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
  176. package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
  177. package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
  178. package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
  179. package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
  180. package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
  181. package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
  182. package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
  183. package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
  184. package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
  185. package/skills/weaver-e10-builder/assets/icons.db +0 -0
  186. package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
  187. package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
  188. package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
  189. package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
  190. package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
  191. package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
  192. package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
  193. package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
  194. package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
  195. package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
  196. package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
  197. package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
  198. package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
  199. package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
  200. package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
  201. package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
  202. package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
  203. package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
  204. package/skills/weaver-e10-builder/references/common/map.md +153 -0
  205. package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
  206. package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
  207. package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
  208. package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
  209. package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
  210. package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
  211. package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
  212. package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
  213. package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
  214. package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
  215. package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
  216. package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
  217. package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
  218. package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
  219. package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
  220. package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
  221. package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
  222. package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
  223. package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
  224. package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
  225. package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
  226. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
  227. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
  228. package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
  229. package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
  230. package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
  231. package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
  232. package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
  233. package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
  234. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
  235. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
  236. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
  237. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
  238. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
  239. package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
  240. package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
  241. package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
  242. package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
  243. package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
  244. package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
  245. package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
  246. package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
  247. package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
  248. package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
  249. package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
  250. package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
  251. package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
  252. package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
  253. package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
  254. package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
  255. package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
  256. package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
  257. package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
  258. package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
  259. package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
  260. package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
  261. package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
  262. package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
  263. package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
  264. package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
  265. package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
  266. package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
  267. package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
  268. package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
  269. package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
  270. package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
  271. package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
  272. package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
  273. package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
  274. package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
  275. package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
  276. package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
  277. package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
  278. package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
  279. package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
  280. package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
  281. package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
  282. package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
  283. package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
  284. package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
  285. package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
  286. package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
  287. package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
  288. package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
  289. package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
  290. package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
  291. package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
  292. package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
  293. package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
  294. package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
  295. package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
  296. package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
  297. package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
  298. package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
  299. package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
  300. package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
  301. package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
  302. package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
  303. package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
  304. package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
  305. package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
  306. package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
  307. package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
  308. package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
  309. package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
  310. package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
  311. package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
  312. package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
  313. package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
  314. package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
  315. package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
  316. package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
  317. package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
  318. package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
  319. package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
  320. package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
  321. package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
  322. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
  323. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
  324. package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
  325. package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
  326. package/skills/weaver-e10-caizhilian/SKILL.md +7 -2
  327. package/skills/weaver-e10-caizhilian/references/files.md +15 -0
  328. package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
  329. package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
  330. package/skills/weaver-e10-shared/SKILL.md +8 -4
  331. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +7 -5
  332. package/skills/weaver-e10-workflow/SKILL.md +23 -44
  333. package/skills/weaver-e10-workflow/references/source-manifest.json +27 -22
  334. package/skills/weaver-e10-workflow/references/workflow-create.md +238 -85
  335. package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
  336. package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
  337. package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
@@ -0,0 +1,209 @@
1
+ {
2
+ "component": "picture 图片组件(weapp-ebdbasecoms/src/components/picture,组件类型 Picture;注册见 src/ebcoms.ts)",
3
+ "usage": "组件根元素就是那张 img(root),引擎类名直接拼在它身上,没有 #<comId>.ebcom > .content 外壳。先按外壳选:默认只有 root 一张 img;config.showTitleAndDesc===true → 看 tree-title-desc(img 外多一层 div.ebcoms-picture-wrapper.<comId>,图上叠标题/描述遮罩);config.float===true && page.layoutType==='FLOW' && config.position==='absolute' && config.flow.parent==='ROOT' → 看 tree-flow-absolute(最外再套一层 position:fixed 的壳)。定位器优先写 #<comId>(命中 img)或 .ebcoms-picture-content,遮罩统一写 .ebcoms-picture-wrapper .ebcoms-picture-desc。",
4
+ "legend": {
5
+ "[cls]": "条件class,满足配置/布局/事件条件才挂载",
6
+ "{a|b}": "多选一class(同一位置按页面布局或视图类型换成其中一个)",
7
+ "a > b": "父子层级压缩写法,冒号左边是右边的父级",
8
+ "ref": "引用 shared 中定义的复用片段:写成 ref:shared.xxx",
9
+ "uncontrolled": "外部模块(基础设计器/布局引擎/事件动作)渲染,内部结构不可控,只给挂载点",
10
+ "<comId>": "组件实例 id。picture 是 standalone 组件,没有引擎外壳,<comId> 直接落在 img 的 id 上(开标题描述时同时也是 wrapper 的 class)",
11
+ "ebcoms-": "组件自己写的类名前缀(clsPrefix='ebcoms'),加上 @weapp/ebdcoms AssetsImg 的 ebcoms-assets-img",
12
+ "ebcom-": "引擎/框架层类名前缀(ebcomPrefix='ebcom'),由 createView/createDesign 通过 className 拼进组件根,组件源码里搜不到",
13
+ "standalone": "引擎追加的标记类:picture 声明了 render.standalone=true,所以引擎不渲染 header/content/footer 外壳",
14
+ "weId": "React 节点上的定位属性,DOM 里小写为 weid,是样式编辑器内部用的,不要写进选择器"
15
+ },
16
+ "pickTree": "1. 先看是不是设计态:设计态根类名是 ebcom-design(并多一层 mask 之外的定位容器,见 shared.designShell);运行态是 ebcom-view。\n2. 再按外壳叠加选树:默认(showTitleAndDesc 不为 true,也没走流式绝对定位)→ 只有 root 一层;showTitleAndDesc===true → tree-title-desc;config.float===true 且 page.layoutType==='FLOW' 且 config.position==='absolute' 且 config.flow.parent==='ROOT' → tree-flow-absolute。\n3. 后两者可叠加,三层结构是 div.ebcoms-picture-flow-absolute-wrap > div.ebcoms-picture-wrapper.<comId> > img。\n4. 看不到图时去 shared.placeholder 对号(空路径/取数中/无权限)。",
17
+ "root": {
18
+ "tag": "img",
19
+ "id": "<comId>",
20
+ "class": [
21
+ "ebcoms-assets-img",
22
+ "[lazyload]",
23
+ "ebcom",
24
+ "ebcom-picture",
25
+ "[ebcom-picture-<pluginResourceType>]",
26
+ "[ebcom-m]",
27
+ "{ebcom-grid|ebcom-flow|ebcom-excel}",
28
+ "{ebcom-view|ebcom-design}",
29
+ "standalone",
30
+ "[event-action-click]",
31
+ "ebcoms-picture-content",
32
+ "[ebcoms-picture-default-flow]",
33
+ "[ebcoms-picture-flow-absolute]",
34
+ "[ebcoms-picture-url]"
35
+ ],
36
+ "desc": "图片本体,同时也是组件根元素:引擎类名永远拼在这张 img 上(classNameStr 无条件传给 AssetsImg)。⚠️ 和 slide/nav-bar 不同,picture 的 Design/View 都声明了 render.standalone=true,所以没有 #<comId>.ebcom > .content 这套外壳,别去找 .content。类名分三段:最前 ebcoms-assets-img(+lazyload) 是 @weapp/ebdcoms AssetsImg 自己加的;中间 ebcom + ebcom-picture + ebcom-grid/flow/excel + ebcom-m + ebcom-view/design + standalone 由引擎的 getClassName 按顺序拼;末尾 ebcoms-picture-content 与几个条件类由组件自己拼。",
37
+ "when": "运行态与设计态都是这张 img;--showTitleAndDesc 时它外面还有 div.ebcoms-picture-wrapper.<comId>,流式绝对定位时外面还有 div.ebcoms-picture-flow-absolute-wrap",
38
+ "tips": [
39
+ "写样式直接用 #<comId> 或 .ebcoms-picture-content 即可命中最外层元素;图片尺寸/边框/圆角都在这一层",
40
+ "img 上会被 spread 一批 config 字段当 HTML 属性(width、height、imageMode、displayMode、scale… 例如 width=\"100%\"),这些是属性不是样式:不要写 img[width]、也不要把它们当成行内样式来源;改尺寸用 CSS",
41
+ "objectFit 才是行内样式:AssetsImg 收了 useAttr 后用 style={{objectFit: imageMode}}(imageMode 取 config.imageMode,默认 cover),而 config.width/height 不进 style。要覆盖图片适应方式必须显式写 object-fit,或改配置",
42
+ "lazyLoad 相关:config.lazyLoad===true 时 img 上是 lazyload 类 + data-src(lazysizes 加载完自己加 lazyloaded 并把地址写到 src);没开时直接 src 出图。写图片选择器建议只认 .ebcoms-assets-img 或 .ebcoms-picture-content",
43
+ "class 顺序有意义:先 AssetsImg 的 ebcoms-assets-img,再引擎 className,最后组件追加的类;用 class 选择器时不要依赖顺序",
44
+ "运行态 img 上会由引擎写 data-id=<comId>(createView.onDomMountEvent 用 findDOMNode 取到的根元素;有 wrapper 时 data-id 落在 wrapper 上),data-id 是官方样式的作用域锚点"
45
+ ]
46
+ },
47
+ "shared": {
48
+ "imgRoot": {
49
+ "tag": "img",
50
+ "id": "<comId>",
51
+ "desc": "图片本体,和 root 是同一个元素,class 以 root.class 为准。外壳树里用它占位。"
52
+ },
53
+ "descBlock": {
54
+ "desc": "图片上的标题/描述遮罩(源码里叫 picture-desc)。只有 showTitleAndDesc===true 且「标题或描述至少一个非空」时才渲染(条件:getLocaleValue(textTitle) || getLocaleValue(textDescribe))。这是用户说「图片上的标题/描述」时唯一命中的地方",
55
+ "chain": "div.ebcoms-picture-wrapper > div.ebcoms-picture-desc > div.title + div.desc",
56
+ "children": [
57
+ {
58
+ "tag": "div",
59
+ "class": ["title"],
60
+ "desc": "标题文字,取值 config.textTitle(走 getLocaleValue 多语言)。⚠️ .title 是裸类名,没有前缀,全页面其它组件(tabs、list…)也叫 .title,必须用 .ebcoms-picture-desc .title 或 #<comId> 限域"
61
+ },
62
+ {
63
+ "tag": "div",
64
+ "class": ["desc"],
65
+ "desc": "描述文字,取值 config.textDescribe;.desc 同样是裸类名,限定方式同上"
66
+ }
67
+ ],
68
+ "tips": [
69
+ "两个 div 无论标题还是描述为空都会渲染(只是内容为空串),所以别用 :empty 之类的写法去判断「有没有配标题」",
70
+ "遮罩默认:position:absolute、bottom:0、width:100%、padding:12px 15px、背景 rgba(0,0,0,.5)、圆角 8px,来自 view/index.less",
71
+ "⚠️ 遮罩的 absolute 参照物不是 wrapper:div.ebcoms-picture-wrapper 只有 height:100%,没有 position,所以遮罩会往上找最近的有定位祖先(流式绝对定位场景就是 position:fixed 的 div.ebcoms-picture-flow-absolute-wrap)。要自己控位置就给 wrapper 加 position",
72
+ "遮罩样式有两处来源且属性重叠:view/index.less(.ebcoms-picture-wrapper .ebcoms-picture-desc)和样式库默认代码 styleConfigDefault(.ebcoms-picture-desc,含背景色/圆角/绝对定位/display:flex)。写覆盖时用 .ebcoms-picture-wrapper .ebcoms-picture-desc 提高优先级",
73
+ "区域设置面板(样式库/样式管理)改的就是这三个选择器:背景色 → .ebcoms-picture-desc;标题 → .ebcoms-picture-desc .title;描述 → .ebcoms-picture-desc .desc(见 view/getPictureStyles.ts)",
74
+ "标题/描述是行内纯文本,没有 span 包裹,想加图标/多行排版要自己用伪元素或改结构,别指望里面有子节点"
75
+ ]
76
+ },
77
+ "placeholder": {
78
+ "desc": "「看不到图片」的几种情况,样式需求落到这里时不要去 img 的兄弟节点里找东西",
79
+ "list": [
80
+ {
81
+ "when": "config.path 为空(含 { url: '' })",
82
+ "chain": "仍然是 img 本身,src 换成默认空图(dftPicPath = images/coms/picture/empty.png),class 上多一个 ebcoms-picture-default-flow",
83
+ "note": "构造器与 render 各判一次:page.layoutType==='GRID' 和 !=='GRID' 最终都会换成这张空图;该类名只给 img 加了 object-fit/display/max-width,不影响是否有图"
84
+ },
85
+ {
86
+ "when": "图片地址含数据集语法(图片路径绑定数据)且真实地址还没取回来,且非设计态",
87
+ "chain": "整块不渲染(render 返回 null)",
88
+ "note": "gettingPath===true 期间组件短暂为空,调样式前先确认不是这个状态"
89
+ },
90
+ {
91
+ "when": "页面开启 showHiddenComs 且当前组件不在 rightCompIds 里",
92
+ "chain": "div.ebcom-no-right-mask > span(文本「对不起,您暂时没有权限!」,引擎渲染)",
93
+ "note": "picture 覆写了 renderNoPermission(view/View.tsx → view/NoPermission.tsx),只是补一段流式布局的定位修正,DOM 仍是引擎这段;此时根元素不是 img"
94
+ }
95
+ ]
96
+ },
97
+ "state": {
98
+ "desc": "运行时由脚本动态加/移除的类,初始 render 里没有,写选择器时按「可能出现」对待",
99
+ "list": [
100
+ {
101
+ "condition": "开了 lazyLoad 的图片被 lazysizes 加载完成",
102
+ "targetSelector": "img.ebcoms-assets-img",
103
+ "addClass": "lazyloaded",
104
+ "note": "同时把 data-src 的值写进 src"
105
+ },
106
+ {
107
+ "condition": "流式绝对定位壳被选中(选中置顶)",
108
+ "targetSelector": ".ebcoms-picture-flow-absolute-wrap",
109
+ "addClass": "selected",
110
+ "note": "less 只给了 .selected{z-index:102!important};相关选中逻辑在源码里已注释/废弃"
111
+ },
112
+ {
113
+ "condition": "组件被事件动作隐藏",
114
+ "targetSelector": "组件根元素(有 wrapper 时是 wrapper,否则是 img)",
115
+ "addClass": "ebcom-display-none",
116
+ "note": "同时写 style.display='none',显示时按原 display 还原"
117
+ },
118
+ {
119
+ "condition": "点击组件(弹出悬浮菜单类事件动作的绑定标记)",
120
+ "targetSelector": "被点击的元素",
121
+ "addClass": "ebsdk-bind-dom",
122
+ "note": "引擎事件动作统一行为(weapp-ebdcoms event-action),每次点击会先清掉全页其它同名类"
123
+ }
124
+ ]
125
+ },
126
+ "designShell": {
127
+ "desc": "设计态/运行态最外层的定位容器,由基础设计器与布局引擎渲染,不在这几个仓库的源码里,组件只用 querySelector 反查它们(uncontrolled,只给挂载点,改它们会影响页面上所有组件)",
128
+ "list": [
129
+ {
130
+ "when": "设计态 + 网格布局(非 float)",
131
+ "chain": "组件按 div[data-i=<config.layout.i>] 找父节点取容器,旋转容器是 div.weapp-ebde-gl-pc-card[data-id=<comId>]"
132
+ },
133
+ {
134
+ "when": "设计态 + 绝对定位(float)",
135
+ "chain": "div.weapp-ebde-position-absolute[data-id=<comId>],内部旋转把手是 .weapp-ebde-mgl-card-item-handle"
136
+ },
137
+ {
138
+ "when": "设计态 + 移动端绝对定位",
139
+ "chain": "div.weapp-ebde-mgl-position[data-id=<comId>]"
140
+ },
141
+ {
142
+ "when": "运行态 + 绝对定位",
143
+ "chain": "div.weapp-ebpv-gl-position[data-id=<comId>](PC)/ div.weapp-ebpv-mgl-position[data-id=<comId>](移动端)",
144
+ "note": "createView.viewMountHandler 与 NoPermission 改的就是这层的 style"
145
+ },
146
+ {
147
+ "when": "运行态 + 网格布局(非 float)",
148
+ "chain": "就是组件根 img 自己(JS 用 .ebcoms-assets-img#<comId> 或 img#<comId> 取)"
149
+ }
150
+ ],
151
+ "tips": [
152
+ "这些容器上的定位/旋转/透明度由 JS 直接重写 dom.style(setPcDomStyle / setMobileSomStyle),写在 CSS 里的同类属性常被行内覆盖",
153
+ "设计态组件外壳是 ebcom-picture … ebcom-design standalone,由 createDesign 拼好 className 后直接传给 PictureContent,同样没有 .content 层"
154
+ ]
155
+ }
156
+ },
157
+ "tree-title-desc": {
158
+ "when": "config.showTitleAndDesc === true。样式库/样式管理场景默认开启(com-style-config/picture/getCompConfig.ts 里写死 showTitleAndDesc:true、isStyleManager:true),所以这个结构在样式调优时是高频命中项",
159
+ "tree": [
160
+ {
161
+ "tag": "div",
162
+ "class": ["ebcoms-picture-wrapper", "<comId>"],
163
+ "desc": "标题/描述外壳(源码:`${clsPrefix}-picture-wrapper ${id}`)。⚠️ comId 同时被当成类名挂在这层,所以 .<comId> 命中 wrapper,而 #<comId> 命中里面的 img —— 同名不同层是 picture 最容易定位错的地方。less 只给了 height:100%,没有 position",
164
+ "children": [
165
+ "ref:shared.imgRoot",
166
+ "ref:shared.descBlock"
167
+ ],
168
+ "tips": [
169
+ "wrapper 只有在 showTitleAndDesc===true 时才存在;此时引擎的 data-id 也落在 wrapper 上(findDOMNode 取到的根元素),运行态官方样式作用域 div[data-id=<comId>] 指的就是它",
170
+ "想给「整张图 + 遮罩」作为一个整体加边框/圆角/overflow:hidden,改这层;只改图片本身用 img 那层",
171
+ "遮罩是 wrapper 的兄弟还是子级要注意:div.ebcoms-picture-desc 与 img 是兄弟关系,都在 wrapper 下,不是 img 的子节点"
172
+ ]
173
+ }
174
+ ]
175
+ },
176
+ "tree-flow-absolute": {
177
+ "when": "config.float===true && page.layoutType==='FLOW' && config.position==='absolute' && config.flow.parent==='ROOT'(典型是登录前页面/流式布局里的绝对定位图片)。同一个条件还决定 img 上多挂 ebcoms-picture-flow-absolute 类",
178
+ "tree": [
179
+ {
180
+ "tag": "div",
181
+ "class": ["ebcoms-picture-flow-absolute-wrap"],
182
+ "desc": "流式布局的绝对定位外壳,带 data-id=<comId>(设计态与运行态都有)。less 给了 position:fixed;偏移/层级/透明度全部由行内 style 决定(wrapStyle:left/right/top/bottom + transform:translate(...) + zIndex + width/height + opacity,按 horizontal.basis/vertical.basis 组合算出)",
183
+ "children": ["ref:shared.imgRoot"],
184
+ "tips": [
185
+ "这一层的位置尺寸是行内样式,CSS 改不动(除非 !important 且确认优先级),要改位置请改配置里的坐标/偏移",
186
+ "它是 position:fixed,会成为内部遮罩 absolute 的参照物",
187
+ "selected 类(z-index:102!important)由脚本加,用于选中置顶"
188
+ ]
189
+ }
190
+ ],
191
+ "diffs": [
192
+ "开了 showTitleAndDesc 时,壳里的直接子节点是 div.ebcoms-picture-wrapper.<comId>(包住 img + 遮罩),即 fixed 壳 > wrapper > img 三层;wrapper 类名见 tree-title-desc",
193
+ "img 上会多一个 ebcoms-picture-flow-absolute 类,它只是标记(less 没为它写规则),别当成样式钩子",
194
+ "img 上还可能带行内 style(imgStyle.transform = rotate(...),仅在配置了 rotate 时),用于旋转图片本身而不转外壳"
195
+ ]
196
+ },
197
+ "notes": [
198
+ "前缀三类分清:ebcoms-* 是组件自己写的(含 @weapp/ebdcoms 公共件 AssetsImg 的 ebcoms-assets-img);ebcom-* 是引擎/框架层,经 className 拼进组件根,组件源码里搜不到;ui-* 基本与 picture 无关(本组件没直接用 @weapp/ui 渲染结构,只有 PhotoView 预览弹层是外部组件)。",
199
+ "最容易犯的定位错误:照搬其它组件去找 #<comId>.ebcom > .content。picture 是 standalone 组件,引擎不生成这层外壳,组件根就是 img,引擎类名全在 img 上。",
200
+ "第二个易错点:comId 有双重身份。默认是 img 的 id(#<comId>);showTitleAndDesc 时又是 wrapper 的 class(.<comId>)。样式管理器模式下 getPictureStyles 生成的自定义样式作用域是 ` .<comId>`,运行态是 ` div[data-id=<comId>]`(data-id 挂在引擎 findDOMNode 找到的根元素上:默认 img,有 wrapper 则 wrapper)。",
201
+ "裸类名 .title / .desc 只在遮罩内部,务必用 .ebcoms-picture-desc .title / .ebcoms-picture-desc .desc 或 #<comId> 限域,否则会命中页面其它组件的同名类。",
202
+ "已有 less 钩子(不要重复写):.ebcoms-picture-content(inline-block + vertical-align)、.ebcoms-picture-url(cursor:pointer,非设计态且有链接时)、.ebcoms-picture-default-flow(object-fit:cover 等)、.ebcoms-picture-flow-absolute-wrap(position:fixed / .selected)、.ebcoms-picture-wrapper(height:100%)及其下遮罩与标题/描述全套默认外观。less 通过 src/style/lib.less 全量引入(PictureContent 里 import './index.less' 是注释掉的,别以为没生效)。",
203
+ "两处死代码,别照着写选择器:1) view/PictureContent.tsx 的 renderDefaultImg 从未被调用,所以 .ebcoms-picture-default-grid(及 less 里它的 svg 规则)在运行时永远不命中;2) less 的 .ebcoms-picture-default-flow > img 也不会命中——该类挂在 img 自己身上,没有子 img。",
204
+ "配置面板的类名(ebcoms-picture-config-*、ebcoms-picture-path-*、ebcoms-picture-config-image-mode 等)来自 config/ 目录,只出现在设计器右侧属性面板,不属于组件渲染结构,写页面运行时样式时不要用它们。",
205
+ "官方样式生成器 getPictureStyles 的三个目标就是 .ebcoms-picture-desc / .ebcoms-picture-desc .title / .ebcoms-picture-desc .desc(来自样式库里「图片」类目 category='1218870220785048537',见 constants/StyleLib.ts 的 StyleType.PICTURE);用户自定义 CSS 会被包进 div[data-id=<comId>](样式管理器下是 .<comId>)作用域,所以自定义代码里可以直接写组件内部类名。",
206
+ "设计态用同一棵结构树,差别只在根类名是 ebcom-design,且外面多了基础设计器的定位容器(shared.designShell);在页面运行态验证选择器,不要拿设计器里的结构当依据。",
207
+ "反查源码:view 渲染与条件分支在 view/PictureContent.tsx 的 render / renderDefaultImg;组件入口与 standalone 声明在 view/View.tsx、design/Design.tsx;class 拼装顺序在 weapp-ebdcoms/src/components/core/view/createView.tsx 的 getContainerClass 与 .../core/utils/comp.ts 的 getClassName;img 元素与 ebcoms-assets-img 在 weapp-ebdcoms/src/common/assets-lib/assets-item/Img.tsx;已有样式在 view/index.less;样式生成在 view/getPictureStyles.ts。"
208
+ ]
209
+ }
@@ -0,0 +1,338 @@
1
+ {
2
+ "component": "Pie(饼状图)",
3
+ "usage": "图表组件的 HTML 结构索引,用于样式定位:用户说「给饼状图的 XX 设置样式」时,在这里按语义找节点,用它的 id / class 写选择器。不是完整 DOM 树,只列有 id 或关键 class 的元素。",
4
+ "legend": {
5
+ "[cls]": "条件类名:条件满足时才出现,否则该类名不存在",
6
+ "{a|b}": "多选一:实际只会出现其中一个",
7
+ "a > b": "合并两层:b 是 a 的直接子元素(中间没有有意义的元素)",
8
+ "ref": "引用本文件 shared.* 里的复用片段",
9
+ "<comId>": "尖括号 = 需要替换的占位符。<comId> 是该组件在页面里的实例 id(配置界面叫「组件ID」),写样式时用它限域,例如 #<comId> .ebcoms-charts-total;<contentClass> 等同理。注意花括号 {a|b} 只表示「多选一」,不用来表示占位符。",
10
+ "ebcom / ebcom-*": "weapp-ebdcoms 引擎加的类,不在图表组件源码里(core/view/createView.tsx + core/utils/comp.ts)",
11
+ "ebcoms-*": "图表组件源码写的类(clsPrefix = 'ebcoms')",
12
+ "ui-*": "@weapp/ui 组件的类:ui-echarts / ui-table-grid-* / ui-spin / ui-empty / ui-pagination / ui-icon / ui-bread-crumb / ui-popover",
13
+ "weapp-ebdf-*": "筛选搜索组件(@weapp/ebpagedesign)的类,只给挂载点,内部结构不可控"
14
+ },
15
+ "pickTree": "按「区域」取树:标题区→header,图表区(合计/轴名/canvas/加载)→chartArea,数据表→dataList,图表左右侧的数值清单→labelDataList。写样式时先 #<comId> 限域再往下找。",
16
+ "root": {
17
+ "desc": "引擎外壳,所有图表组件完全一致,由 weapp-ebdcoms 渲染(不在图表源码里)。写样式统一用 #<comId> 限域。",
18
+ "tree": {
19
+ "tag": "div",
20
+ "id": "<comId>",
21
+ "class": "ebcom ebcom-pie [ebcom-m] ebcom-{grid|flow} ebcom-view ebcom-chart has-no-header",
22
+ "desc": "组件根。ebcom-pie=类型类(同页多个图表组件靠它区分类型);ebcom-m 仅移动端;ebcom-{grid|flow}=页面布局;ebcom-chart 来自图表 defaultOpts.render.containerClass;has-no-header 恒有(图表用 renderHeader 自渲染标题,不走引擎的默认 header)。",
23
+ "children": [
24
+ {
25
+ "tag": "div",
26
+ "class": "header",
27
+ "when": "config.titleEnabled = true",
28
+ "desc": "标题区。内容由图表自己的 ChartHeader 接管(见 header 树)。标题关闭时这个节点整个不存在。",
29
+ "ref": "header.tree"
30
+ },
31
+ {
32
+ "tag": "div",
33
+ "class": "<contentClass> content",
34
+ "desc": "引擎内容槽,图表全部内容都在这里。view 模式初始只有 content,其余类名由脚本 classList.toggle 追加;design 模式直接带全。可能追加到 .content 上的类:ebcoms-charts-fl(流式布局)、ebcoms-pie-content(流式布局)、show-data-list、data-list-direction-{top|bottom|left|right}、ebcoms-charts-reloading、ebcoms-charts-grid-mobile、displayFlex。",
35
+ "ref": "chartArea.tree"
36
+ },
37
+ {
38
+ "tag": "div",
39
+ "class": "footer",
40
+ "desc": "引擎底部操作栏。图表默认不开,几乎见不到;开了才会在 .content 之后出现 .ebcoms-footer-btns。"
41
+ }
42
+ ]
43
+ }
44
+ },
45
+ "shared": {
46
+ "desc": "跨区域复用的小片段。同一个 class 在多个区域出现时以这里的定义为准。",
47
+ "empty": {
48
+ "tag": "div",
49
+ "class": "ui-empty",
50
+ "desc": "@weapp/ui Empty。图表里三种用法:未匹配配置(“请设置图表配置项”)、无数据(type=noData)、词云 IE 提示(多一个 ebcoms-charts-com-WordCloud-IEempty)。紧挨着还有一个 .ebcoms-charts-placeholder 占位块(echarts 未实例化时)。"
51
+ },
52
+ "spin": {
53
+ "tag": "div",
54
+ "class": "ui-spin [ui-spin-nested-loading > ui-spin-container]",
55
+ "desc": "@weapp/ui Spin。图表里有 3 处,外层都会再拼一个 ebcoms-* 类:ebcoms-charts-view-loading(图表区首次加载,在 .ebcoms-charts-com 内)、ebcoms-charts-view-reloading(刷新遮罩,绝对定位铺满半透明白,在 .ebcoms-charts-main 下)、数据表内部(ui-table-grid 内自动包一层)。"
56
+ },
57
+ "toolbarBtn": {
58
+ "tag": "span",
59
+ "desc": "标题区每个操作按钮外层都是一个无 class 的 span(OperationBtns 渲染)。里面要么是图表自己的定制视图(ChartSwitch / YMDSwitch / ChartsToolbarBtn),要么是 @weapp/ui 的 ConfigurableButton(ui-btn)或配置的图标(ui-icon > svg.ui-icon-svg)。想单独选中某个按钮只能靠 :nth-child() 或按内容定位。"
60
+ },
61
+ "filterMount": {
62
+ "tag": "div",
63
+ "class": "ebcoms-cmf-view [showFilter] [empty] [mobile] [onlyCondition] 或 ebcoms-cms-search [design] [active]",
64
+ "desc": "筛选条件区的挂载点(CommonFilter / SearchContent)。标题区和图表区各可能出现一个,两者互斥:筛选按钮配置在标题区时只在标题区渲染。内部 DOM 不可控,只在这个挂载点上写样式。"
65
+ }
66
+ },
67
+ "header": {
68
+ "when": "config.titleEnabled = true。关闭时 #<comId> 上带 has-no-header,.header 节点不存在。",
69
+ "chain": "#<comId> > .header.ebcoms-charts-custom-header.PC|MOBILE",
70
+ "tree": {
71
+ "tag": "div",
72
+ "class": "ebcoms-charts-custom-header header PC|MOBILE",
73
+ "desc": "标题区根。同时带引擎的 .header(布局用的通用类)和组件的 ebcoms-charts-custom-header。末尾的 PC / MOBILE 是 page.client 直接拼上去的,用来控制标题最大宽度(PC 65% / MOBILE 45%),不是类名前缀。",
74
+ "children": [
75
+ {
76
+ "tag": "div",
77
+ "class": "ebcoms-charts-custom-header-title-content",
78
+ "desc": "标题文本区。可能先有一个标题图标组件(TitleIconCom,仅配了标题图标时),然后是一个 <div> 承载标题 HTML(dangerouslySetInnerHTML,所以标题里的富文本、动态字段也会渲染进这个 div,别以为只有纯文本)。"
79
+ },
80
+ {
81
+ "tag": "div",
82
+ "class": "[isDesign]",
83
+ "desc": "flex:1 的右侧区,按顺序放:操作按钮组、筛选条件、再一个操作按钮组(筛选按钮配置在最后一位时按钮会挪到筛选前面)、design 模式下的遮罩 ebcoms-charts-main-filtertotal-mask。",
84
+ "children": [
85
+ {
86
+ "tag": "div",
87
+ "class": "ebcoms-header-btns",
88
+ "desc": "顶部操作按钮组(OperationBtns 的 wrapClass)。左侧按钮和右侧按钮会渲染成两个同 class 的兄弟 div,所以 .ebcoms-header-btns 在标题区可能出现两次,别用 :first-child 猜。",
89
+ "children": [
90
+ {
91
+ "tag": "div",
92
+ "class": "ebcoms-chart-toolbar",
93
+ "when": "“图表工具栏”按钮开启(isSupportChartToolsConfig)",
94
+ "desc": "图表工具栏。固定 6 个 span 槽位,顺序固定;每个槽位内部再分 .default / .hover 两个 span。.default 和 .hover 是通用类名,写样式必须用 .ebcoms-chart-toolbar 限定,否则会串到别处。",
95
+ "children": [
96
+ {
97
+ "tag": "span",
98
+ "class": "btn-boxSelect",
99
+ "desc": "区域缩放。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
100
+ },
101
+ {
102
+ "tag": "span",
103
+ "class": "btn-clearBoxSelect",
104
+ "desc": "区域缩放还原。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
105
+ },
106
+ {
107
+ "tag": "span",
108
+ "class": "btn-changeLine",
109
+ "desc": "切换为折线图。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
110
+ },
111
+ {
112
+ "tag": "span",
113
+ "class": "btn-changeBar",
114
+ "desc": "切换为柱状图。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
115
+ },
116
+ {
117
+ "tag": "span",
118
+ "class": "btn-restore",
119
+ "desc": "还原。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
120
+ },
121
+ {
122
+ "tag": "span",
123
+ "class": "btn-saveAsImage",
124
+ "desc": "保存为图片。图标存在;里面有 .default 与 .hover 两个 span(默认显示 default,hover 换成 hover,宽度/颜色/底色可由按钮配置写进行内 style),图标是 ui-icon > svg.ui-icon-svg,选中态加 .selected。"
125
+ }
126
+ ]
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "ref": "shared.filterMount",
132
+ "when": "筛选按钮在标题区"
133
+ }
134
+ ]
135
+ }
136
+ ]
137
+ }
138
+ },
139
+ "chartArea": {
140
+ "desc": "引擎 .content 里的全部内容,由 AsyncBaseView + ChartView 渲染。",
141
+ "tree": {
142
+ "tag": "div",
143
+ "class": "ebcoms-charts-main",
144
+ "desc": ".content 下唯一的内容根。它是个 flex 容器:图表容器 .ebcoms-charts-com 和数据表 .ebcoms-data-list-display-content 是平级兄弟,所以 dataListDisplay.visible 时 .content 加 show-data-list,index.less 用它和 data-list-direction-* 决定图表与数据表是上下还是左右排列。",
145
+ "children": [
146
+ {
147
+ "tag": "div",
148
+ "class": "ebcoms-charts-main-switchChartType",
149
+ "when": "“图表类型”按钮开启 && customValue.keepDisplaying && 标题未开启(标题开启时它挪进标题区)",
150
+ "desc": "常驻在图表上方的图表类型切换条。",
151
+ "children": [
152
+ {
153
+ "tag": "div",
154
+ "class": "ebcoms-chart-head-chartSwitch",
155
+ "children": [
156
+ {
157
+ "tag": "span",
158
+ "class": "ebcoms-chart-head-chartSwitch-item [active]",
159
+ "desc": "每个可切换类型一项,active=当前类型。内含图标(普通类型 ui-icon;Bullet 内联 svg.icon;WordCloud / Facet / HeatMap 是 img)+ 类型名文本。"
160
+ }
161
+ ]
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ "tag": "div",
167
+ "id": "id_<comId>",
168
+ "class": "ebcoms-charts-com [ebcoms-charts-preview] [hide]",
169
+ "desc": "图表容器,图表区所有东西都在这。id 是 id_<comId>(id_ + 组件 id)。ebcoms-charts-preview 仅 stylePre(预览)时;hide 仅 dataListDisplay.onlyTable(只显示数据表)时。容器自带 min-width: 30px(源码注释:宽度过小时气泡图 echart 内部会报错)。",
170
+ "children": [
171
+ {
172
+ "tag": "div",
173
+ "id": "filtertotal_<comId>",
174
+ "class": "ebcoms-charts-main-filtertotal [hasRelationStatistics]",
175
+ "desc": "图表上方一行:左边合计、右边筛选条件(两者独立出现)。hasRelationStatistics 仅关系图且有统计时(左侧让出 150px)。注意它和 .ebcoms-charts-main 是两个不同的 main。",
176
+ "children": [
177
+ {
178
+ "tag": "ul",
179
+ "class": "ebcoms-charts-total",
180
+ "when": "showTotal && 有数据 && 配置已初始化(本类型支持合计)",
181
+ "desc": "合计区,每个指标一个 li,li 上没有类名(要单独选只能 :nth-child())。这里会先撑高再触发图表 resize。"
182
+ },
183
+ {
184
+ "ref": "shared.filterMount",
185
+ "when": "配了筛选条件且按钮不在标题区"
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "tag": "div",
191
+ "id": "chartStatChildren_<comId>",
192
+ "when": "第一个维度开了“统计下级”,或有维度钻取",
193
+ "desc": "下钻 / 统计下级 / 关系图展开的挂载点(面包屑 + 弹出菜单)。不需要时这个 id 节点不存在。",
194
+ "children": [
195
+ {
196
+ "tag": "div",
197
+ "class": "ui-bread-crumb ebcoms-charts-bread-crumb {drilling|...}",
198
+ "desc": "面包屑。带 drilling 时样式不同(可点层级为蓝色)。关系图不渲染它。"
199
+ },
200
+ {
201
+ "tag": "span",
202
+ "class": "ebcoms-charts-statChildrenSpan",
203
+ "desc": "弹出菜单的定位锚点:1px 绝对定位的隐形 span,left/top 由点击坐标算出来。"
204
+ },
205
+ {
206
+ "tag": "div",
207
+ "class": "ebcoms-charts-statChildrenPop",
208
+ "desc": "菜单弹层(Popover)。内部列表项 class 为 ebcoms-charts-list-item;弹层箭头 .ui-popover-arrow 在这里被隐藏。"
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "tag": "div",
214
+ "class": "ebcoms-charts-axis-name",
215
+ "when": "永不出现",
216
+ "desc": "本类型在 hasNoAxis 列表里(无直角坐标轴),不会渲染坐标轴名称节点。注意:ECharts 的 category/axis 概念跟这里的 DOM 无关,不要以为没 DOM 就没配置项。"
217
+ },
218
+ {
219
+ "tag": "div",
220
+ "class": "ui-echarts [ui-echarts-rtl]",
221
+ "when": "非空数据且没在 loading",
222
+ "desc": "图表本体。ECharts 用 canvas 渲染,图例 / 坐标轴 / 数据标签 / tooltip / 柱子颜色全在 canvas 里,CSS 选不到——这些只能改图表配置项或图表主题。容器本身可改尺寸、背景、边框、滤镜;RTL 页面会多 ui-echarts-rtl(会 transform: scaleX(-1))。"
223
+ },
224
+ {
225
+ "ref": "labelDataList.tree",
226
+ "when": "config.labelPosition = left 或 right,且 label.valType !== none,且非移动端、非“仅统计表”"
227
+ },
228
+ {
229
+ "ref": "shared.empty"
230
+ },
231
+ {
232
+ "tag": "div",
233
+ "class": "ebcoms-charts-placeholder",
234
+ "when": "chartInstance 尚未就绪",
235
+ "desc": "占位块,撑住高度防止塌陷。"
236
+ },
237
+ {
238
+ "tag": "div",
239
+ "class": "ui-spin ebcoms-charts-view-loading",
240
+ "when": "配置还未初始化完成,或正在刷新数据(此时上面那批节点都不渲染,互斥)",
241
+ "desc": "图表区加载态。"
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ "tag": "div",
247
+ "class": "ui-pagination ebcoms-charts-pagination",
248
+ "when": "config.showPagination = true(本类型支持分页配置)",
249
+ "desc": "图表级分页(不是数据表里的分页)。内部 ui-pagination-pager / ui-pagination-pager-item / ui-pagination-pager-active / ui-pagination-pager-page-input。"
250
+ },
251
+ {
252
+ "ref": "dataList.tree"
253
+ },
254
+ {
255
+ "tag": "div",
256
+ "class": "ui-spin ebcoms-charts-view-reloading",
257
+ "when": "reloading(切换图表类型 / 切换日期分组 / 强刷)",
258
+ "desc": "整块刷新遮罩:绝对定位居中铺满 + rgba(255,255,255,.7) 底。要改遮罩底色改这里。"
259
+ }
260
+ ]
261
+ }
262
+ },
263
+ "labelDataList": {
264
+ "when": "config.labelPosition = left 或 right,且 label.valType !== none,且非移动端、非“仅统计表”",
265
+ "chain": ".ebcoms-charts-com > .ebcoms-label-data-list-content.{onLeft|onRight} > .ui-table-grid...",
266
+ "tree": {
267
+ "tag": "div",
268
+ "class": "ebcoms-label-data-list-content {onLeft|onRight} [onSameSide]",
269
+ "desc": "图表左/右侧的「分类 + 数值」清单(config.labelPosition = left/right 时出现,同时图例会被隐藏)。maxWidth / height / top 都在行内 style 上(30% 或 50% 宽)。onLeft / onRight 对应 labelPosition;onSameSide 表示和图例同侧(此时行可点击联动图例)。",
270
+ "children": [
271
+ {
272
+ "tag": "div",
273
+ "class": "ui-table-grid ui-table-grid-bordered ui-table-grid-no-pagination",
274
+ "desc": "内部是 @weapp/ui Table,没有额外 class,只能用 ui-table-grid-* 选。两列:分类(65%)/ 数值(35%)。分类列里有个 8x8 的色块 span(颜色写在行内 style.background-color),数值列是 span(行内 style.color,被点击后置灰 #ccc)。要改色块/文字颜色只能覆盖行内样式(!important)。"
275
+ }
276
+ ]
277
+ }
278
+ },
279
+ "dataList": {
280
+ "when": "dataListDisplay.visible = true 且非空数据",
281
+ "chain": ".content > .ebcoms-charts-main > .ebcoms-data-list-display-content.{horizantal|vertical}[.show-total][.isMobile] > .ui-table-grid.ebcoms-datalist-table",
282
+ "tree": {
283
+ "tag": "div",
284
+ "class": "ebcoms-data-list-display-content {horizantal|vertical} [show-total] [isMobile]",
285
+ "desc": "数据表区域。和图表的 .ebcoms-charts-com 是 .ebcoms-charts-main 下的平级兄弟(不在图表容器里),所以它不会跟着图表一起被 hide。注意类名是 horizantal(源码里的拼写,少一个 o),别写成 horizontal。位置由 .content 上的 data-list-direction-{top|bottom|left|right} 控制;horizantal 表示横向扩展(第一列固定)。",
286
+ "children": [
287
+ {
288
+ "tag": "div",
289
+ "class": "ui-table-grid ebcoms-datalist-table ui-table-grid-bordered [ui-table-grid-no-pagination] [ui-table-grid-scroll-position-*] [ui-table-grid-table__fixed]",
290
+ "desc": "数据表(@weapp/ui Table)。下面这些 ui-table-grid-* 是引擎已有样式钩子,可以直接复用;要改文字色 / 表头底色 / 内容底色 / 边框色,优先用组件外观样式里的「数据表」配置(会自动生成这些选择器,见 notes)。",
291
+ "children": [
292
+ {
293
+ "tag": "div",
294
+ "class": "ui-spin > ui-spin-nested-loading > ui-spin-container",
295
+ "desc": "表格自带 loading 包裹层,表格内容都在 ui-spin-container 里。"
296
+ },
297
+ {
298
+ "tag": "div",
299
+ "class": "ui-table-grid-header-warp > .ui-table-grid-header",
300
+ "desc": "表头。里面 table > thead.ui-table-grid-thead > tr > th.ui-table-grid-th。固定列时还会有一份 ui-table-grid-sticky-header-warp(滚动吸顶)。"
301
+ },
302
+ {
303
+ "tag": "div",
304
+ "class": "ui-table-grid-body-outer > .ui-table-grid-body",
305
+ "desc": "表体。table > tbody.ui-table-grid-tbody > tr > td.ui-table-grid-td。合计行在 tfoot.ui-table-grid-tfoot(showTotal && 纵向扩展时)。细分隔行 tr 带 ui-table-grid-tr__gray。"
306
+ },
307
+ {
308
+ "tag": "div",
309
+ "class": "ui-table-grid-scroll",
310
+ "desc": "横向滚动容器;只在有固定列或按 table 滚动时出现。"
311
+ },
312
+ {
313
+ "tag": "div",
314
+ "class": "ui-table-grid-fixed-left / ui-table-grid-fixed-right",
315
+ "desc": "左右固定列(横向扩展时第一列 fixed: left)。"
316
+ },
317
+ {
318
+ "tag": "div",
319
+ "class": "ui-table-grid-empty",
320
+ "desc": "无数据占位。"
321
+ }
322
+ ]
323
+ }
324
+ ]
325
+ }
326
+ },
327
+ "notes": [
328
+ "样式作用域:图表样式由「组件外观样式」生成,最终选择器都会被包在 #<comId>.ebcom 下面(自定义源码再套一层 #<comId> .comCodeSource)。自己写选择器也建议 #<comId> .xxx,避免同页多图表互相污染。",
329
+ "数据表配色有官方生成器:组件外观样式→数据表里的「字体/表头底色/内容底色/边框色」,会直接生成 .ebcoms-data-list-display-content 下的 .ui-table-grid-td/.ui-table-grid-th/.ui-table-grid-thead/.ui-table-grid-header-warp/.ui-table-grid-body-outer/.ui-table-grid-tbody/.ui-table-grid-tfoot 规则。要改数据表颜色优先用这个,不要重复写 CSS。",
330
+ "canvas 边界:图例、坐标轴刻度、数据标签、tooltip、柱/扇区颜色全部是 ECharts canvas,CSS 选不到。这类需求只能改图表配置项或图表主题,不要试图用选择器命中。",
331
+ "同名陷阱:引擎的 .header / .content / .footer(无前缀)≠ 组件的 ebcoms-*-content;.ebcoms-charts-main 和 .ebcoms-charts-main-filtertotal 是两个不同层的节点,只差一个后缀;.default / .hover 是工具栏按钮的通用类名,必须用 .ebcoms-chart-toolbar 限定;displayFlex 是无前缀裸类名(全局限定)。",
332
+ "引擎自动加的修饰类:#<comId> 上恒有 has-no-header;ebcom-chart 来自图表 defaultOpts.render.containerClass;padding=false 时加 content-no-padding;配了点击事件时加 event-action-click。",
333
+ "移动端:外壳多 ebcom-m 类;网格布局 + 移动端时 .content 多 ebcoms-charts-grid-mobile(内部把加载块高度固定 300px)。",
334
+ "反查源码:引擎 weapp-ebdcoms/src/components/core/{view,design}/{createView,Base,createDesign}.tsx、core/utils/comp.ts、core/view/operation-btns/OperationBtns.tsx;组件 weapp-ebdchartcoms/src/components/charts/core/{BaseView,ChartView,ChartHeader,AxisLabelName,ChartTotal,ChartStatChildren,getChartsStyles}.ts(x)、core/DataListDisplay/*、core/LabelDataListDisplay.tsx、core/index.less;UI 库 weapp-ui/src/components/{echarts,table,spin,pagination,empty}。",
335
+ "饼图是唯一会同时出现「数值展示列表」和「图表级分页」的类型。",
336
+ "扇形/扇区颜色、标签、引导线(hasLeadLength)都是 canvas,不是 DOM。"
337
+ ]
338
+ }