weaver-e10-builder 1.6.15 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/cli-register.d.ts +8 -1
  2. package/dist/cli-register.d.ts.map +1 -1
  3. package/dist/cli-register.js +238 -86
  4. package/dist/cli-register.js.map +1 -1
  5. package/dist/commands/actionflow.d.ts +1 -0
  6. package/dist/commands/actionflow.d.ts.map +1 -1
  7. package/dist/commands/actionflow.js +17 -1
  8. package/dist/commands/actionflow.js.map +1 -1
  9. package/dist/commands/designer-custom-page.d.ts +3 -0
  10. package/dist/commands/designer-custom-page.d.ts.map +1 -0
  11. package/dist/commands/designer-custom-page.js +56 -0
  12. package/dist/commands/designer-custom-page.js.map +1 -0
  13. package/dist/commands/designer-event.d.ts.map +1 -1
  14. package/dist/commands/designer-event.js +70 -5
  15. package/dist/commands/designer-event.js.map +1 -1
  16. package/dist/commands/designer-list-advanced.d.ts +3 -0
  17. package/dist/commands/designer-list-advanced.d.ts.map +1 -0
  18. package/dist/commands/designer-list-advanced.js +53 -0
  19. package/dist/commands/designer-list-advanced.js.map +1 -0
  20. package/dist/commands/designer-list-controls.d.ts +3 -0
  21. package/dist/commands/designer-list-controls.d.ts.map +1 -0
  22. package/dist/commands/designer-list-controls.js +39 -0
  23. package/dist/commands/designer-list-controls.js.map +1 -0
  24. package/dist/commands/designer-permission.d.ts +3 -0
  25. package/dist/commands/designer-permission.d.ts.map +1 -0
  26. package/dist/commands/designer-permission.js +32 -0
  27. package/dist/commands/designer-permission.js.map +1 -0
  28. package/dist/commands/designer-tabbar.d.ts +3 -0
  29. package/dist/commands/designer-tabbar.d.ts.map +1 -0
  30. package/dist/commands/designer-tabbar.js +24 -0
  31. package/dist/commands/designer-tabbar.js.map +1 -0
  32. package/dist/commands/ecode.d.ts +9 -0
  33. package/dist/commands/ecode.d.ts.map +1 -0
  34. package/dist/commands/ecode.js +81 -0
  35. package/dist/commands/ecode.js.map +1 -0
  36. package/dist/commands/form-base-setting.d.ts +3 -0
  37. package/dist/commands/form-base-setting.d.ts.map +1 -0
  38. package/dist/commands/form-base-setting.js +192 -0
  39. package/dist/commands/form-base-setting.js.map +1 -0
  40. package/dist/commands/form-field-linkage.d.ts +5 -0
  41. package/dist/commands/form-field-linkage.d.ts.map +1 -1
  42. package/dist/commands/form-field-linkage.js +82 -16
  43. package/dist/commands/form-field-linkage.js.map +1 -1
  44. package/dist/commands/form-list-columns.d.ts.map +1 -1
  45. package/dist/commands/form-list-columns.js +4 -0
  46. package/dist/commands/form-list-columns.js.map +1 -1
  47. package/dist/commands/form-list-config.d.ts.map +1 -1
  48. package/dist/commands/form-list-config.js +19 -3
  49. package/dist/commands/form-list-config.js.map +1 -1
  50. package/dist/commands/form-list-permission.d.ts.map +1 -1
  51. package/dist/commands/form-list-permission.js +34 -1
  52. package/dist/commands/form-list-permission.js.map +1 -1
  53. package/dist/commands/form-obj-meta.d.ts.map +1 -1
  54. package/dist/commands/form-obj-meta.js +194 -1
  55. package/dist/commands/form-obj-meta.js.map +1 -1
  56. package/dist/commands/form-table-view.d.ts.map +1 -1
  57. package/dist/commands/form-table-view.js +14 -4
  58. package/dist/commands/form-table-view.js.map +1 -1
  59. package/dist/commands/matrix-person.d.ts +3 -0
  60. package/dist/commands/matrix-person.d.ts.map +1 -0
  61. package/dist/commands/matrix-person.js +95 -0
  62. package/dist/commands/matrix-person.js.map +1 -0
  63. package/dist/commands/matrix.d.ts.map +1 -1
  64. package/dist/commands/matrix.js +3 -1
  65. package/dist/commands/matrix.js.map +1 -1
  66. package/dist/commands/page-combination.d.ts.map +1 -1
  67. package/dist/commands/page-combination.js +15 -0
  68. package/dist/commands/page-combination.js.map +1 -1
  69. package/dist/commands/page-management.d.ts +3 -0
  70. package/dist/commands/page-management.d.ts.map +1 -0
  71. package/dist/commands/page-management.js +16 -0
  72. package/dist/commands/page-management.js.map +1 -0
  73. package/dist/commands/page.d.ts.map +1 -1
  74. package/dist/commands/page.js +8 -9
  75. package/dist/commands/page.js.map +1 -1
  76. package/dist/commands/report-cell.d.ts.map +1 -1
  77. package/dist/commands/report-cell.js +215 -0
  78. package/dist/commands/report-cell.js.map +1 -1
  79. package/dist/commands/report-code.d.ts +9 -0
  80. package/dist/commands/report-code.d.ts.map +1 -0
  81. package/dist/commands/report-code.js +105 -0
  82. package/dist/commands/report-code.js.map +1 -0
  83. package/dist/commands/report.d.ts.map +1 -1
  84. package/dist/commands/report.js +70 -17
  85. package/dist/commands/report.js.map +1 -1
  86. package/dist/core/client.d.ts +12 -0
  87. package/dist/core/client.d.ts.map +1 -1
  88. package/dist/core/client.js +23 -2
  89. package/dist/core/client.js.map +1 -1
  90. package/dist/index.js +15 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/services/action-detail.d.ts +2 -0
  93. package/dist/services/action-detail.d.ts.map +1 -1
  94. package/dist/services/action-detail.js +11 -5
  95. package/dist/services/action-detail.js.map +1 -1
  96. package/dist/services/actionflow/build_workflow_draft.d.ts +1 -1
  97. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  98. package/dist/services/actionflow/build_workflow_draft.js +28 -24
  99. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  100. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  101. package/dist/services/actionflow/components/action_eb_update_compiler.js +2 -15
  102. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  103. package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
  104. package/dist/services/actionflow/components/custom_set_form.js +1 -9
  105. package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
  106. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
  107. package/dist/services/actionflow/components/dml_execute.js +3 -4
  108. package/dist/services/actionflow/components/dml_execute.js.map +1 -1
  109. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  110. package/dist/services/actionflow/components/document_actions.js +0 -3
  111. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  112. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  113. package/dist/services/actionflow/components/form_data_builder.js +27 -5
  114. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  115. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  116. package/dist/services/actionflow/components/hrm_actions.js +1 -3
  117. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  118. package/dist/services/actionflow/components/index.d.ts +1 -1
  119. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  120. package/dist/services/actionflow/components/index.js +1 -1
  121. package/dist/services/actionflow/components/index.js.map +1 -1
  122. package/dist/services/actionflow/components/inner_mq_listener.js +1 -1
  123. package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
  124. package/dist/services/actionflow/components/inner_mq_send.d.ts.map +1 -1
  125. package/dist/services/actionflow/components/inner_mq_send.js +6 -2
  126. package/dist/services/actionflow/components/inner_mq_send.js.map +1 -1
  127. package/dist/services/actionflow/components/multiple_execution.d.ts +1 -2
  128. package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
  129. package/dist/services/actionflow/components/multiple_execution.js +55 -276
  130. package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
  131. package/dist/services/actionflow/components/output.d.ts.map +1 -1
  132. package/dist/services/actionflow/components/output.js +3 -7
  133. package/dist/services/actionflow/components/output.js.map +1 -1
  134. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  135. package/dist/services/actionflow/components/send_message.js +6 -10
  136. package/dist/services/actionflow/components/send_message.js.map +1 -1
  137. package/dist/services/actionflow/components/serverless_action.d.ts.map +1 -1
  138. package/dist/services/actionflow/components/serverless_action.js +3 -2
  139. package/dist/services/actionflow/components/serverless_action.js.map +1 -1
  140. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  141. package/dist/services/actionflow/components/workflow_actions.js +0 -3
  142. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  143. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  144. package/dist/services/actionflow/context_preflight.js +12 -9
  145. package/dist/services/actionflow/context_preflight.js.map +1 -1
  146. package/dist/services/actionflow/filter_rules.js +4 -4
  147. package/dist/services/actionflow/filter_rules.js.map +1 -1
  148. package/dist/services/actionflow/formula_service.d.ts +0 -13
  149. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  150. package/dist/services/actionflow/formula_service.js +45 -267
  151. package/dist/services/actionflow/formula_service.js.map +1 -1
  152. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  153. package/dist/services/actionflow/generation_service.js +10 -12
  154. package/dist/services/actionflow/generation_service.js.map +1 -1
  155. package/dist/services/actionflow/id_generator.d.ts +2 -2
  156. package/dist/services/actionflow/id_generator.d.ts.map +1 -1
  157. package/dist/services/actionflow/id_generator.js +5 -11
  158. package/dist/services/actionflow/id_generator.js.map +1 -1
  159. package/dist/services/actionflow/loop_context.d.ts +12 -0
  160. package/dist/services/actionflow/loop_context.d.ts.map +1 -0
  161. package/dist/services/actionflow/loop_context.js +134 -0
  162. package/dist/services/actionflow/loop_context.js.map +1 -0
  163. package/dist/services/actionflow/param_group_dto.d.ts +7 -0
  164. package/dist/services/actionflow/param_group_dto.d.ts.map +1 -1
  165. package/dist/services/actionflow/param_group_dto.js +128 -16
  166. package/dist/services/actionflow/param_group_dto.js.map +1 -1
  167. package/dist/services/actionflow/param_mapping_basis.js +2 -2
  168. package/dist/services/actionflow/param_mapping_basis.js.map +1 -1
  169. package/dist/services/actionflow/preflight_service.d.ts +1 -0
  170. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  171. package/dist/services/actionflow/preflight_service.js +88 -291
  172. package/dist/services/actionflow/preflight_service.js.map +1 -1
  173. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -1
  174. package/dist/services/actionflow/readback_verifier.js +21 -2
  175. package/dist/services/actionflow/readback_verifier.js.map +1 -1
  176. package/dist/services/actionflow/save_workflow_draft.d.ts +2 -3
  177. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  178. package/dist/services/actionflow/save_workflow_draft.js +14 -16
  179. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  180. package/dist/services/actionflow/update_service.d.ts +5 -0
  181. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  182. package/dist/services/actionflow/update_service.js +126 -3
  183. package/dist/services/actionflow/update_service.js.map +1 -1
  184. package/dist/services/actionflow/workflow_compiler.d.ts +1 -2
  185. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  186. package/dist/services/actionflow/workflow_compiler.js +79 -105
  187. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  188. package/dist/services/designer-custom-page.d.ts +11 -0
  189. package/dist/services/designer-custom-page.d.ts.map +1 -0
  190. package/dist/services/designer-custom-page.js +227 -0
  191. package/dist/services/designer-custom-page.js.map +1 -0
  192. package/dist/services/designer-event.d.ts +7 -2
  193. package/dist/services/designer-event.d.ts.map +1 -1
  194. package/dist/services/designer-event.js +357 -33
  195. package/dist/services/designer-event.js.map +1 -1
  196. package/dist/services/designer-list-advanced.d.ts +9 -0
  197. package/dist/services/designer-list-advanced.d.ts.map +1 -0
  198. package/dist/services/designer-list-advanced.js +64 -0
  199. package/dist/services/designer-list-advanced.js.map +1 -0
  200. package/dist/services/designer-list-controls.d.ts +2 -0
  201. package/dist/services/designer-list-controls.d.ts.map +1 -0
  202. package/dist/services/designer-list-controls.js +85 -0
  203. package/dist/services/designer-list-controls.js.map +1 -0
  204. package/dist/services/designer-list-presentation.d.ts +2 -0
  205. package/dist/services/designer-list-presentation.d.ts.map +1 -0
  206. package/dist/services/designer-list-presentation.js +45 -0
  207. package/dist/services/designer-list-presentation.js.map +1 -0
  208. package/dist/services/designer-list-runtime.d.ts +2 -0
  209. package/dist/services/designer-list-runtime.d.ts.map +1 -0
  210. package/dist/services/designer-list-runtime.js +80 -0
  211. package/dist/services/designer-list-runtime.js.map +1 -0
  212. package/dist/services/designer-list-search.d.ts +2 -0
  213. package/dist/services/designer-list-search.d.ts.map +1 -0
  214. package/dist/services/designer-list-search.js +72 -0
  215. package/dist/services/designer-list-search.js.map +1 -0
  216. package/dist/services/designer-permission.d.ts +52 -0
  217. package/dist/services/designer-permission.d.ts.map +1 -0
  218. package/dist/services/designer-permission.js +316 -0
  219. package/dist/services/designer-permission.js.map +1 -0
  220. package/dist/services/designer-tabbar.d.ts +11 -0
  221. package/dist/services/designer-tabbar.d.ts.map +1 -0
  222. package/dist/services/designer-tabbar.js +114 -0
  223. package/dist/services/designer-tabbar.js.map +1 -0
  224. package/dist/services/ecode-check.d.ts +50 -0
  225. package/dist/services/ecode-check.d.ts.map +1 -0
  226. package/dist/services/ecode-check.js +408 -0
  227. package/dist/services/ecode-check.js.map +1 -0
  228. package/dist/services/esb-interface/importer.d.ts +35 -1
  229. package/dist/services/esb-interface/importer.d.ts.map +1 -1
  230. package/dist/services/esb-interface/importer.js +77 -1
  231. package/dist/services/esb-interface/importer.js.map +1 -1
  232. package/dist/services/form-base-setting.d.ts +88 -0
  233. package/dist/services/form-base-setting.d.ts.map +1 -0
  234. package/dist/services/form-base-setting.js +272 -0
  235. package/dist/services/form-base-setting.js.map +1 -0
  236. package/dist/services/form-list-columns.d.ts.map +1 -1
  237. package/dist/services/form-list-columns.js +12 -3
  238. package/dist/services/form-list-columns.js.map +1 -1
  239. package/dist/services/form-list-config.d.ts +40 -3
  240. package/dist/services/form-list-config.d.ts.map +1 -1
  241. package/dist/services/form-list-config.js +207 -25
  242. package/dist/services/form-list-config.js.map +1 -1
  243. package/dist/services/form-list-fields.d.ts.map +1 -1
  244. package/dist/services/form-list-fields.js +3 -1
  245. package/dist/services/form-list-fields.js.map +1 -1
  246. package/dist/services/form-log-setting.d.ts +55 -0
  247. package/dist/services/form-log-setting.d.ts.map +1 -0
  248. package/dist/services/form-log-setting.js +108 -0
  249. package/dist/services/form-log-setting.js.map +1 -0
  250. package/dist/services/form-obj-lang.d.ts +45 -0
  251. package/dist/services/form-obj-lang.d.ts.map +1 -0
  252. package/dist/services/form-obj-lang.js +127 -0
  253. package/dist/services/form-obj-lang.js.map +1 -0
  254. package/dist/services/form-obj-meta.d.ts +34 -0
  255. package/dist/services/form-obj-meta.d.ts.map +1 -1
  256. package/dist/services/form-obj-meta.js +81 -12
  257. package/dist/services/form-obj-meta.js.map +1 -1
  258. package/dist/services/form-table-view.d.ts +8 -2
  259. package/dist/services/form-table-view.d.ts.map +1 -1
  260. package/dist/services/form-table-view.js +22 -5
  261. package/dist/services/form-table-view.js.map +1 -1
  262. package/dist/services/form-view.d.ts +1 -1
  263. package/dist/services/form-view.d.ts.map +1 -1
  264. package/dist/services/form-view.js +38 -13
  265. package/dist/services/form-view.js.map +1 -1
  266. package/dist/services/matrix-person.d.ts +37 -0
  267. package/dist/services/matrix-person.d.ts.map +1 -0
  268. package/dist/services/matrix-person.js +57 -0
  269. package/dist/services/matrix-person.js.map +1 -0
  270. package/dist/services/org-browser.d.ts +32 -0
  271. package/dist/services/org-browser.d.ts.map +1 -1
  272. package/dist/services/org-browser.js +90 -12
  273. package/dist/services/org-browser.js.map +1 -1
  274. package/dist/services/page-combination.d.ts +1 -1
  275. package/dist/services/page-combination.d.ts.map +1 -1
  276. package/dist/services/page-combination.js +43 -10
  277. package/dist/services/page-combination.js.map +1 -1
  278. package/dist/services/page-management.d.ts +67 -0
  279. package/dist/services/page-management.d.ts.map +1 -0
  280. package/dist/services/page-management.js +166 -0
  281. package/dist/services/page-management.js.map +1 -0
  282. package/dist/services/page-permission.d.ts +2 -2
  283. package/dist/services/page-permission.d.ts.map +1 -1
  284. package/dist/services/page-permission.js +22 -9
  285. package/dist/services/page-permission.js.map +1 -1
  286. package/dist/services/report/cell-transform.d.ts +62 -0
  287. package/dist/services/report/cell-transform.d.ts.map +1 -0
  288. package/dist/services/report/cell-transform.js +192 -0
  289. package/dist/services/report/cell-transform.js.map +1 -0
  290. package/dist/services/report/code-block.d.ts +45 -0
  291. package/dist/services/report/code-block.d.ts.map +1 -0
  292. package/dist/services/report/code-block.js +92 -0
  293. package/dist/services/report/code-block.js.map +1 -0
  294. package/dist/services/report/dataset.d.ts +40 -0
  295. package/dist/services/report/dataset.d.ts.map +1 -1
  296. package/dist/services/report/dataset.js +171 -1
  297. package/dist/services/report/dataset.js.map +1 -1
  298. package/dist/services/report/lifecycle.d.ts.map +1 -1
  299. package/dist/services/report/lifecycle.js +24 -3
  300. package/dist/services/report/lifecycle.js.map +1 -1
  301. package/dist/services/workflow-base-settings.d.ts.map +1 -1
  302. package/dist/services/workflow-base-settings.js +19 -5
  303. package/dist/services/workflow-base-settings.js.map +1 -1
  304. package/ecode-ui/README.md +9 -0
  305. package/ecode-ui/ui-types.zip +0 -0
  306. package/ecode-ui/version.json +7 -0
  307. package/package.json +4 -1
  308. package/skill-docs/SKILL.md +19 -5
  309. package/skill-docs/_catalog.md +22 -1
  310. package/skill-docs/actionflows/SKILL.md +15 -11
  311. package/skill-docs/actionflows/references/components/database/DMLExecute.md +4 -0
  312. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +1 -1
  313. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +2 -0
  314. package/skill-docs/actionflows/references/components/logic/MultipleExecution.md +9 -30
  315. package/skill-docs/actionflows/references/components/message/InnerMQSend.md +7 -3
  316. package/skill-docs/actionflows/references/components/serverless/ServerlessAction.md +4 -0
  317. package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +6 -6
  318. package/skill-docs/actionflows/references/components/trigger/InnerMQListener.md +46 -41
  319. package/skill-docs/actionflows/references/components/trigger/WebHookTrigger.md +4 -0
  320. package/skill-docs/actionflows/references/dynamic_capability_matrix.md +3 -4
  321. package/skill-docs/actionflows/references/function_rules.md +5 -1
  322. package/skill-docs/actionflows/references/trigger_runtime_notes.md +1 -1
  323. package/skill-docs/assets/factory/factory-custom-page.json +339 -0
  324. package/skill-docs/references/common/ref-cli-commands.md +34 -5
  325. package/skill-docs/references/ebuilder-designer/component-permission.md +131 -0
  326. package/skill-docs/references/ebuilder-designer/events/actions-interaction.md +132 -108
  327. package/skill-docs/references/ebuilder-designer/events/guide-events.md +112 -57
  328. package/skill-docs/references/ebuilder-designer/guide-custom-page.md +176 -0
  329. package/skill-docs/references/ebuilder-designer/guide-designer-components.md +2 -0
  330. package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +2 -0
  331. package/skill-docs/references/ebuilder-designer/guide-designer.md +304 -296
  332. package/skill-docs/references/ebuilder-designer/guide-list.md +339 -0
  333. package/skill-docs/references/ebuilder-designer/guide-page-combination.md +162 -142
  334. package/skill-docs/references/ebuilder-designer/guide-page-management.md +90 -0
  335. package/skill-docs/references/ebuilder-designer/guide-page-permission.md +151 -145
  336. package/skill-docs/references/ebuilder-designer/guide-tabbar.md +57 -0
  337. package/skill-docs/references/esb-interface/guide-import.md +38 -34
  338. package/skill-docs/references/form/guide-create-form.md +13 -0
  339. package/skill-docs/references/form/guide-form-base-setting.md +78 -0
  340. package/skill-docs/references/form/guide-form-view.md +77 -13
  341. package/skill-docs/references/form/guide-list-columns.md +8 -0
  342. package/skill-docs/references/hrm/guide-matrix.md +16 -0
  343. package/skill-docs/references/report/cell-transform-guide.md +17 -3
  344. package/skill-docs/references/report/code-block-guide.md +54 -0
  345. package/skill-docs/references/report/dataset-sidebar-ops-guide.md +8 -0
  346. package/skill-docs/references/report/ref-report-commands.md +7 -1
  347. package/skill-docs/references/report/report-designer-feature-map.md +1 -1
  348. package/skill-docs/references/report/report-list-page-ops-guide.md +2 -0
@@ -0,0 +1,9 @@
1
+ # ECode 类型底座
2
+
3
+ 本目录由 `scripts/build-ecode-ui-types.mjs` 从 weapp-ui 组件库源码生成。
4
+
5
+ - `ui-types.zip`:TypeScript 声明树(`types/` + `vendor/`),供 `e10-cli ecode check` 使用
6
+ - `version.json`:组件库版本(`@weapp/ui@0.0.381`)
7
+
8
+ `ecode check` 首次运行会把 zip 解到本机缓存目录(按版本 + zip 哈希区分),之后直接复用。
9
+ 压缩包不包含组件实现、Demo 或任何运行时;升级组件库时整包重新生成。
Binary file
@@ -0,0 +1,7 @@
1
+ {
2
+ "library": "@weapp/ui",
3
+ "version": "0.0.381",
4
+ "generatedAt": "2026-11-05T09:45:05.295Z",
5
+ "source": "weapp-ui-develop",
6
+ "generator": "scripts/build-ecode-ui-types.mjs"
7
+ }
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "weaver-e10-builder",
3
- "version": "1.6.15",
3
+ "version": "1.7.0",
4
4
  "description": "Eteams/Ebuilder CLI — 泛微 OA 命令行工具",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
8
8
  "ecodecmd",
9
+ "ecode-ui",
9
10
  "skill-docs",
10
11
  "assets"
11
12
  ],
@@ -19,11 +20,13 @@
19
20
  "postinstall": "node ./dist/postinstall.js",
20
21
  "pack:all": "node scripts/pack-editions.mjs",
21
22
  "sync:docs": "node scripts/sync-skill-docs.mjs",
23
+ "build:ecode-ui": "node scripts/build-ecode-ui-types.mjs",
22
24
  "start": "node dist/index.js",
23
25
  "test": "tsx --test \"test/**/*.test.ts\""
24
26
  },
25
27
  "dependencies": {
26
28
  "@napi-rs/keyring": "^1.3.0",
29
+ "@types/react": "^17.0.10",
27
30
  "@xmldom/xmldom": "0.8.15",
28
31
  "archiver": "^5.3.1",
29
32
  "axios": "^1.3.4",
@@ -2,11 +2,11 @@
2
2
  name: weaver-e10-builder
3
3
  display_name: 泛微E10智能搭建Skill
4
4
  display_name_en: E10 Builder
5
- description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.6.15
6
- description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.6.15。
7
- description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.6.15.
5
+ description: 泛微E10智能搭建skill v2(通用版),辅助编写泛微Ebuilder自定义应用,对应CLI版本1.7.0
6
+ description_zh: 泛微Ebuilder低代码应用智能搭建工具 v2(通用版),辅助编写自定义应用(表单/流程/列表/动作流/权限/分组/编号等),与 e10-cli 配套使用,当前对应 CLI 版本 1.7.0。
7
+ description_en: E10 Ebuilder low-code app builder skill v2 (general) — helps build Weaver E10 custom apps (forms/workflows/lists/actionflows/permissions/groups/numbering) via e10-cli, currently paired with CLI 1.7.0.
8
8
  category: coding
9
- version: 1.6.15
9
+ version: 1.7.0
10
10
  author: 泛微网络科技股份有限公司
11
11
  auto: true
12
12
  ---
@@ -171,4 +171,18 @@ auto: true
171
171
 
172
172
  普通页面设计器源码 JS/CSS、页面 SDK、页面/组件加载事件、组件实例、列表勾选和插件、图表 option、页面内表单组件:阅读 [页面源码指南](references/ebuilder-designer/page-source/page-source-guide.md),按 [SDK 索引](references/ebuilder-designer/page-source/sdk-index.md) 查接口。使用 `designer source read/check/set/sdk`;与表单 JSSDK、组件自由 CSS、独立 ecode 工程分开。
173
173
 
174
- 页面/组件的单击与加载完成动作配置:阅读 [事件指南](references/ebuilder-designer/events/guide-events.md),使用 `designer event get/set/enable/remove/schema/lookup`。**同一对象两种事件各最多一条,每条最多一个动作,替换不追加。** 页面跳转、条件、组件显隐、菜单、刷新和集成动作按该入口自己的参数与码表配置。
174
+ 页面/组件的单击与加载完成动作配置:阅读 [事件指南](references/ebuilder-designer/events/guide-events.md),使用 `designer event get/set/enable/remove/schema/lookup`。同一触发支持有序多动作和递归 IF/ELSEIF/ELSE 分支,使用 action/branch 按 ID 编辑;set {actions:[...]} 明确整体替换。 页面跳转、条件、组件显隐、菜单、刷新和集成动作按该入口自己的参数与码表配置。
175
+
176
+ 页面内单个组件的使用范围、禁用范围、矩阵或EB表单相关人员授权:阅读 [组件权限指南](references/ebuilder-designer/component-permission.md),使用 `designer permission`。与页面整体权限、列表数据权限分别配置。
177
+
178
+ 移动端标签栏、TabBar、首页、默认菜单、记忆菜单、最多显示数量、菜单排序与菜单事件:阅读 [标签栏指南](references/ebuilder-designer/guide-tabbar.md),使用 `designer tabbar` 和 `designer event --collection items`。
179
+
180
+ 列表显示、查询分组统计、聚合、自定义计算、数据扩展和 CLICKDATA:阅读 [列表高级配置](references/ebuilder-designer/guide-list.md),使用 `designer list advanced`。
181
+
182
+ 列表固定过滤、多字段排序、普通/快捷/分类搜索、系统与自定义操作按钮:阅读 [列表搜索与按钮指南](references/ebuilder-designer/guide-list.md),使用 `designer list controls`;按钮动作使用 `designer event --collection listButtons`。
183
+
184
+ 列表表头快捷操作、隐藏表头、勾选框禁用、展示分组与上下级:阅读 [列表展示指南](references/ebuilder-designer/guide-list.md),使用 `designer list advanced presentation`。
185
+
186
+ 自定义页面组件、嵌入页面/链接、条件切换内容、组件显示条件、标题与刷新/全屏/帮助按钮:阅读 [自定义页面组件指南](references/ebuilder-designer/guide-custom-page.md),使用 `designer custom-page`;帮助动作使用 `designer event --collection customPageButtons`。
187
+
188
+ 普通页面重命名、复制、转移、删除、页面分组及可转移应用查询:阅读 [普通页面管理](references/ebuilder-designer/guide-page-management.md),使用 `page rename/copy/transfer/groups/transfer-targets/delete`。
@@ -57,6 +57,7 @@
57
57
  | 报表、设计器报表、EDC报表、新建报表、report build、数据集、报表列、父格、合并、冻结、tableName | `references/report/guide-report-build.md`(建表主干)· `guide-report-modify.md`(改已有)· `ref-report-pitfalls.md`(先扫坑) |
58
58
  | 报表查询条件、高级搜索、筛选、queryType、默认值三件套 | `references/report/guide-report-query.md`;细则 `query-condition-api-guide.md` |
59
59
  | 报表命令、report 子命令、report build/verify/fix/scope/snapshot | `references/report/ref-report-commands.md` |
60
+ | 报表代码块、开始区代码块、cusCode、按 sheet 存 JS/HTML | `report code-block get/set/clear`;先读 `references/report/code-block-guide.md` |
60
61
  | 报表接口、saveReportDevInfo、addDataset、getReportDevInfo、报表落库流程 | `references/report/api-report-build-fast-path.md` · `report-config-schema.md`(配置结构) · `report-data-model.md`(枚举) |
61
62
  | 报表单元格模型、cellType、displayType、expandType、groupType、countType | `references/report/report-data-model.md` · `report-config-schema.md` |
62
63
  | 报表权限、共享范围、viewRight、权责矩阵 | `references/report/report-permission-guide.md` |
@@ -121,7 +122,27 @@
121
122
  | 编译报错排查 | `references/coding/ref-compile-rules.md`(前端代码) |
122
123
 
123
124
  - 流程功能设置(batch-set/auto-approve/other-set/水印/导入/事项赋权/文档权限):`references/workflow/guide-function-settings.md`
125
+
126
+ ## 页面设计器扩展索引
127
+
128
+ | 功能关键词 | 参考文档 |
129
+ |---|---|
124
130
  | 页面权限、页面使用范围、页面禁用范围、页面矩阵授权、page permission | `references/ebuilder-designer/guide-page-permission.md` |
125
131
  | 组合页面、组合页签、页签可见范围、页签禁用范围、组合页头、组合复制、page combination | `references/ebuilder-designer/guide-page-combination.md` |
126
132
  | 普通页面源码、页面 JS/CSS、页面SDK、ebSdk、pageSdk、pageLoad、compLoad、compBeforeMount、getExports、列表插件、页面组件实例、designer source | `references/ebuilder-designer/page-source/page-source-guide.md`(功能、编写、保存)· `references/ebuilder-designer/page-source/sdk-index.md`(11 类 61 条 SDK 接口) |
127
- | 页面事件、组件事件、单击、加载完成、事件动作、打开页面、刷新组件、条件控制、显示隐藏组件、显示菜单、执行ESB、执行逻辑流、企业微信会话、扫描上传、报表事件、designer event | `references/ebuilder-designer/events/guide-events.md`(单事件单动作、命令与范围)· `references/ebuilder-designer/events/actions-interaction.md` · `references/ebuilder-designer/events/actions-integration.md` |
133
+ | 页面事件、组件事件、单击、加载完成、事件动作、打开页面、刷新组件、条件控制、显示隐藏组件、显示菜单、执行ESB、执行逻辑流、企业微信会话、扫描上传、报表事件、designer event | `references/ebuilder-designer/events/guide-events.md`(顺序多动作、递归条件、命令与范围)· `references/ebuilder-designer/events/actions-interaction.md` · `references/ebuilder-designer/events/actions-integration.md` |
134
+ | 组件权限、组件使用范围、组件禁用范围、矩阵相关、designer permission | `references/ebuilder-designer/component-permission.md` |
135
+
136
+ | 移动端标签栏、TabBar、标签菜单、记忆菜单、默认菜单、designer tabbar | `references/ebuilder-designer/guide-tabbar.md` |
137
+
138
+ | NList、列表数据范围、分组聚合、COUNT/SUM/MAX/MIN/AVG、数据扩展、CLICKDATA | `references/ebuilder-designer/guide-list.md` |
139
+
140
+ | 列表过滤、排序、搜索、分类搜索、操作按钮、listButtons、designer list controls | `references/ebuilder-designer/guide-list.md` |
141
+
142
+ | 表头快捷操作、隐藏表头、勾选框禁用、上下级、superiorField、enableGroup | `references/ebuilder-designer/guide-list.md` |
143
+
144
+ | CustomPage、自定义页面组件、内嵌页面、conditionControl、showCondition、customPageButtons | `references/ebuilder-designer/guide-custom-page.md` |
145
+
146
+ | 事件顺序、多动作、递归条件、IF/ELSEIF/ELSE、action/branch、行点击 | `references/ebuilder-designer/events/guide-events.md` |
147
+
148
+ | 普通页面管理、重命名、复制页面、转移应用、页面分组、page rename/copy/transfer/delete | `references/ebuilder-designer/guide-page-management.md` |
@@ -24,7 +24,7 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
24
24
 
25
25
  ### 1. 识别与选择
26
26
 
27
- 1. 拆出触发器、动作顺序、条件/循环、固定资源与动态来源。
27
+ 1. 拆出触发器、动作顺序、条件、固定资源与动态来源。
28
28
  2. 运行 `e10-cli actionflow component-list`,选择已登记组件。
29
29
  3. 对每一个选中的组件运行 `e10-cli actionflow component-describe <type>`,再只读取下方目录中该组件的 Markdown。
30
30
  4. 若存在多个业务选择会改变结果,或用户明确指定的资源找不到,暂停说明差异并询问;其余可查询的信息直接查询。
@@ -33,16 +33,18 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
33
33
 
34
34
  按 `component-describe` 的 `propertySources` 查询本次租户数据:
35
35
 
36
- - 流程:`e10-cli actionflow workflow-browser-list` / `workflow-search` / `workflow-nodes`。
36
+ - 循环组件支持指定次数、条件、逐条数据和分批数据四种方式;循环体与参数结构见 `references/components/logic/MultipleExecution.md`。
37
+ - 获取字段元数据时,按接口需要传组件、表单或数据源等定位参数,先获取该范围的完整字段列表,再在本地按字段名称或路径匹配;不要把目标字段名称作为字段接口的查询条件,也不要逐个字段调用接口。若接口分页则取全各页;名称匹配不唯一时使用完整路径或真实字段 ID 消歧。下方上下文字段命令的 `query` 只用于本地筛选返回结果。
38
+ - 流程定义:`e10-cli actionflow workflow-browser-list` / `workflow-search` / `workflow-nodes`。流程实例(固定 `requestId`):`e10-cli actionflow workflow-request-search '{"searchValue":"<流程标题>"}'`,使用 `wfcRequest`;该接口只支持按名称联想,纯 ID 不能反查。人员、流程实例、日程类型、会议室、文档、目录和借阅记录等固定 Browser 值统一按名称查询;若同时提供 id,则用于唯一性校验。只有 id、没有名称时必须停止,不能拼造 `originValue`。动态 `requestId` 从实时上下文字段赋值。
37
39
  - 流程动态字段:`e10-cli actionflow workflow-context-fields`。默认每页 20 条;按需求字段名先传 `query`(例如 `{"workflowId":"<id>","query":"数据ID"}`),只使用本次返回的 `fields[].paramKey`。完整响应过大时用 `--out context.json` 落盘,禁止依赖终端截断后的片段。
38
- - 其他组件动态字段:`e10-cli actionflow component-context-fields '{"componentType":"<组件类型>","currentApplication":"<当前动作流ID;新建传0>","eventNodeId":"<上游节点ID>","params":{...},"query":"<字段名或关键词>"}'`。该命令会先解析数据源 Browser,再查询 `showDataSourceFields` 匹配实际可选输出字段,随后编译组件上下文并调用 `getComponentContext`。`EnquiryForm`、`TimeBatchTrigger`、`DateTrigger` 都适用。**必须在写入任何动态赋值前查询来源组件**;只允许从本次 `getComponentContext` 结果选择 `fields[].paramKey`,接口未返回的字段必须先查明该组件是否有受支持的依据值/循环语义,否则停止该映射,不得凭字段名、约定根节点或历史经验补造。
40
+ - 其他组件动态字段:`e10-cli actionflow component-context-fields '{"componentType":"<组件类型>","currentApplication":"<当前动作流ID;新建传0>","eventNodeId":"<上游节点ID>","params":{...},"query":"<字段名或关键词>"}'`。该命令会先解析数据源 Browser,再查询 `showDataSourceFields` 匹配实际可选输出字段,随后编译组件上下文并调用 `getComponentContext`。`EnquiryForm`、`TimeBatchTrigger`、`DateTrigger` 都适用。**必须在写入任何动态赋值前查询来源组件**;只允许从本次 `getComponentContext` 结果选择 `fields[].paramKey`,接口未返回的字段必须先查明该组件是否有受支持的依据值语义,否则停止该映射,不得凭字段名、约定根节点或历史经验补造。
39
41
  - 数据源名称通过 Browser 模糊搜索:只有一个候选时使用该候选;多个候选时展示名称、所属应用和 ID,让用户选择。拿到选择的 ID 后重新解析;数据源 ID 和 `type/sourceType` 均使用接口返回值。
40
42
  - 计划按执行顺序构造时,先查询触发器,再逐个查询会提供动态数据的上游动作;每一步都用该组件本次真实参数(尤其数据源、目标表和选中的字段)查询。下游映射只能选择已查询来源返回的字段。`generate` 的预检是最后一道校验,不可代替生成前的字段发现。
41
43
  - e-builder(**已知表名时首选**):`e10-cli actionflow form-search '{"keyword":"<表名>"}'` 一次拿到表单 `objId` 与它所属的业务应用 `appId`。服务端是**子串模糊匹配**,同名表跨多个应用很常见(返回体里的 `完全同名` 即同名条数)—— **多于一条时必须按 `appName` 收窄再取**,不得自行挑一个:`'{"keyword":"<表名>","appName":"<应用名>"}'`。`keyword` 传 `objId` 则是精确命中,可用来由 id 反查所属应用。
42
44
  - **`appName` 走服务端过滤**(不是本地二次筛):应用名精确唯一才用;**同名多命中或查无此名会直接报错并列出候选**,此时改用 `appId` 指定,不要换个近似名重试。
43
45
  - **返回体 `total` 是服务端在该筛选下的命中总数,`hits` 可能只是其中一部分。** 默认最多返回 100 条,超出时 `truncated: true` 并给出 `omitted`(未返回条数)。**`truncated` 为真时绝不能判定「表单不存在」** —— 先按 `appName` 收窄,确需全部再传 `{"max":0}`(条数大时用 `--out <file>` 落盘)。判断是否唯一命中以 `唯一命中` 字段为准,不要自己数 `hits` 长度。
44
46
  - e-builder(**只知道应用、要浏览全表**):`e10-cli actionflow form-applications` → `form-list` → `form-fields`。`form-applications` 返回的业务应用 `id` 用于下一步:`e10-cli actionflow form-list '{"groupId":"<业务应用ID>"}'`;这里必须是 `groupId`,不能传 `appId`。表单字段查询才使用 `{"tableId":"<表单ID>","appId":"<业务应用ID>"}`。
45
- - 人员:`e10-cli actionflow recipient-search`。
47
+ - 人员:`e10-cli actionflow recipient-search '{"searchValue":"<姓名>"}'`;必须提供 `searchValue`,不接受 `keyword`。
46
48
  - 人员入职/更新字段:`e10-cli actionflow hrm-onboarding-fields`。
47
49
  - 文档状态:`e10-cli actionflow document-statuses`。
48
50
 
@@ -50,22 +52,24 @@ description: "将业务需求编译为 Weaver ESB 动作流,或读取已有动
50
52
 
51
53
  ### 3. 组装语义计划
52
54
 
53
- 1. 写入 `event`、`actions`,条件和循环作为动作拓扑的一部分。
55
+ 1. 写入 `event`、`actions`,条件作为动作拓扑的一部分。
54
56
  2. 只传 `component-describe` 声明的参数;固定值与动态值根据业务需求选择,不能为了动态而动态。
55
- 3. 语义 plan 的节点配置统一放在 `params`:`event.params`、`actions[*].params` 以及条件/循环内部节点的 `params`。`data` 仅属于平台回读/更新 DTO,不能出现在 `generate` 语义计划中;CLI 会在调用任何平台接口前拒绝该结构,并提示具体路径。
57
+ 3. 语义 plan 的节点配置统一放在 `params`:`event.params`、`actions[*].params` 以及条件内部节点的 `params`。`data` 仅属于平台回读/更新 DTO,不能出现在 `generate` 语义计划中;CLI 会在调用任何平台接口前拒绝该结构,并提示具体路径。
56
58
  4. 中文 plan 写入当前工作区 `.actionflow-plans/`,以 `planFile` 传给 CLI;不在 Skill 目录写临时文件。CLI 不会自动删除 plan;确认 `valid=true`、`saved=true`、`readBackVerified=true` 后才允许手工清理。
57
59
  4.1. 命名遵循“展示中文、机器字段 code 化”:动作流名称、节点显示名称、参数 `showName`/`label`、说明文字等面向用户的展示字段可以使用中文;`paramName`、`paramKey`、变量/常量引用名、请求编码、Topic/队列名、字段路径、公式引用键以及其他机器可读标识默认使用英文字母、数字和下划线,优先 lowerCamelCase 或 snake_case,不使用中文、空格或特殊字符。`type`、`kind`、`paramType`、枚举值等必须沿用组件契约中的 code;已从平台真实对象取得的 ID、名称、原生 DTO 字段和固定资源值不得擅自改写,只对 AI 新建的语义标识执行该规则。
58
60
  5. 不把 `Output` 写入 `actions`。需要配置终止状态、提示或页面动作时使用顶层 `finalOutput.params`;提醒内容使用前端富文本组件对应的 `reminderContent`(`ContestSettingDTO`,动态片段放在 `formulaBeans`),不要使用旧的 `reminderMsgFormula`。流程触发(`ApproveTrigger`)只支持提醒,不支持页面交互、页面动作或跳转地址;页面动作仅可用于 `EventButton`。平台内部 FormulaBean 由 CLI 生成,只有组件契约明确要求前端原对象时才传原生 DTO。
59
- 5.1. 所有 CLI 生成或继续编译的 FormulaBean,只要包含 `frontId`,允许使用空串;非空时必须使用平台真实字段 ID 的纯数字字符串。`field_<数字>` 仅可在生成时规范化为 `<数字>`。禁止把字段名、paramKey 尾段、临时公式 ID 或其他包含字母/符号的值写入 `frontId`;非空值无法解析为纯数字时必须直接报错。
61
+ 5.1. 动态上下文字段的 `frontId` 必须使用来源组件实时接口返回的字段 ID,保留接口原值;缺失时停止生成并提示查询上下文。禁止从字段名、目标字段、paramKey 尾段或 `field_` 前缀转换得到字段 ID。原生 FormulaBean 保留其原始 `frontId`;默认记录详情链接等前端明确使用公式实例 ID 的场景按对应协议处理;手动选择的富文本动态字段仍使用参数行 ID。
60
62
  6. 定时组件优先使用平台原生频率:`rate=1` 一次、`2` 按小时、`3` 按日、`4` 按周、`5` 按月,并按需提供 `cycle`、`hour`、`day`、`week`、`atWeek`、`atWeekDetail` 或 `lastWeek`;只有明确选择 `rate=6` 时才传 `cornString`。图形化频率必须提供 `startTime`。
61
63
  7. `EnquiryForm`、`TimeBatchTrigger`、`DateTrigger` 的 `queryFields` 会裁剪 `getComponentContext` 返回的动态上下文。字段必须来自当前租户的 `showDataSourceFields` 完整字段对象;若后续动态赋值引用了其中字段,预检会按真实字段 ID 匹配并把它并入 `queryFields`,匹配不到就报错,不能按名称或路径尾段造字段。未明确限制输出字段时不传 `queryFields`(或传空数组),CLI 默认全选。查询节点还必须使用自身真实节点 ID 作为 `dataSource.enquiryId`,否则平台可能静默丢弃业务字段。正式回读必须确认每个声明的 `queryFields` 仍存在;缺失即生成失败,不能仅凭接口 `code=200`、`saved=true` 判定成功。e-builder 数据触发后发送消息且未显式给链接时,CLI 自动补 PC/移动端当前记录详情链接;不手写 `{formId}` / `{dataId}` 的 FormulaBean。查询结果字段动态赋值必须使用 `getComponentContext` 返回的真实 `paramKey` 和字段实例 ID;字段名称缺失或匹配不唯一时停止,不按数字 ID 拼接前缀。禁止使用 `FormData.<表单ID>[临时位置]...`,也禁止把临时公式 ID 当作 `frontId`。
62
64
  8. `ActionEbAdd` 批量新增以 `basisValue` 为明细行上下文:来源于该行的字段都用 `mapping`,编译为“依据值下级”(`switchType:"sub"`),下拉字段也同样处理。只有已核实来源/目标选项 ID 不同且语义需要转换时,才使用 `SWITCH`。关联 e-builder 字段应引用查询结果的 `数据ID`,固定格式为 `{target,kind:"query_result",source:"<EnquiryForm ref>",formId,fieldId:"id",index:0}`;`kind:"enquiry"`、`sourceId` 等旧写法会直接报错,绝不降级为空固定值。
63
65
  9. 动态赋值可使用或新建动作流变量、租户常量:已有资源必须用真实 ID;计划新建变量写顶层 `variables[]`,新建常量写 `constantDefinitions[]`,常量分组可传 `groupPk` 或 `groupName`。变量按当前 `applicationId + sceneId` 隔离,常量按分组跨动作流复用。生成时先调用真实接口创建/解析资源,再编译为变量 `type:"7"` 或常量 `type:"5"` FormulaBean;详细格式见 `references/dynamic_resources.md`。消息 `SendMessage.msgTitlev/msgContentv/picLink/msgPcLink/msgMobileLink` 的 `parts` 支持 `variable`/`constant` 动态片段,并统一保存为 `ContestSettingDTO`。
64
66
  9.1. 每个参数先分为“动态公式属性”“动态人员属性”“固定平台资源属性”三类:上下文、系统变量、变量、常量、函数/公式必须保留为 FormulaBean;动态人员必须使用真实人员字段上下文或系统变量,不得把引用里的 `id` 当人员 Browser ID 查询;工作流、文档目录、按钮、规则等平台资源只有在其组件契约明确提供动态引用时才允许动态化。生成前必须记录本次组件/属性的判定,生成后按属性检查回读结果;具体映射和验证状态见 `references/dynamic_capability_matrix.md`。
65
- 10. 自定义事件和内置 MQ 的参数必须按对应平台组件说明提供原生参数对象;`CustomTrigger.customData`、`InnerMQListener.receiveParams`、`InnerMQSend.sendParams` 不能用猜测的字段替代。若验证要求“输入参数里有字段”,必须在生成前提供至少一行真实原生参数;`tables:[]`、`tableList:[]` 或省略 `receiveParams` 只能表示无输入参数,不能作为有参数的占位。`InnerMQListener` 与 `InnerMQSend` 是动作流级互斥组件,同一计划(包括条件/循环嵌套)同时出现时,CLI 在任何平台写接口前直接报错。
67
+ 10. 自定义事件和内置 MQ 的参数必须按对应平台组件说明提供原生参数对象;`CustomTrigger.customData`、`InnerMQListener.receiveParams`、`InnerMQSend.sendParams` 不能用猜测的字段替代。若验证要求“输入参数里有字段”,必须在生成前提供至少一行真实原生参数;`tables:[]`、`tableList:[]` 或省略 `receiveParams` 只能表示无输入参数,不能作为有参数的占位。`InnerMQListener` 与 `InnerMQSend` 是动作流级互斥组件,同一计划(包括条件嵌套)同时出现时,CLI 在任何平台写接口前直接报错。
66
68
  11. 根触发节点的 `event.attr.icon` 必须使用平台真实图标:`CustomTrigger` 为 `Icon-N-Triggerrul`,`InnerMQListener` 为 `Icon-built-in-mq-listening-mcolor`;组件目录里的动作图标不能覆盖根触发器图标。保存后回读必须同时检查触发器图标、已声明输入参数的数量和查询字段,不能仅凭 `valid=true` / `saved=true` 判定配置正确。
67
- 12. 仅在生成 `ParamMappingBean`、`ParamSettingBean`(及其同形态的参数分组 DTO)的 `tableData[].paramType` 时,按后端 `com.weaver.esb.base.enums.ParamType` 归一化:无法匹配枚举值回退为文本 `string`;数字类型统一为整数 `int`;长整型统一为文本 `string`。这条规则不适用于普通 `FormulaBean`、表单字段上下文、循环上下文或 `CustSetFormDto`。`paramType=json` 或 `arrs=true` 时 `dataType` 强制为节点 `node`,不能保留/生成属性 `attribute`;其他普通标量默认使用属性,结构化参数的下级用 `parentId` 表达,并保留父子约束。具体规则见 `references/components/message/InnerMQSend.md`。
68
- 12.1. 所有组件的动态字段最终都必须生成合法的 `FormulaBean`,统一按以下五类来源处理:①普通组件上下文只能使用该组件 `getComponentContext` 返回的字段元数据;②循环体字段使用前端循环上下文拼出的 `CycleParams`,并保留循环数据源的真实来源;③`EsbFormDataDto` 的依据值下级按表单设置组件的 `basisValue`、`parentName`、`paramName` 和数组层级规则生成;④`ParamMappingBean`/`ParamSettingBean` 的依据值下级按参数设置组件的相对 `paramKey` 和 `basisParamKey` 规则生成;⑤`CustSetFormDto` 的依据值下级沿用表单设置组件规则。不能按字段名、paramKey 尾段、组件默认根或临时 ID 凭空补造 `frontId`、`parentName`、`paramKey`、`newParentName`;缺少真实上下文时应在预检阶段报错。
69
+ 12. 仅在生成 `ParamMappingBean`、`ParamSettingBean`(及其同形态的参数分组 DTO)的 `tableData[].paramType` 时,按后端 `com.weaver.esb.base.enums.ParamType` 归一化:无法匹配枚举值回退为文本 `string`;数字类型统一为整数 `int`;长整型统一为文本 `string`。这条规则不适用于普通 `FormulaBean`、表单字段上下文或 `CustSetFormDto`。`paramType=json` 或 `arrs=true` 时 `dataType` 强制为节点 `node`,不能保留/生成属性 `attribute`;其他普通标量默认使用属性,结构化参数的下级用 `parentId` 表达,并保留父子约束。具体规则见 `references/components/message/InnerMQSend.md`。
70
+ 参数 ID:新建参数设置或映射 DTO(含分组)时,在 DTO 根对象设置 `idPolicy: "new"`;CLI 在首次获取组件上下文前生成雪花 ID,并同步参数父子关系、展开行和依据参数行引用,提交后端时移除此标记。新建字段可省略 ID;存在父子关系时用唯一的临时 ID 及 `parentId` 关联,不能把从 1 开始的临时编号当作平台 ID。对于接口返回的已有参数 DTO,保留其真实 ID,不设置此标记。普通动态赋值的 `source` 和 `frontId` 仍取来源组件真实上下文,不随目标参数 ID 重生成。
71
+
72
+ 12.1. 所有组件的动态字段最终都必须生成合法的 `FormulaBean`,统一按以下四类来源处理:①普通组件上下文只能使用该组件 `getComponentContext` 返回的字段元数据;②`EsbFormDataDto` 的依据值下级按表单设置组件的 `basisValue`、`parentName`、`paramName` 和数组层级规则生成;③`ParamMappingBean`/`ParamSettingBean` 的依据值下级按参数设置组件的相对 `paramKey` 和 `basisParamKey` 规则生成;④`CustSetFormDto` 的依据值下级沿用表单设置组件规则。不能按字段名、paramKey 尾段、组件默认根或临时 ID 凭空补造 `frontId`、`parentName`、`paramKey`、`newParentName`;缺少真实上下文时应在预检阶段报错。
69
73
 
70
74
  ### 4. 生成与逐场景反馈
71
75
 
@@ -141,7 +145,7 @@ e10-cli actionflow update '@update-plan.json' --out update-result.json #
141
145
 
142
146
  当前可生成的事件触发器:`ApproveTrigger`(流程事件)、`EventFormData`(e-builder 数据新增/更新/删除/字段变化)、`EventButton`(点击 e-builder 指定按钮)、`DateTrigger`、`TimeBatchTrigger`、`SimpleScheduler`、`CustomTrigger`(自定义事件)、`InnerMQListener`(内置 MQ 监听)和 `WebHookTrigger`(外部 WebHook 请求)。`EventButton` 必须先用 `e10-cli actionflow form-buttons '{"tableId":"<表单ID>","appId":"<应用ID>"}'` 查询真实按钮,再以 `targetForm`、`buttonType:[{id,name,buttonLocation:"before"|"after"}]` 和可选 `triggerType` 生成;不得用 `EventFormData` 冒充按钮点击。`CustomTrigger`、`InnerMQListener` 和 `WebHookTrigger` 的原生参数要求见 `references/components/trigger/CustomTrigger.md`、`references/components/trigger/InnerMQListener.md`、`references/components/trigger/WebHookTrigger.md`。
143
147
 
144
- `CustomTrigger` 的上下文动态赋值使用 `SelectParams` 作为最终上下文根。`paramKey` 只写业务路径,不写 `FormData.`、`ApprovalData.` 或 `SelectParams.` 前缀;主表字段格式为 `主表key.字段key`,明细字段格式为 `主表key.明细表key[].字段key`,主表与明细表必须沿用同一个主表 key。最终公式中的 `value`、`currentParamKey` 和 `allParamKey` 才补 `SelectParams.` 前缀,不能把明细字段写成 `FormData.明细表key[].字段key`。如果动态赋值来源于该触发器生成的 `customData`(`CustSetFormDto`),必须先在 `customData.tableList[]` 定位 `CustFormTableDto`,表维度取表对象 `id`,字段维度再从该表 `fields[]` 定位 `CustFormDetailDto` 并取字段对象 `id`,把这个 ID 设置到关联 FormulaBean.frontId;不得使用目标字段 ID、FormulaBean.id、表/字段名称或 paramKey 尾段。对应 ID 缺失时 frontId 使用空串,非空值必须为纯数字字符串。完整规则见 `references/components/trigger/CustomTrigger.md`。
148
+ `CustomTrigger` 的上下文动态赋值使用 `SelectParams` 作为最终上下文根。`paramKey` 只写业务路径,不写 `FormData.`、`ApprovalData.` 或 `SelectParams.` 前缀;主表字段格式为 `主表key.字段key`,明细字段格式为 `主表key.明细表key[].字段key`,主表与明细表必须沿用同一个主表 key。最终公式中的 `value`、`currentParamKey` 和 `allParamKey` 才补 `SelectParams.` 前缀,不能把明细字段写成 `FormData.明细表key[].字段key`。动态赋值来自该触发器时,必须查询 `getComponentContext`,按所选表或字段的完整路径定位参数行,使用该 `ParamBean.id` 设置 FormulaBean.frontId;不得使用目标字段 ID、FormulaBean.id、表/字段名称或 paramKey 尾段。对应 ID 缺失时停止生成并提示查询上下文,取得后原样使用。完整规则见 `references/components/trigger/CustomTrigger.md`。
145
149
 
146
150
  动作 `Http` 用于调用当前租户已配置的 HTTP/HTTPS 接口,参数要求见 `references/components/http/Http.md`;HTTPS 使用同一个 `Http` 组件,不能把协议地址当成新的组件类型。生成前会实时读取并校验“连接器 → 资源 → 接口 → 接口详情”,节点标题按“当前连接器: 当前接口”回填,图标按当前连接器目录回填;不存在、跨租户或归属不一致时拒绝生成,不信任旧环境的 E9 等名称、地址、图标或原生映射。HTTP 请求字段通过 `inputParams` 配置,必须用接口详情真实返回的 `table`/`paramKey`,CLI 写入参数行的 `formulaData`,支持统一的固定值、上下文、系统变量及函数/公式赋值;不能猜参数或直接改写 `request.tables`。动作 `serverless/Action` 用于执行二开代码,参数要求见 `references/components/serverless/ServerlessAction.md`;输入和输出必须传前端参数设计器生成的原生 ParamBean 结构。动作 `InnerMQSend` 用于向平台内置 MQ 发送消息,参数要求见 `references/components/message/InnerMQSend.md`。`InnerMQListener` 和 `InnerMQSend` 不能放在同一个动作流中;该约束也适用于 `update` 修改后的完整设计。
147
151
 
@@ -36,3 +36,7 @@
36
36
  `dataset.module`、`dataset.type`、`sqlQuery.fields` 缺失时由 CLI 按平台结构补齐;存储过程的输出参数使用 `resultSets`。SQL 不能凭空编造,表名、字段、条件不明确时先确认,CLI 不查询数据库表结构。
37
37
 
38
38
  平台保存 DML 时的 SQL 分析失败不一定阻止保存和启用,因此含 DML 的生成结果会额外回读 `analysisSql`。终端摘要中的 `sqlAnalysisOk` 必须为 `true`,否则只能说明动作流已保存,不能说明 SQL 可执行。
39
+
40
+ ## 新建参数的 ID
41
+
42
+ 新建参数设置或映射 DTO 时,在对应参数对象根部指定 `idPolicy: "new"`,CLI 会分配雪花 ID 并同步父子行和依据参数引用。需要引用父行时可用唯一临时 ID 关联;接口返回的已有参数应保留原 ID,不设置此标记。该标记仅供 CLI 使用,不传给后端。
@@ -88,7 +88,7 @@
88
88
 
89
89
  ## 动态来源选择与查询结果引用
90
90
 
91
- - AI 应按需求和已生成上游节点的真实上下文选择来源:流程触发字段、前序动作输出、当次循环、系统变量、固定值或查询结果均可;**不得默认把所有映射绑定到流程触发,也不得默认插入查询节点**。
91
+ - AI 应按需求和已生成上游节点的真实上下文选择来源:流程触发字段、前序动作输出、系统变量、固定值或查询结果均可;**不得默认把所有映射绑定到流程触发,也不得默认插入查询节点**。
92
92
  - 仅当业务需要从另一张表反查、且结果可确定为单条时,才使用 `EnquiryForm` 查询 + 主表字段 `query_result` 引用(手工创建成功样本:`actionflows/references/examples/enquiry-form-batch-insert-scene2.json`)。
93
93
  - EnquiryForm 在前,ActionEbAdd 的 sources 指向 EnquiryForm 节点;主表字段 assign `type=3`,`value="FormData.{查询表id}[{positionId}].id"`,`config.comType="EnquiryForm"`、`comId=EnquiryForm 节点 id`、`paramKey="{查询表id}[].id"`,childs 带固定值取下标 `[{type:"1", value:"0", position}]`。
94
94
  - 细节见 `EnquiryForm.md`「批量新增主表字段引用查询结果」。
@@ -30,6 +30,8 @@
30
30
 
31
31
  `needAdd` 对应平台参数 `EbuilderActionDTO.needAdd`,默认 `false`。设为 `true` 时启用“条件不满足时插入”:匹配到目标记录时更新,未匹配到时新增。需要“存在则更新、否则新增”时应设置 `needAdd: true`,不需要另行组合新增组件。
32
32
 
33
+ 内置 MQ 监听来源同样可使用 `opType:"fieldUpdate"` 配合 `needAdd:true`;匹配字段不能同时作为主表更新赋值目标。主表 `updates` 和明细 `detail` 可以配置在同一节点。
34
+
33
35
  当 `id` 或 `fieldUpdate` 配置了 `basisValue` 时,如果 `updateId` 或 `updateFieldCondition.updateField[].assign` 的来源字段 `paramKey` 明确位于该依据值下级(例如依据值为 `100.12345[]`,来源字段为 `100.12345[].67890`),CLI 会按前端“依据值下级”协议编译为 `type:"10"`、`config.switchType:"sub"`。只有路径明确以该依据值加 `.` 开头时才会转换;不相关的明细字段仍按普通动态上下文编译,不凭路径形状猜测依据关系。`basisValue` 和来源字段都应使用前置上下文接口返回的真实字段元数据。
34
36
 
35
37
  ### 明细表策略
@@ -1,38 +1,17 @@
1
- # 循环(MultipleExecution)
1
+ # 循环组件
2
2
 
3
- 循环体通过 `actions` 提供,至少包含一个非 `Output` 动作,当前不支持循环嵌套。
3
+ `MultipleExecution` 支持指定次数(`cycleMode: "1"`)、指定条件(`"2"`)、指定数据逐条循环(`"3"`)和指定数据分批循环(`"4"`)。分页循环暂不支持。
4
4
 
5
- ## 循环方式
6
-
7
- | `cycleMode` | 场景 | 必填参数 |
8
- | --- | --- | --- |
9
- | `1` | 按指定次数 | `cycleTimes` |
10
- | `2` | 满足条件时继续 | `condition` |
11
- | `3` | 按列表逐条遍历 | `detailData` |
12
- | `4` | 按列表分批遍历 | `batchDetailData`、`batchSizeData` |
13
- | `5` | 存在下一页时继续 | `pageCycleData`(平台已有变量 FormulaBean) |
14
-
15
- ## 参数规则
16
-
17
- - `cycleTimes`:固定整数 `1-1000`,或实时上下文的 `context/reference`。动态引用必须使用 `getComponentContext` 返回的完整 `paramKey`;预检会保留来源字段的真实类型、所属组件和参数路径。
18
- - `detailData` / `batchDetailData`:只能引用真实 List/数组字段(表单明细、多选浏览框或上游动态列表)。不可用普通文本字段伪装为列表。
19
- - `batchSizeData`:固定整数 `2-1000`。
20
- - `condition`:使用 ESB `ConditionRule`,与动作流分支复用同一类规则树和 `saveCondition` 持久化;它不是 e-builder 表单动作的 `filterInput/ConditionSet`。左值可使用完整 `paramKey`、字段显示名、`paramName` 或真实字段 ID;编译器会按当前流程实时上下文回填真实 DTO。
21
- - `pageCycleData`:设计器会创建布尔变量并在循环体首节点写入“是否存在下一页”。当前只接受已存在的原始 `type: "7"` 变量 FormulaBean;尚未自动创建变量及赋值节点时,不生成该模式。
22
-
23
- ## 示例
5
+ 将循环体放在节点顶层 `actions`,至少包含一个执行组件。条件模式传 `params.condition`;逐条模式传 `detailData`;分批模式传 `batchDetailData` 和 `batchSizeData`,固定批次大小为 2–1000。次数和数据来源使用统一动态赋值语义或平台原生 FormulaBean。
24
6
 
25
7
  ```json
26
8
  {
27
9
  "type": "MultipleExecution",
28
- "params": {
29
- "cycleMode": "3",
30
- "detailData": {
31
- "kind": "context",
32
- "source": "event",
33
- "paramKey": "<workflowId>.<arrayField>[]"
34
- }
35
- },
36
- "actions": [{ "type": "SendMessage", "params": { "receiver": { "type": "all" }, "msgTitlev": "逐条处理", "msgContentv": "..." } }]
10
+ "params": { "cycleMode": "1", "cycleTimes": { "kind": "fixed", "value": 3 } },
11
+ "actions": [{ "type": "<循环体组件>", "params": {} }]
37
12
  }
38
13
  ```
14
+
15
+ 循环节点及来源组件的动态字段以完整 `getComponentContext` 响应为准,在本地匹配字段;逐条和分批的子字段由来源参数树按父子关系展开。循环体 `scope: "current_loop"` 引用所属循环节点上下文。条件规则在保存动作流前调用平台条件服务持久化。
16
+
17
+ 引用循环内部其他组件的字段时,指定该组件的 `source`,并从其完整上下文中匹配字段;CLI 在最终节点 ID 确定后补齐外层循环路径。当前次循环的保存值包含循环位置,并用 `name` 为“已循环次数”的上下文子公式提供下标;历次循环保留 `[]`。嵌套循环分别处理各层,业务数组原有下标不变。公式的 `source` 指向最外层循环,`config.comId` 指向字段实际所属组件;字段及循环计数字段的 `frontId` 均使用接口返回的 ID。
@@ -32,7 +32,7 @@
32
32
 
33
33
  ### 参数类型与数据类型联动
34
34
 
35
- CLI 生成 `ParamMappingBean`、`ParamSettingBean` 及其分组 DTO 的 `tableData` 时才归一化参数类型:依据后端 `ParamType` 枚举匹配;数字类型统一写 `int`,长整型写 `string`,无法匹配写 `string`。普通 `FormulaBean`、表单字段上下文、循环上下文和 `CustSetFormDto` 不使用这套归一化。如果 `paramType` 为 `json` 或字段开启 `arrs`,`dataType` 强制写为 `node`;普通非数组标量默认写为 `attribute`。
35
+ CLI 生成 `ParamMappingBean`、`ParamSettingBean` 及其分组 DTO 的 `tableData` 时才归一化参数类型:依据后端 `ParamType` 枚举匹配;数字类型统一写 `int`,长整型写 `string`,无法匹配写 `string`。普通 `FormulaBean`、表单字段上下文和 `CustSetFormDto` 不使用这套归一化。如果 `paramType` 为 `json` 或字段开启 `arrs`,`dataType` 强制写为 `node`;普通非数组标量默认写为 `attribute`。
36
36
 
37
37
  `tableData` 中每一行的 `paramType` 决定 `dataType` 的合法候选和是否允许继续加下级,不能只把 `dataType` 当成一个任意字符串填写:
38
38
 
@@ -45,6 +45,10 @@ CLI 生成 `ParamMappingBean`、`ParamSettingBean` 及其分组 DTO 的 `tableDa
45
45
 
46
46
  ### FormulaBean 动态来源的统一规则
47
47
 
48
- 上述参数类型规则只作用于参数 DTO;所有组件的动态字段生成 `FormulaBean` 时,还必须统一遵循五类来源:普通组件上下文取对应 `getComponentContext` 的真实字段;循环体取前端拼出的 `CycleParams` 并保留列表来源;`EsbFormDataDto`、`ParamMappingBean`/`ParamSettingBean`、`CustSetFormDto` 的依据值下级分别使用各自前端的 basisValue/相对 paramKey/parentName 规则。真实字段的 `frontId`、`paramKey`、`parentName`、`newParentName` 不可由字段名或路径尾段猜测,预检无法取得时直接失败。
48
+ 上述参数类型规则只作用于参数 DTO;所有组件的动态字段生成 `FormulaBean` 时,还必须统一遵循四类来源:普通组件上下文取对应 `getComponentContext` 的真实字段;`EsbFormDataDto`、`ParamMappingBean`/`ParamSettingBean`、`CustSetFormDto` 的依据值下级分别使用各自前端的 basisValue/相对 paramKey/parentName 规则。真实字段的 `frontId`、`paramKey`、`parentName`、`newParentName` 不可由字段名或路径尾段猜测,预检无法取得时直接失败。
49
49
 
50
- `InnerMQSend` 与触发器 `InnerMQListener` 不能同时出现在一个动作流中,包括条件和循环内部;CLI 会在创建或更新前拒绝该计划。
50
+ `InnerMQSend` 与触发器 `InnerMQListener` 不能同时出现在一个动作流中,包括条件内部;CLI 会在创建或更新前拒绝该计划。
51
+
52
+ ## 新建参数的 ID
53
+
54
+ 新建参数设置或映射 DTO 时,在对应参数对象根部指定 `idPolicy: "new"`,CLI 会分配雪花 ID 并同步父子行和依据参数引用。需要引用父行时可用唯一临时 ID 关联;接口返回的已有参数应保留原 ID,不设置此标记。该标记仅供 CLI 使用,不传给后端。
@@ -40,3 +40,7 @@
40
40
  - `request` 必须使用前端输入参数配置生成的原生 `ParamMappingBean`;`response` 必须使用前端输出参数配置生成的原生 `ParamSettingBean`。
41
41
  - 参数行的 `id`、`parentId`、`paramKey`、`paramType`、`dataType` 和前端高级配置会被保留;缺失的参数表/字段 ID 由 CLI 补齐,不能用语义字符串替代原生结构。
42
42
  - 二开动作执行后,可以引用 `Response.entry.<字段>` 上下文;请求参数上下文使用 `Request.entry.<字段>`。
43
+
44
+ ## 新建参数的 ID
45
+
46
+ 新建参数设置或映射 DTO 时,在对应参数对象根部指定 `idPolicy: "new"`,CLI 会分配雪花 ID 并同步父子行和依据参数引用。需要引用父行时可用唯一临时 ID 关联;接口返回的已有参数应保留原 ID,不设置此标记。该标记仅供 CLI 使用,不传给后端。
@@ -55,17 +55,17 @@
55
55
 
56
56
  ## 自定义参数来源的 `frontId` 规则
57
57
 
58
- 动态赋值来源于当前触发组件的 `customData` 时,必须把 `event.params.customData`(后端类型 `CustSetFormDto`)作为唯一 ID 来源。不要从目标字段、FormulaBean 自身的 `id` 或 `paramKey` 尾段推导 `frontId`。
58
+ 动态赋值来源于自定义触发器时,先通过 `getComponentContext` 查询,使用选中参数行返回的 `ParamBean.id` 作为 `frontId`。不要从目标字段、FormulaBean 自身的 `id` 或 `paramKey` 尾段推导。
59
59
 
60
60
  按以下顺序生成:
61
61
 
62
- 1. 先按动态引用的表路径,在 `customData.tableList[]` 中找到对应的表对象(后端类型 `CustFormTableDto`)。
63
- 2. 如果引用选择的是表维度(例如 `主表key.明细表key[]`),生成的 FormulaBean 写 `frontId = tableList[].id`。
64
- 3. 如果引用选择的是字段维度(例如 `主表key.字段key` 或 `主表key.明细表key[].字段key`),先在匹配表的 `fields[]` 中找到对应字段对象(后端类型 `CustFormDetailDto`),再写 `frontId = fields[].id`。
62
+ 1. 根据完整参数路径,在接口返回的分组和参数行中唯一匹配实际选择的上下文。
63
+ 2. 选择表维度时使用对应表参数行的 `id`。
64
+ 3. 选择字段维度时使用对应字段参数行的 `id`。
65
65
  4. 这个 `frontId` 要写到关联映射生成的 FormulaBean 上,包括普通动作映射和终止组件 `customParamSetting.tableList[].fields[].formulaValue`;不能写目标字段 ID、表名、字段名、临时公式 ID 或 `paramKey` 尾段。
66
- 5. 对应表/字段没有真实 ID 时,`frontId` 写空串 `""`;有值时必须是纯数字字符串。`field_<数字>` 只能在生成时转成 `<数字>`。
66
+ 5. 对应表/字段没有真实 ID 时停止生成并提示查询上下文;有值时原样使用接口返回的 ID,不从 `field_` 前缀或参数路径推导。
67
67
 
68
- 例如:
68
+ 例如,若接口返回表参数行 ID 为 `1001`、字段参数行 ID 为 `2001`,并与 `customData` 中的 ID 对应:
69
69
 
70
70
  ```json
71
71
  {
@@ -1,41 +1,46 @@
1
- # 内置 MQ 监听(`InnerMQListener`)
2
-
3
- ## 何时使用
4
-
5
- 需求明确要求监听平台内置 MQ 广播 Topic 时使用。它不同于外部 RabbitMQ/Kafka 等 `MqConsumer`。
6
-
7
- ## 参数
8
-
9
- ```json
10
- {
11
- "event": {
12
- "type": "InnerMQListener",
13
- "params": {
14
- "queueName": "真实Topic名称",
15
- "sendModel": "1",
16
- "receiveParams": {
17
- "tableId": "<平台参数表 ID>",
18
- "tableData": [{
19
- "id": "<平台字段 ID>",
20
- "paramKey": "payload",
21
- "paramName": "payload",
22
- "showName": "消息体",
23
- "paramType": "string",
24
- "dataType": "attribute",
25
- "required": true,
26
- "arrs": false
27
- }]
28
- }
29
- }
30
- }
31
- }
32
- ```
33
-
34
- - `queueName` 必填,使用平台真实 Topic/队列名称。
35
- - `sendModel` 当前只支持 `1`(广播模式),省略时 CLI 默认填入 `1`。
36
- - `receiveParams` 可选;有业务接收字段时传平台原生 `ParamSettingBean`,在当前设计器回读结构中表现为 `tableId + tableData`,没有时省略。不能传 `{type:'SETTING', tables:[]}` 期待它自动生成输入字段。
37
- - 参数表中的“高级设置”(命名空间、默认值、敏感词等)目前没有独立的 CLI 参数或生成校验;如果已经取得平台完整的 `receiveParams` 原生对象,CLI 会随对象透传,但不会根据简化字段替你创建这些配置。
38
-
39
- 根触发器图标不是猜测的 `Icon-message-queue`,平台内置 MQ 监听实际使用 `Icon-built-in-mq-listening-mcolor`;不要把发送动作的图标当成监听触发器图标。
40
-
41
- `InnerMQListener` 与动作 `InnerMQSend` 不能同时出现在一个动作流中,包括条件和循环内部;CLI 会在创建或更新前拒绝该计划。
1
+ # 内置 MQ 监听(`InnerMQListener`)
2
+
3
+ ## 何时使用
4
+
5
+ 需求明确要求监听平台内置 MQ 广播 Topic 时使用。它不同于外部 RabbitMQ/Kafka 等 `MqConsumer`。
6
+
7
+ ## 参数
8
+
9
+ ```json
10
+ {
11
+ "event": {
12
+ "type": "InnerMQListener",
13
+ "params": {
14
+ "queueName": "真实Topic名称",
15
+ "sendModel": "1",
16
+ "receiveParams": {
17
+ "tableId": "<平台参数表 ID>",
18
+ "tableData": [{
19
+ "id": "<平台字段 ID>",
20
+ "paramKey": "payload",
21
+ "paramName": "payload",
22
+ "showName": "消息体",
23
+ "paramType": "string",
24
+ "dataType": "attribute",
25
+ "required": true,
26
+ "arrs": false
27
+ }]
28
+ }
29
+ }
30
+ }
31
+ }
32
+ ```
33
+
34
+ - `queueName` 必填,使用平台真实 Topic/队列名称。
35
+ - `sendModel` 当前只支持 `1`(广播模式),省略时 CLI 默认填入 `1`。
36
+ - `receiveParams` 可选;有业务接收字段时传平台原生 `ParamSettingBean`,在当前设计器回读结构中表现为 `tableId + tableData`,没有时省略。不能传 `{type:'SETTING', tables:[]}` 期待它自动生成输入字段。
37
+ - 接收明细数组时,父参数行设置 `paramType:"json"`、`dataType:"node"`、`arrs:true`;每个明细字段的 `parentId` 指向该父行的 `id`。参数名称可以使用语义名称。配置完成后通过 `component-context-fields` 查询实际返回的路径和字段 ID,明细依据值使用对应父行的真实上下文 ID,不按名称推导。
38
+ - 参数表中的“高级设置”(命名空间、默认值、敏感词等)目前没有独立的 CLI 参数或生成校验;如果已经取得平台完整的 `receiveParams` 原生对象,CLI 会随对象透传,但不会根据简化字段替你创建这些配置。
39
+
40
+ 根触发器图标不是猜测的 `Icon-message-queue`,平台内置 MQ 监听实际使用 `Icon-built-in-mq-listening-mcolor`;不要把发送动作的图标当成监听触发器图标。
41
+
42
+ `InnerMQListener` 与动作 `InnerMQSend` 不能同时出现在一个动作流中,包括条件内部;CLI 会在创建或更新前拒绝该计划。
43
+
44
+ ## 新建参数的 ID
45
+
46
+ 新建参数设置或映射 DTO 时,在对应参数对象根部指定 `idPolicy: "new"`,CLI 会分配雪花 ID 并同步父子行和依据参数引用。需要引用父行时可用唯一临时 ID 关联;接口返回的已有参数应保留原 ID,不设置此标记。该标记仅供 CLI 使用,不传给后端。
@@ -107,3 +107,7 @@ Webhook 触发的终止节点使用 `finalOutput.params.webhookCustomParamSettin
107
107
  }
108
108
  }
109
109
  ```
110
+
111
+ ## 新建参数的 ID
112
+
113
+ 新建参数设置或映射 DTO 时,在对应参数对象根部指定 `idPolicy: "new"`,CLI 会分配雪花 ID 并同步父子行和依据参数引用。需要引用父行时可用唯一临时 ID 关联;接口返回的已有参数应保留原 ID,不设置此标记。该标记仅供 CLI 使用,不传给后端。
@@ -6,7 +6,7 @@
6
6
 
7
7
  | 属性类型 | 代表组件/属性 | 支持的动态来源 | 编译结果 |
8
8
  | --- | --- | --- | --- |
9
- | 普通字段赋值 | `ActionEbAdd`、`ActionEbUpdate`(含密级、密级有效期)、`HrmEmployeeUpdate.fieldAssignments`、`PersonnelOnboarding.fieldAssignments` | 上下文、循环当前行、系统变量、变量、常量、函数/公式 | 按目标字段类型生成 `type=3/5/6/7/8/9/10` 等 FormulaBean |
9
+ | 普通字段赋值 | `ActionEbAdd`、`ActionEbUpdate`(含密级、密级有效期)、`HrmEmployeeUpdate.fieldAssignments`、`PersonnelOnboarding.fieldAssignments` | 上下文、系统变量、变量、常量、函数/公式 | 按目标字段类型生成 `type=3/5/6/7/8/9/10` 等 FormulaBean |
10
10
  | 查询结果字段 | `EnquiryForm` 输出被后续动作引用 | 查询结果字段、第一条记录 `index:0`、函数参数 | 使用查询节点真实 `source`、字段真实 ID 和平台结果字段对象 |
11
11
  | 查询分页与动态条件 | `EnquiryForm.formPageNo`、`formPageSize`、`conditionFormula` | 固定值、上下文、系统变量、变量、常量、函数/公式 | 页码/条数为 FormulaBean;动态条件使用 `conditionType:"assign"`,不能和普通 `filter` 并存 |
12
12
  | HTTP 请求参数 | `Http.inputParams.formulaData` | 固定值、上下文、系统变量、变量、常量、函数/公式 | 写入接口详情对应参数行的 FormulaBean,不改写接口参数定义 |
@@ -17,7 +17,6 @@
17
17
  | 人员参数 | 表单数据动作、流程动作、文档动作、`HrmEmployeeUpdate`、`PersonnelOnboarding`、`AlterPersonStatus`、会议/日程中的人员属性 | 当前用户、上游人员上下文、动作流变量/常量/函数 | 不再强制走固定人员查询;动态引用保持人员 FormulaBean,固定人员仍要求真实 Browser 对象 |
18
18
  | 会议和日程运行时字段 | `MeetingCreate` 的标题/密级/人员/关联标识,`ScheduleCreate` 的标题/时间/内容/其他地点/人员/日程类型/会议室 | 上下文、系统变量、变量、常量、函数/公式 | 后端 DTO 中的 FormulaBean 字段统一支持动态赋值;固定会议/日程资源仍保留 Browser 对象兼容 |
19
19
  | 流程和文档运行时字段 | 流程实例 ID、标题、意见、公文正文 ID、关联数据 ID、时间、文档/附件 ID、布尔开关等 `formula_or_reference` 属性 | 固定值、上下文、系统变量、变量、常量、查询结果、函数/公式 | 统一经共享公式编译器生成 FormulaBean;固定流程定义、节点、目录 DTO 不在此列 |
20
- | 循环参数 | `MultipleExecution.cycleTimes`、`batchSizeData`、`pageCycleData`、列表/明细来源 | 上下文、变量、常量、当前循环上下文 | 后端 FormulaBean 字段统一支持动态赋值;固定批量大小继续校验 2-1000,分页标志继续校验布尔类型 |
21
20
  | 条件右值 | `Condition` | 固定值、上下文、系统变量、变量、常量、函数 | 右值保留为公式树,不把动态字段名转成固定字符串 |
22
21
  | 终止节点动态输出 | `finalOutput.params.reminderContent`、`basisValue` | 富文本 `ContestSettingDTO`;提醒内容支持文本、上下文、系统变量、变量、常量、查询结果、函数/公式 | 自动补充的 `Output` 节点保留高级设置,无需在 `actions` 中手写终止节点;旧 `reminderMsgFormula` 不再用于新生成 |
23
22
 
@@ -35,5 +34,5 @@
35
34
  1. 先执行 `component-describe <type>`,读取该属性的 `valueType`、`referenceType`、`valueShape`、`propertySources` 和运行时上下文。
36
35
  2. 若属性是字段值、人员值或公式值,优先调用共享公式编译器;不得在组件内部另写“只接受固定值”的分支。
37
36
  3. 若属性是平台资源对象,必须查看该组件前端回读/保存 DTO 是否有动态入口;没有证据就保留固定对象约束,并明确指出是平台协议限制,而不是 Skill 偷懒。
38
- 4. 每新增一个动态属性,至少增加一个上下文用例和一个固定值回归用例;涉及数组/循环时再增加数组或当前循环用例。
39
- 5. 生成成功不等于动态赋值正确:正式回读必须确认参数仍为对应 FormulaBean,来源 `paramKey`、`source/frontId`、变量/常量 ID 和循环作用域没有丢失。
37
+ 4. 每新增一个动态属性,至少增加一个上下文用例和一个固定值回归用例;涉及数组时再增加数组用例。
38
+ 5. 生成成功不等于动态赋值正确:正式回读必须确认参数仍为对应 FormulaBean,来源 `paramKey`、`source/frontId`、变量/常量 ID 没有丢失。
@@ -12,4 +12,8 @@
12
12
 
13
13
  生成时仅对实际使用的函数调用当前租户接口,校验可用性并获取当次函数 ID。
14
14
 
15
- 消息标题/内容、循环和条件各有专用 DTO;只有对应组件说明明确支持函数树时才使用,不能因为它们也显示“动态赋值”就套用通用函数结构。
15
+ 使用 `e10-cli actionflow function-list '{"name":"CONCATENATE"}'` 查询当前租户的函数契约;不传 `name` 返回全部标准函数。函数 ID 及参数元数据以本次实时接口结果为准,不得手抄内置快照 ID。
16
+
17
+ 原生函数 FormulaBean 的 `config.paramSize` 来自函数目录,是函数声明的参数协议,不是本次参数个数,例如租户目录返回 `-1` 时必须保留 `-1`。通过 `update` 修改函数时,优先在正式回读结构上修改业务值,保留 `excelFunc`、参数位置和函数契约;本次修改涉及的函数会对照实时目录校验。`update` 的语义函数目前支持固定值、变量、常量、系统变量及嵌套函数;上下文参数须先查询真实上下文并使用完整平台公式。
18
+
19
+ 消息标题/内容和条件各有专用 DTO;只有对应组件说明明确支持函数树时才使用,不能因为它们也显示“动态赋值”就套用通用函数结构。
@@ -37,7 +37,7 @@
37
37
  `ActionEbUpdate` 等数据动作的筛选条件(filterCondition)右值走上下文引用时,条件对象里的 `esbAssign.wId` 字段**必须指向「当前节点」**(filterInput 所属的数据动作节点 id),**不能指向上游 event 节点**。
38
38
 
39
39
  - 设计器打开「动态赋值」对话框时,用 `esbAssign.wId` 在 `orginFlowDatas` 里定位当前组件;指向 event 节点 → 定位不到 → 右侧「暂无数据」(EmptyView,不可编辑/不可选)。
40
- - `value.source` / `config.comId` 指向提供上下文的组件节点;来源是触发器时指向 event,来源是其他组件或循环上下文时指向实际来源节点。`esbAssign.wId` 指向当前节点。
40
+ - `value.source` / `config.comId` 指向提供上下文的组件节点;来源是触发器时指向 event,来源是其他组件时指向实际来源节点。`esbAssign.wId` 指向当前节点。
41
41
  - 判断口径:读回后 `esbAssign.wId` 应等于该 ActionEbAdd/Update/Delete 节点的 `id`,不等于 `event.id`。
42
42
 
43
43
  ## 4b. 同类问题全量修复:mapping / updateId / basisValue / 明细依据值下级 / updateFieldCondition / requestName 的上下文公式也要 `esbAssign.wId`(真机验证 2026-08-18)