@microi.net/cli 5.7.7 → 5.7.9

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 (191) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.workbuddy-plugin/marketplace.json +2 -2
  5. package/.workbuddy-plugin/plugin.json +1 -1
  6. package/LICENSE +21 -21
  7. package/README.md +71 -71
  8. package/assets/build-meta.json +6 -6
  9. package/assets/feature-matrix.json +138 -138
  10. package/assets/logo.svg +4 -4
  11. package/cordis.patch.yml +1 -1
  12. package/package.json +1 -1
  13. package/scripts/mcp-codex-stdio-adapter.js +0 -0
  14. package/scripts/mcp-server.js +102 -101
  15. package/scripts/microi-cli.js +57 -57
  16. package/scripts/microi-codex-broker.js +450 -450
  17. package/scripts/microi-codex-router.js +0 -0
  18. package/scripts/microi-skills.meta.json +366 -366
  19. package/skills/.microi-skills-version.json +2 -2
  20. package/skills/.progressive-disclosure-manifest.json +27 -27
  21. package/skills/README.md +286 -286
  22. package/skills/ai-engine/SKILL.md +265 -265
  23. package/skills/ai-engine/agents/openai.yaml +4 -4
  24. package/skills/ai-platform-governance/SKILL.md +177 -177
  25. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
  26. package/skills/app-store/SKILL.md +392 -396
  27. package/skills/app-store/agents/openai.yaml +4 -4
  28. package/skills/business-blueprint/SKILL.md +193 -193
  29. package/skills/datasource-engine/SKILL.md +90 -90
  30. package/skills/datasource-engine/agents/openai.yaml +4 -4
  31. package/skills/dos-orm/references/api-reference.md +229 -229
  32. package/skills/email-engine/SKILL.md +78 -78
  33. package/skills/email-engine/references/v8-email.md +34 -34
  34. package/skills/job-engine/SKILL.md +171 -172
  35. package/skills/job-engine/agents/openai.yaml +4 -4
  36. package/skills/message-notification/SKILL.md +155 -156
  37. package/skills/message-notification/agents/openai.yaml +5 -5
  38. package/skills/message-notification/references/contracts.md +102 -102
  39. package/skills/microi-ai-app-auth.js +652 -652
  40. package/skills/microi-ai-application/SKILL.md +102 -106
  41. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  42. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  43. package/skills/microi-client-frontend/SKILL.md +235 -240
  44. package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +144 -144
  45. package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +196 -196
  46. package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +167 -167
  47. package/skills/microi-codex/SKILL.md +75 -75
  48. package/skills/microi-codex-installer/SKILL.md +225 -223
  49. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  50. package/skills/microi-datasource-mapping/SKILL.md +107 -111
  51. package/skills/microi-db-schema/SKILL.md +175 -175
  52. package/skills/microi-db-schema/agents/openai.yaml +4 -4
  53. package/skills/microi-db-schema/references/core-tables.md +695 -695
  54. package/skills/microi-db-schema/references/form-component-options.md +256 -256
  55. package/skills/microi-db-schema/references/schema-overview.md +202 -202
  56. package/skills/microi-db-schema/references/schema.md +646 -646
  57. package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
  58. package/skills/microi-deployment/references/deployment-matrix.md +101 -101
  59. package/skills/microi-docs-coverage/references/capability-map.md +0 -1
  60. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  61. package/skills/microi-form-engine/SKILL.md +226 -226
  62. package/skills/microi-form-engine/references/component-catalog.md +216 -216
  63. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  64. package/skills/microi-form-layout/SKILL.md +205 -205
  65. package/skills/microi-form-layout/references/progressive-01-3-/344/270/211/347/247/215/345/210/206/347/273/204/347/232/204/345/255/230/345/202/250/344/270/216/351/205/215/347/275/256.md +235 -235
  66. package/skills/microi-frontend-sdk/SKILL.md +188 -188
  67. package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +176 -176
  68. package/skills/microi-left-right-layout/SKILL.md +141 -141
  69. package/skills/microi-microservice/SKILL.md +322 -323
  70. package/skills/microi-microservice/references/runtime-delivery.md +278 -278
  71. package/skills/microi-mobile-app-quality/SKILL.md +181 -181
  72. package/skills/microi-mobile-app-quality/references/progressive-01-4-/351/207/215/350/246/201/346/214/211/351/222/256/345/277/205/351/241/273/345/270/246/345/233/276/346/240/207.md +213 -213
  73. package/skills/microi-mobile-app-quality/references/progressive-02-9-/344/270/273/351/242/230/345/210/207/346/215/242/345/277/205/351/241/273/347/234/237/345/256/236/344/270/224/345/205/250/345/261/200/347/224/237/346/225/210.md +128 -128
  74. package/skills/microi-solution-quotation/SKILL.md +78 -78
  75. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  76. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  77. package/skills/microi-sso/references/acceptance.md +49 -49
  78. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  79. package/skills/microi-sso/references/inbound.md +53 -53
  80. package/skills/microi-sso/references/outbound.md +39 -39
  81. package/skills/microi-system-delivery/SKILL.md +134 -134
  82. package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +193 -193
  83. package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +189 -189
  84. package/skills/microi-ui/SKILL.md +174 -174
  85. package/skills/microi-ui/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/234/272/346/231/257/350/223/235/345/233/276.md +183 -183
  86. package/skills/microi-uniapp-frontend/SKILL.md +193 -193
  87. package/skills/microi-uniapp-frontend/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/210/206/347/261/273-/345/217/214/346/240/217/345/210/227/350/241/250/347/213/254/347/253/213/346/273/232/345/212/250.md +225 -225
  88. package/skills/microi-uniapp-frontend/references/progressive-02-/345/205/263/351/224/256/344/270/232/345/212/241/350/265/204/344/272/247/344/270/215/345/276/227/351/273/230/350/256/244/351/200/211/344/270/255.md +154 -154
  89. package/skills/microi.v8.js +1921 -1921
  90. package/skills/module-engine/SKILL.md +237 -250
  91. package/skills/module-engine/references/module-config.md +204 -204
  92. package/skills/ocr-engine/SKILL.md +113 -113
  93. package/skills/ocr-engine/agents/openai.yaml +4 -4
  94. package/skills/page-engine/SKILL.md +180 -191
  95. package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +234 -234
  96. package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +60 -60
  97. package/skills/performance-testing/SKILL.md +221 -221
  98. package/skills/playwright-e2e/SKILL.md +197 -197
  99. package/skills/playwright-e2e/references/progressive-01-/345/205/250/350/207/252/345/212/250/347/231/273/345/275/225-/345/205/215/351/252/214/350/257/201/347/240/201-/344/275/206/344/270/215/345/205/215/345/257/206/347/240/201-/345/277/205/350/257/273.md +173 -173
  100. package/skills/playwright-e2e/references/progressive-02-/346/226/207/345/255/227/345/257/271/346/257/224/345/272/246/344/270/216/345/217/257/350/257/273/346/200/247/350/207/252/345/212/250/345/214/226/346/243/200/346/237/245-/345/277/205/345/201/232.md +183 -183
  101. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
  102. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
  103. package/skills/print-engine/SKILL.md +259 -259
  104. package/skills/production-readonly-audit/SKILL.md +41 -41
  105. package/skills/report-engine/SKILL.md +71 -71
  106. package/skills/report-engine/agents/openai.yaml +4 -4
  107. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  108. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  109. package/skills/search-engine/SKILL.md +75 -75
  110. package/skills/search-engine/agents/openai.yaml +4 -4
  111. package/skills/spider-engine/SKILL.md +190 -190
  112. package/skills/system-observability/SKILL.md +238 -238
  113. package/skills/system-observability/references/memory-incident-triage.md +70 -70
  114. package/skills/translate-engine/SKILL.md +140 -140
  115. package/skills/translate-engine/agents/openai.yaml +4 -4
  116. package/skills/ui-design/SKILL.md +191 -191
  117. package/skills/ui-design/assets/templates/MCI-DESIGN.md +198 -198
  118. package/skills/ui-design/references/design-pattern-library.md +184 -184
  119. package/skills/ui-design/references/mci-design-contract.md +163 -163
  120. package/skills/ui-design/references/progressive-01-/351/242/234/350/211/262/344/275/223/347/263/273-css-variables-/346/224/257/346/214/201/344/270/273/351/242/230/345/210/207/346/215/242.md +218 -218
  121. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +137 -137
  122. package/skills/ui-design/references/progressive-03-/345/212/250/346/225/210/350/247/204/350/214/203-/344/270/260/345/257/214/344/275/206/344/270/215/345/215/241.md +235 -235
  123. package/skills/ui-design/references/progressive-04-/347/273/204/344/273/266/351/243/216/346/240/274/351/200/237/346/237/245.md +152 -152
  124. package/skills/ui-design/references/progressive-05-/347/247/273/345/212/250/347/253/257/344/270/223/347/224/250/350/247/204/350/214/203.md +238 -238
  125. package/skills/ui-design/references/progressive-06-/344/270/273/351/242/230/345/210/207/346/215/242/345/256/236/347/216/260.md +194 -194
  126. package/skills/ui-design/references/progressive-07-/351/200/237/346/237/245-/344/273/216/345/244/264/346/220/255/345/273/272/344/270/200/344/270/252/347/247/273/345/212/250/347/253/257/351/241/265/351/235/242.md +207 -207
  127. package/skills/ui-design/references/progressive-08-/350/241/250/345/215/225/345/210/206/347/273/204/350/247/204/350/214/203-tabs-vs-collapsegroup-/345/274/272/345/210/266.md +117 -117
  128. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  129. package/skills/unity-integration/SKILL.md +155 -155
  130. package/skills/unity-integration/agents/openai.yaml +4 -4
  131. package/skills/unity-integration/references/ai-app-delivery.md +103 -103
  132. package/skills/unity-integration/references/sdk-api.md +82 -82
  133. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  134. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  135. package/skills/v8-cache-pattern/SKILL.md +306 -306
  136. package/skills/v8-crud-api/SKILL.md +175 -175
  137. package/skills/v8-crud-api/references/progressive-01-/346/237/245/350/257/242/345/210/227/350/241/250-/345/210/206/351/241/265.md +226 -226
  138. package/skills/v8-crud-api/references/progressive-02-where-/346/235/241/344/273/266/350/257/255/346/263/225/351/200/237/346/237/245.md +49 -49
  139. package/skills/v8-debugging/SKILL.md +284 -284
  140. package/skills/v8-explorer-tree/SKILL.md +228 -228
  141. package/skills/v8-export-import/SKILL.md +209 -209
  142. package/skills/v8-export-import/references/progressive-01-excellayout-/351/253/230/347/272/247/350/207/252/347/224/261/345/270/203/345/261/200.md +211 -211
  143. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
  144. package/skills/v8-export-import/references/progressive-03-/345/256/211/345/205/250-/346/200/247/350/203/275/346/263/250/346/204/217.md +42 -42
  145. package/skills/v8-file-upload/SKILL.md +256 -263
  146. package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +101 -101
  147. package/skills/v8-file-upload/references/progressive-02-office-/346/226/207/344/273/266/345/234/250/347/272/277/347/274/226/350/276/221/347/211/210/346/234/254/345/217/267/350/247/204/345/210/231.md +150 -150
  148. package/skills/v8-formengine-http/SKILL.md +219 -219
  149. package/skills/v8-frontend-events/SKILL.md +178 -178
  150. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  151. package/skills/v8-frontend-events/references/bluetooth-print.md +246 -246
  152. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
  153. package/skills/v8-http-integration/SKILL.md +182 -182
  154. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
  155. package/skills/v8-http-integration/references/progressive-02-/351/224/231/350/257/257/345/244/204/347/220/206/346/250/241/345/274/217.md +44 -44
  156. package/skills/v8-image-processing/SKILL.md +190 -190
  157. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  158. package/skills/v8-image-processing/references/api-reference.md +623 -623
  159. package/skills/v8-menu-buttons/SKILL.md +180 -180
  160. package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +222 -222
  161. package/skills/v8-menu-buttons/references/progressive-02-8-/346/250/241/345/274/217-f-/345/220/216/345/217/260/344/273/273/345/212/241/346/214/211/351/222/256-/351/225/277/344/273/273/345/212/241.md +228 -228
  162. package/skills/v8-menu-buttons/references/progressive-03-10-/345/217/215/346/250/241/345/274/217-/351/201/277/345/205/215.md +104 -104
  163. package/skills/v8-mongodb/SKILL.md +192 -192
  164. package/skills/v8-mq-mqtt/SKILL.md +175 -176
  165. package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
  166. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
  167. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  168. package/skills/v8-saas-multi-tenant/SKILL.md +219 -219
  169. package/skills/v8-security/SKILL.md +168 -168
  170. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +198 -198
  171. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +158 -158
  172. package/skills/v8-sql-query/SKILL.md +302 -302
  173. package/skills/v8-table-event/SKILL.md +144 -144
  174. package/skills/v8-table-event/references/progressive-01-informv8-js-/350/241/250/345/215/225/346/211/223/345/274/200/344/272/213/344/273/266.md +197 -197
  175. package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +46 -46
  176. package/skills/v8-tcp-integration/SKILL.md +147 -147
  177. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  178. package/skills/v8-template-engine/SKILL.md +167 -167
  179. package/skills/v8-utilities/SKILL.md +90 -90
  180. package/skills/v8-utilities/references/client-api-index.md +143 -143
  181. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  182. package/skills/v8-utilities/references/server-api-index.md +188 -188
  183. package/skills/v8-workflow/SKILL.md +216 -243
  184. package/skills/v8-workflow/references/progressive-01-/350/212/202/347/202/271/345/274/200/345/247/213-v8-/344/272/213/344/273/266.md +180 -180
  185. package/skills/vision-engine/SKILL.md +159 -159
  186. package/skills/vision-engine/agents/openai.yaml +4 -4
  187. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  188. package/skills/workspace-conventions/SKILL.md +261 -261
  189. package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +208 -208
  190. package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +216 -216
  191. package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +27 -27
@@ -1,180 +1,180 @@
1
- # v8-workflow 详细参考 1
2
-
3
- > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
-
5
- <!-- microi-progressive:chunk id=v8-workflow-007 sha256=9c40c62b67065c7e9f6821ef748d75595f004f069909258d9867490b74e115b7 -->
6
- ## 节点开始 V8 事件
7
-
8
- ### 前端 — 指定审批人
9
-
10
- ```javascript
11
- // V8.EventName === 'WFNodeStart'
12
- // 可以强制指定下一节点审批人
13
- if (V8.Form.DeptId === 'special-dept') {
14
- V8.WF.ForceSelectUsers = ['user-id-1', 'user-id-2'];
15
- }
16
- ```
17
-
18
- ### 后端 — 阻止流程提交
19
-
20
- ```javascript
21
- // V8.EventName === 'WFNodeStart'
22
- // 返回 Code: 0 可以阻止流程提交并回滚事务
23
- if (!V8.Form.ApprovalFiles) {
24
- V8.Result = { Code: 0, Msg: '请先上传审批附件' };
25
- }
26
- ```
27
-
28
- <!-- /microi-progressive:chunk -->
29
- <!-- microi-progressive:chunk id=v8-workflow-008 sha256=f023312e7d95c518428c2e6d1df99b43cc36d41659aa75768b13ff83cf52b3b0 -->
30
- ## 节点结束 V8 事件
31
-
32
- ### 后端 — 流程结束后业务处理
33
-
34
- ```javascript
35
- // V8.EventName === 'WFNodeEnd'
36
- var approvalType = V8.WF.ApprovalType;
37
-
38
- // 同意 — 更新业务状态
39
- if (approvalType === 'Agree') {
40
- // 判断是否到达最终节点
41
- var nextNode = V8.WF.NextNode;
42
- if (!nextNode || nextNode.NodeType === 'End') {
43
- // 流程结束,更新业务状态
44
- V8.FormEngine.UptFormData(V8.TableModel.Name, {
45
- Id: V8.Form.Id,
46
- ApprovalStatus: 'Approved',
47
- ApprovalTime: DateNow('yyyy-MM-dd HH:mm:ss')
48
- });
49
- }
50
- }
51
-
52
- // 拒绝 — 回退状态
53
- if (approvalType === 'Disagree') {
54
- V8.FormEngine.UptFormData(V8.TableModel.Name, {
55
- Id: V8.Form.Id,
56
- ApprovalStatus: 'Rejected',
57
- RejectReason: V8.WF.ApprovalIdea
58
- });
59
- }
60
-
61
- // 撤回
62
- if (approvalType === 'Recall') {
63
- V8.FormEngine.UptFormData(V8.TableModel.Name, {
64
- Id: V8.Form.Id,
65
- ApprovalStatus: 'Draft'
66
- });
67
- }
68
-
69
- // 通知下一审批人
70
- if (V8.WF.NextTodoUsers && V8.WF.NextTodoUsers.length > 0) {
71
- for (var i = 0; i < V8.WF.NextTodoUsers.length; i++) {
72
- V8.ApiEngine.Run('send-notification', {
73
- userId: V8.WF.NextTodoUsers[i].Id,
74
- title: '您有新的审批任务',
75
- content: V8.CurrentUser.Name + '提交了' + V8.TableModel.Name + '审批'
76
- });
77
- }
78
- }
79
- ```
80
-
81
- ### 前端 — 流程提交后提示
82
-
83
- ```javascript
84
- // V8.EventName === 'WFNodeEnd'
85
- if (V8.WF.WorkResult) {
86
- V8.Tips('流程已提交', true);
87
- }
88
- ```
89
-
90
- <!-- /microi-progressive:chunk -->
91
- <!-- microi-progressive:chunk id=v8-workflow-009 sha256=a927ce0325e130608823800c83c85d9e83d54fea61dbcfed32208d49f4012118 -->
92
- ## 前端打开流程表单
93
-
94
- ```javascript
95
- // 发起流程
96
- V8.OpenFormWF(V8.Form, 'Add', {
97
- WorkType: 'StartWork',
98
- FlowDesignId: 'flow-design-id'
99
- });
100
-
101
- // 查看流程
102
- V8.OpenFormWF(V8.Form, 'View', {
103
- WorkType: 'ViewWork',
104
- FlowDesignId: 'flow-design-id'
105
- });
106
- ```
107
-
108
- <!-- /microi-progressive:chunk -->
109
- <!-- microi-progressive:chunk id=v8-workflow-010 sha256=ea15dea212f044a16bdccbf75ebe3a28ce3eb3ff27c989e8c6b4ec567e170032 -->
110
- ## MCP 创建/检查/测试工作流
111
-
112
- 从自然语言需求创建审批流时,优先整理成完整 Manifest 的 `workflows` 配置,再走 MCP 干跑和验收流程。
113
-
114
- ```json
115
- {
116
- "workflows": [
117
- {
118
- "FlowDesign": { "FlowName": "请假审批", "table": "diy_leave", "IsEnable": 1 },
119
- "Nodes": [
120
- { "Id": "start", "NodeName": "发起人", "NodeType": "Start", "LineValueV8": "" },
121
- { "Id": "leader", "NodeName": "部门负责人审批", "NodeType": "Approve", "Roles": "dept-leader" },
122
- { "Id": "end", "NodeName": "结束", "NodeType": "End" }
123
- ],
124
- "Lines": [
125
- { "Id": "line_start_leader", "FromNodeId": "start", "ToNodeId": "leader", "LineName": "发起人 到 部门负责人审批", "LineValue": "" },
126
- { "Id": "line_leader_end", "FromNodeId": "leader", "ToNodeId": "end", "LineName": "部门负责人审批 到 结束", "LineValue": "" }
127
- ]
128
- }
129
- ]
130
- }
131
- ```
132
-
133
- MCP 操作顺序:
134
-
135
- 1. `microi_get_db_schema`:确认业务表、已有流程、角色、字段。
136
- 2. `microi_get_manifest_schema`:按 Manifest 协议生成 tables/modules/workflows。
137
- 3. `microi_plan_system`:本地干跑,必须修复 workflow 拓扑错误。
138
- 4. `microi_check_workflow_package`:单独检查某个 workflow package。
139
- 5. `microi_test_workflow_condition`:对图形条件生成的 `LineValueV8` 传入样例 `formData`,验证会选中哪条路线。
140
- 6. `microi_generate_system` 或 `microi_save_workflow_package`:用户明确确认后再写入。
141
-
142
- 工作流建模规则:
143
-
144
- - 必须有且仅有 1 个开始节点,至少 1 个结束节点。
145
- - 所有 `wf_line.FromNodeId/ToNodeId` 必须指向存在的节点。
146
- - 线路标题 `LineName` 默认使用 `{起点节点名称} 到 {终点节点名称}`,不要把业务条件名写成线路标题。
147
- - 条件名称只作为图形配置/注释标记里的业务说明;修改条件名称不应改变线路标题。
148
- - 多出线节点必须配置条件判断 V8,优先设置 `V8.NextNodeId`,只有兼容旧条件值时才设置 `V8.LineValue`。
149
- - 图形条件生成的 V8 会带 `MICROI_WF_LINE_CONDITION_JSON` 标记,MCP 测试工具只解析该标记,不执行任意手写 V8。
150
-
151
- <!-- /microi-progressive:chunk -->
152
- <!-- microi-progressive:chunk id=v8-workflow-011 sha256=ab8c37da582f7463663ab9a609cf31e95c94e38181bc37b7c880a27f19f01a0e -->
153
- ## 发起流程与表单保存
154
-
155
- 新建业务数据并发起流程时,应先保存表单,再启动流程,或使用平台的合并接口 `StartWorkWithForm` 在同一事务里完成。首次发起建议以 `Add` 模式打开流程表单;如果前端提前生成了 `Id` 但业务表还没有该行,后端会使用 `_NoLineForAdd` 兜底,避免 `UptFormData` 报“数据显示不存在”。
156
-
157
- <!-- /microi-progressive:chunk -->
158
- <!-- microi-progressive:chunk id=v8-workflow-012 sha256=39a371dc5106862955945741a65c2fd08423cfedbc028e6aba0ba6aadde9cc34 -->
159
- ## 流程相关表
160
-
161
- | 表 | 说明 |
162
- |---|---|
163
- | `WF_FlowDesign` | 流程图设计表 |
164
- | `WF_Node` | 流程节点属性表 |
165
- | `WF_Line` | 流程条件(线)属性表 |
166
- | `WF_Flow` | 流程实例表 |
167
- | `WF_Work` | 流程工作待办表 |
168
- | `WF_History` | 流程轨迹表 |
169
-
170
- <!-- /microi-progressive:chunk -->
171
- <!-- microi-progressive:chunk id=v8-workflow-013 sha256=1e0afbf91035c773357ab43dbc3658a62e368ce65ca329d1047d543558ea2e90 -->
172
- ## 注意事项
173
-
174
- - 条件判断 V8 事件可以设置 `V8.NextNodeId` 直接指定下一节点;未设置时才按 `V8.LineValue` 匹配条件线的**条件值**
175
- - 配置图形化条件时,节点/路线标识来自流程拓扑,条件名称只是规则名称,不要用条件名称覆盖 `wf_line.LineName`
176
- - 节点开始后端事件返回 `{ Code: 0, Msg: '...' }` 或 `V8.Result = { Code: 0 }` 可阻止流程提交
177
- - 流程事件在事务中执行,任何节点返回失败都会回滚
178
- - `V8.WF.ApprovalType === 'Auto'` 表示自动节点(发起、业务节点、自动结束),无需人工审批
179
- - `V8.WF.ForceSelectUsers` 仅在**前端节点开始事件**中有效
180
- <!-- /microi-progressive:chunk -->
1
+ # v8-workflow 详细参考 1
2
+
3
+ > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
+
5
+ <!-- microi-progressive:chunk id=v8-workflow-007 sha256=9c40c62b67065c7e9f6821ef748d75595f004f069909258d9867490b74e115b7 -->
6
+ ## 节点开始 V8 事件
7
+
8
+ ### 前端 — 指定审批人
9
+
10
+ ```javascript
11
+ // V8.EventName === 'WFNodeStart'
12
+ // 可以强制指定下一节点审批人
13
+ if (V8.Form.DeptId === 'special-dept') {
14
+ V8.WF.ForceSelectUsers = ['user-id-1', 'user-id-2'];
15
+ }
16
+ ```
17
+
18
+ ### 后端 — 阻止流程提交
19
+
20
+ ```javascript
21
+ // V8.EventName === 'WFNodeStart'
22
+ // 返回 Code: 0 可以阻止流程提交并回滚事务
23
+ if (!V8.Form.ApprovalFiles) {
24
+ V8.Result = { Code: 0, Msg: '请先上传审批附件' };
25
+ }
26
+ ```
27
+
28
+ <!-- /microi-progressive:chunk -->
29
+ <!-- microi-progressive:chunk id=v8-workflow-008 sha256=f023312e7d95c518428c2e6d1df99b43cc36d41659aa75768b13ff83cf52b3b0 -->
30
+ ## 节点结束 V8 事件
31
+
32
+ ### 后端 — 流程结束后业务处理
33
+
34
+ ```javascript
35
+ // V8.EventName === 'WFNodeEnd'
36
+ var approvalType = V8.WF.ApprovalType;
37
+
38
+ // 同意 — 更新业务状态
39
+ if (approvalType === 'Agree') {
40
+ // 判断是否到达最终节点
41
+ var nextNode = V8.WF.NextNode;
42
+ if (!nextNode || nextNode.NodeType === 'End') {
43
+ // 流程结束,更新业务状态
44
+ V8.FormEngine.UptFormData(V8.TableModel.Name, {
45
+ Id: V8.Form.Id,
46
+ ApprovalStatus: 'Approved',
47
+ ApprovalTime: DateNow('yyyy-MM-dd HH:mm:ss')
48
+ });
49
+ }
50
+ }
51
+
52
+ // 拒绝 — 回退状态
53
+ if (approvalType === 'Disagree') {
54
+ V8.FormEngine.UptFormData(V8.TableModel.Name, {
55
+ Id: V8.Form.Id,
56
+ ApprovalStatus: 'Rejected',
57
+ RejectReason: V8.WF.ApprovalIdea
58
+ });
59
+ }
60
+
61
+ // 撤回
62
+ if (approvalType === 'Recall') {
63
+ V8.FormEngine.UptFormData(V8.TableModel.Name, {
64
+ Id: V8.Form.Id,
65
+ ApprovalStatus: 'Draft'
66
+ });
67
+ }
68
+
69
+ // 通知下一审批人
70
+ if (V8.WF.NextTodoUsers && V8.WF.NextTodoUsers.length > 0) {
71
+ for (var i = 0; i < V8.WF.NextTodoUsers.length; i++) {
72
+ V8.ApiEngine.Run('send-notification', {
73
+ userId: V8.WF.NextTodoUsers[i].Id,
74
+ title: '您有新的审批任务',
75
+ content: V8.CurrentUser.Name + '提交了' + V8.TableModel.Name + '审批'
76
+ });
77
+ }
78
+ }
79
+ ```
80
+
81
+ ### 前端 — 流程提交后提示
82
+
83
+ ```javascript
84
+ // V8.EventName === 'WFNodeEnd'
85
+ if (V8.WF.WorkResult) {
86
+ V8.Tips('流程已提交', true);
87
+ }
88
+ ```
89
+
90
+ <!-- /microi-progressive:chunk -->
91
+ <!-- microi-progressive:chunk id=v8-workflow-009 sha256=a927ce0325e130608823800c83c85d9e83d54fea61dbcfed32208d49f4012118 -->
92
+ ## 前端打开流程表单
93
+
94
+ ```javascript
95
+ // 发起流程
96
+ V8.OpenFormWF(V8.Form, 'Add', {
97
+ WorkType: 'StartWork',
98
+ FlowDesignId: 'flow-design-id'
99
+ });
100
+
101
+ // 查看流程
102
+ V8.OpenFormWF(V8.Form, 'View', {
103
+ WorkType: 'ViewWork',
104
+ FlowDesignId: 'flow-design-id'
105
+ });
106
+ ```
107
+
108
+ <!-- /microi-progressive:chunk -->
109
+ <!-- microi-progressive:chunk id=v8-workflow-010 sha256=ea15dea212f044a16bdccbf75ebe3a28ce3eb3ff27c989e8c6b4ec567e170032 -->
110
+ ## MCP 创建/检查/测试工作流
111
+
112
+ 从自然语言需求创建审批流时,优先整理成完整 Manifest 的 `workflows` 配置,再走 MCP 干跑和验收流程。
113
+
114
+ ```json
115
+ {
116
+ "workflows": [
117
+ {
118
+ "FlowDesign": { "FlowName": "请假审批", "table": "diy_leave", "IsEnable": 1 },
119
+ "Nodes": [
120
+ { "Id": "start", "NodeName": "发起人", "NodeType": "Start", "LineValueV8": "" },
121
+ { "Id": "leader", "NodeName": "部门负责人审批", "NodeType": "Approve", "Roles": "dept-leader" },
122
+ { "Id": "end", "NodeName": "结束", "NodeType": "End" }
123
+ ],
124
+ "Lines": [
125
+ { "Id": "line_start_leader", "FromNodeId": "start", "ToNodeId": "leader", "LineName": "发起人 到 部门负责人审批", "LineValue": "" },
126
+ { "Id": "line_leader_end", "FromNodeId": "leader", "ToNodeId": "end", "LineName": "部门负责人审批 到 结束", "LineValue": "" }
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ ```
132
+
133
+ MCP 操作顺序:
134
+
135
+ 1. `microi_get_db_schema`:确认业务表、已有流程、角色、字段。
136
+ 2. `microi_get_manifest_schema`:按 Manifest 协议生成 tables/modules/workflows。
137
+ 3. `microi_plan_system`:本地干跑,必须修复 workflow 拓扑错误。
138
+ 4. `microi_check_workflow_package`:单独检查某个 workflow package。
139
+ 5. `microi_test_workflow_condition`:对图形条件生成的 `LineValueV8` 传入样例 `formData`,验证会选中哪条路线。
140
+ 6. `microi_generate_system` 或 `microi_save_workflow_package`:用户明确确认后再写入。
141
+
142
+ 工作流建模规则:
143
+
144
+ - 必须有且仅有 1 个开始节点,至少 1 个结束节点。
145
+ - 所有 `wf_line.FromNodeId/ToNodeId` 必须指向存在的节点。
146
+ - 线路标题 `LineName` 默认使用 `{起点节点名称} 到 {终点节点名称}`,不要把业务条件名写成线路标题。
147
+ - 条件名称只作为图形配置/注释标记里的业务说明;修改条件名称不应改变线路标题。
148
+ - 多出线节点必须配置条件判断 V8,优先设置 `V8.NextNodeId`,只有兼容旧条件值时才设置 `V8.LineValue`。
149
+ - 图形条件生成的 V8 会带 `MICROI_WF_LINE_CONDITION_JSON` 标记,MCP 测试工具只解析该标记,不执行任意手写 V8。
150
+
151
+ <!-- /microi-progressive:chunk -->
152
+ <!-- microi-progressive:chunk id=v8-workflow-011 sha256=ab8c37da582f7463663ab9a609cf31e95c94e38181bc37b7c880a27f19f01a0e -->
153
+ ## 发起流程与表单保存
154
+
155
+ 新建业务数据并发起流程时,应先保存表单,再启动流程,或使用平台的合并接口 `StartWorkWithForm` 在同一事务里完成。首次发起建议以 `Add` 模式打开流程表单;如果前端提前生成了 `Id` 但业务表还没有该行,后端会使用 `_NoLineForAdd` 兜底,避免 `UptFormData` 报“数据显示不存在”。
156
+
157
+ <!-- /microi-progressive:chunk -->
158
+ <!-- microi-progressive:chunk id=v8-workflow-012 sha256=39a371dc5106862955945741a65c2fd08423cfedbc028e6aba0ba6aadde9cc34 -->
159
+ ## 流程相关表
160
+
161
+ | 表 | 说明 |
162
+ |---|---|
163
+ | `WF_FlowDesign` | 流程图设计表 |
164
+ | `WF_Node` | 流程节点属性表 |
165
+ | `WF_Line` | 流程条件(线)属性表 |
166
+ | `WF_Flow` | 流程实例表 |
167
+ | `WF_Work` | 流程工作待办表 |
168
+ | `WF_History` | 流程轨迹表 |
169
+
170
+ <!-- /microi-progressive:chunk -->
171
+ <!-- microi-progressive:chunk id=v8-workflow-013 sha256=1e0afbf91035c773357ab43dbc3658a62e368ce65ca329d1047d543558ea2e90 -->
172
+ ## 注意事项
173
+
174
+ - 条件判断 V8 事件可以设置 `V8.NextNodeId` 直接指定下一节点;未设置时才按 `V8.LineValue` 匹配条件线的**条件值**
175
+ - 配置图形化条件时,节点/路线标识来自流程拓扑,条件名称只是规则名称,不要用条件名称覆盖 `wf_line.LineName`
176
+ - 节点开始后端事件返回 `{ Code: 0, Msg: '...' }` 或 `V8.Result = { Code: 0 }` 可阻止流程提交
177
+ - 流程事件在事务中执行,任何节点返回失败都会回滚
178
+ - `V8.WF.ApprovalType === 'Auto'` 表示自动节点(发起、业务节点、自动结束),无需人工审批
179
+ - `V8.WF.ForceSelectUsers` 仅在**前端节点开始事件**中有效
180
+ <!-- /microi-progressive:chunk -->