@microi.net/cli 5.8.4 → 5.8.6

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 (212) 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/.mcp.json +1 -1
  5. package/.workbuddy-plugin/marketplace.json +2 -2
  6. package/.workbuddy-plugin/plugin.json +1 -1
  7. package/LICENSE +21 -21
  8. package/README.md +71 -71
  9. package/assets/build-meta.json +7 -7
  10. package/assets/feature-matrix.json +138 -138
  11. package/assets/logo.svg +4 -4
  12. package/cordis.patch.yml +1 -1
  13. package/package.json +1 -1
  14. package/scripts/codex-marketplace.json +20 -20
  15. package/scripts/mcp-codex-stdio-adapter.js +189 -189
  16. package/scripts/mcp-server.js +5 -0
  17. package/scripts/mcp-trae-windows-launcher.cmd +21 -21
  18. package/scripts/microi-cli-mcp.js +7 -7
  19. package/scripts/microi-cli.js +67 -66
  20. package/scripts/microi-codex-broker.js +450 -450
  21. package/scripts/microi-codex-router.js +618 -582
  22. package/scripts/microi-skills.meta.json +384 -384
  23. package/skills/.microi-skills-version.json +2 -2
  24. package/skills/.progressive-disclosure-manifest.json +3566 -3566
  25. package/skills/README.md +287 -287
  26. package/skills/ai-engine/SKILL.md +269 -265
  27. package/skills/ai-engine/agents/openai.yaml +4 -4
  28. package/skills/ai-engine/references/ai-employees.md +48 -48
  29. package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
  30. package/skills/ai-platform-governance/SKILL.md +177 -177
  31. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
  32. package/skills/app-store/SKILL.md +525 -525
  33. package/skills/app-store/agents/openai.yaml +4 -4
  34. package/skills/business-blueprint/SKILL.md +193 -193
  35. package/skills/datasource-engine/SKILL.md +93 -93
  36. package/skills/datasource-engine/agents/openai.yaml +4 -4
  37. package/skills/dos-orm/SKILL.md +97 -97
  38. package/skills/dos-orm/references/api-reference.md +229 -229
  39. package/skills/email-engine/SKILL.md +81 -81
  40. package/skills/email-engine/references/v8-email.md +34 -34
  41. package/skills/job-engine/SKILL.md +176 -176
  42. package/skills/job-engine/agents/openai.yaml +4 -4
  43. package/skills/message-notification/SKILL.md +156 -156
  44. package/skills/message-notification/agents/openai.yaml +5 -5
  45. package/skills/message-notification/references/contracts.md +102 -102
  46. package/skills/microi/SKILL.md +14 -14
  47. package/skills/microi-ai-app-auth.js +652 -652
  48. package/skills/microi-ai-application/SKILL.md +115 -115
  49. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  50. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  51. package/skills/microi-client-frontend/SKILL.md +244 -244
  52. 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
  53. 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
  54. 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
  55. package/skills/microi-codex/SKILL.md +102 -100
  56. package/skills/microi-codex-installer/SKILL.md +231 -227
  57. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  58. package/skills/microi-datasource-mapping/SKILL.md +122 -122
  59. package/skills/microi-db-schema/SKILL.md +175 -175
  60. package/skills/microi-db-schema/agents/openai.yaml +4 -4
  61. package/skills/microi-db-schema/references/core-tables.md +695 -695
  62. package/skills/microi-db-schema/references/form-component-options.md +256 -256
  63. package/skills/microi-db-schema/references/schema-overview.md +202 -202
  64. package/skills/microi-db-schema/references/schema.md +646 -646
  65. package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
  66. package/skills/microi-deployment/SKILL.md +221 -221
  67. package/skills/microi-deployment/references/deployment-matrix.md +109 -109
  68. package/skills/microi-docs-coverage/SKILL.md +133 -133
  69. package/skills/microi-docs-coverage/references/capability-map.md +91 -91
  70. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  71. package/skills/microi-form-engine/SKILL.md +333 -333
  72. package/skills/microi-form-engine/references/component-catalog.md +218 -218
  73. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  74. package/skills/microi-form-layout/SKILL.md +205 -205
  75. 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
  76. package/skills/microi-frontend-sdk/SKILL.md +194 -194
  77. 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
  78. package/skills/microi-left-right-layout/SKILL.md +141 -141
  79. package/skills/microi-microservice/SKILL.md +326 -324
  80. package/skills/microi-microservice/references/runtime-delivery.md +278 -278
  81. package/skills/microi-mobile-app-quality/SKILL.md +185 -185
  82. 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
  83. 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
  84. package/skills/microi-solution-quotation/SKILL.md +78 -78
  85. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  86. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  87. package/skills/microi-sso/SKILL.md +92 -92
  88. package/skills/microi-sso/references/acceptance.md +49 -49
  89. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  90. package/skills/microi-sso/references/inbound.md +53 -53
  91. package/skills/microi-sso/references/outbound.md +39 -39
  92. package/skills/microi-system-delivery/SKILL.md +137 -137
  93. 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
  94. 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 +217 -217
  95. package/skills/microi-ui/SKILL.md +192 -192
  96. 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
  97. package/skills/microi-uniapp-frontend/SKILL.md +193 -193
  98. 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
  99. 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
  100. package/skills/microi.v8.js +1921 -1921
  101. package/skills/module-engine/SKILL.md +255 -255
  102. package/skills/module-engine/references/module-config.md +204 -204
  103. package/skills/ocr-engine/SKILL.md +113 -113
  104. package/skills/ocr-engine/agents/openai.yaml +4 -4
  105. package/skills/page-engine/SKILL.md +206 -206
  106. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  107. 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
  108. 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
  109. package/skills/performance-testing/SKILL.md +221 -221
  110. package/skills/playwright-e2e/SKILL.md +196 -196
  111. 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
  112. 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
  113. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
  114. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
  115. package/skills/print-engine/SKILL.md +259 -259
  116. package/skills/production-readonly-audit/SKILL.md +41 -41
  117. package/skills/report-engine/SKILL.md +71 -71
  118. package/skills/report-engine/agents/openai.yaml +4 -4
  119. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  120. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  121. package/skills/scripts/sync-embedded-skills.mjs +46 -46
  122. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  123. package/skills/search-engine/SKILL.md +75 -75
  124. package/skills/search-engine/agents/openai.yaml +4 -4
  125. package/skills/spider-engine/SKILL.md +190 -190
  126. package/skills/system-observability/SKILL.md +248 -248
  127. package/skills/system-observability/references/memory-incident-triage.md +77 -77
  128. package/skills/translate-engine/SKILL.md +140 -140
  129. package/skills/translate-engine/agents/openai.yaml +4 -4
  130. package/skills/ui-design/SKILL.md +223 -223
  131. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  132. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  133. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  134. package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
  135. package/skills/ui-design/references/design-pattern-library.md +184 -184
  136. package/skills/ui-design/references/mci-design-contract.md +163 -163
  137. package/skills/ui-design/references/motion-and-media.md +78 -78
  138. package/skills/ui-design/references/product-flow-recipes.md +94 -94
  139. 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
  140. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. 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 +142 -142
  147. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  148. package/skills/unity-integration/SKILL.md +171 -171
  149. package/skills/unity-integration/agents/openai.yaml +4 -4
  150. package/skills/unity-integration/references/ai-app-delivery.md +119 -119
  151. package/skills/unity-integration/references/sdk-api.md +82 -82
  152. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  153. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  154. package/skills/v8-api-config/SKILL.md +388 -388
  155. package/skills/v8-cache-pattern/SKILL.md +312 -312
  156. package/skills/v8-crud-api/SKILL.md +178 -178
  157. 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
  158. 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
  159. package/skills/v8-debugging/SKILL.md +284 -284
  160. package/skills/v8-explorer-tree/SKILL.md +228 -228
  161. package/skills/v8-export-import/SKILL.md +219 -219
  162. 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
  163. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
  164. 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
  165. package/skills/v8-file-upload/SKILL.md +284 -284
  166. 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 +263 -263
  167. 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 +161 -161
  168. package/skills/v8-formengine-http/SKILL.md +238 -238
  169. package/skills/v8-frontend-events/SKILL.md +180 -180
  170. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  171. package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
  172. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
  173. package/skills/v8-http-integration/SKILL.md +182 -182
  174. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
  175. 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
  176. package/skills/v8-image-processing/SKILL.md +190 -190
  177. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  178. package/skills/v8-image-processing/references/api-reference.md +623 -623
  179. package/skills/v8-menu-buttons/SKILL.md +186 -186
  180. 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
  181. 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
  182. 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
  183. package/skills/v8-mongodb/SKILL.md +200 -200
  184. package/skills/v8-mq-mqtt/SKILL.md +176 -176
  185. package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
  186. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
  187. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  188. package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
  189. package/skills/v8-security/SKILL.md +210 -210
  190. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
  191. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
  192. package/skills/v8-sql-query/SKILL.md +302 -302
  193. package/skills/v8-table-event/SKILL.md +176 -176
  194. 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 +216 -216
  195. 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
  196. package/skills/v8-tcp-integration/SKILL.md +147 -147
  197. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  198. package/skills/v8-template-engine/SKILL.md +167 -167
  199. package/skills/v8-utilities/SKILL.md +104 -104
  200. package/skills/v8-utilities/references/client-api-index.md +143 -143
  201. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  202. package/skills/v8-utilities/references/server-api-index.md +188 -188
  203. package/skills/v8-workflow/SKILL.md +252 -252
  204. 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
  205. package/skills/v8-workflow/references/workflow-configuration.md +49 -49
  206. package/skills/vision-engine/SKILL.md +160 -160
  207. package/skills/vision-engine/agents/openai.yaml +4 -4
  208. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  209. package/skills/workspace-conventions/SKILL.md +273 -270
  210. 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 +209 -209
  211. 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 +217 -217
  212. 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,235 +1,235 @@
1
- # microi-form-layout 详细参考 1
2
-
3
- > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
-
5
- <!-- microi-progressive:chunk id=microi-form-layout-006 sha256=a78b000a9fee46d8394b0b6cb186702e520ab513f7eff098f2226f1158e46970 -->
6
- ## 3. 三种分组的存储与配置
7
-
8
- ### 3.1 diy_table.Tabs(表级 Tab)
9
-
10
- 存储:`diy_table.Tabs`(JSON 字符串)+ 每个字段的 `diy_field.Tab`(归属 Tab 名)。
11
-
12
- ```jsonc
13
- // diy_table.Tabs JSON 格式
14
- [
15
- { "Id": "basic", "Name": "基础信息", "Sort": 10 },
16
- { "Id": "business","Name": "业务明细", "Sort": 20 },
17
- { "Id": "attach", "Name": "附件备注", "Sort": 30 }
18
- ]
19
- ```
20
-
21
- 字段归属:在 `diy_field.Tab` 写 `Id`(不是 `Name`)。`Tab` 留空的字段属于"非 Tab 字段"(即 `diy_table.Tabs` 之外的字段),会作为隐藏的剩余字段自动归到最后 Tab。
22
-
23
- - 字段 `Tab="basic"` → 归属"基础信息"Tab
24
- - 字段 `Tab=""` 且 `diy_table.Tabs` 存在 → 自动归到最后一个 Tab 的剩余字段
25
- - 字段 `Tab=""` 且 `diy_table.Tabs` 不存在 → 全部在第一屏平铺
26
-
27
- **不推荐用法**:把 `diy_table.Tabs` 拆出 3 个 Tab、每个 Tab 内只有 2~3 个字段。这会让用户必须点击 3 次 Tab 才能看完一张表,且首屏只看到 2~3 个字段。
28
-
29
- ### 3.2 字段级 Tabs 控件(`diy_field.Component='Tabs'`)
30
-
31
- 存储:`diy_field` 行 + `Config.FieldTabs`(JSON)。
32
-
33
- ```jsonc
34
- // diy_field 必要字段
35
- {
36
- "Id": "TabsField_Main",
37
- "Name": "TabsMain",
38
- "Label": "主分组",
39
- "Component": "Tabs",
40
- "Type": "varchar(50)",
41
- "Sort": 50,
42
- "Visible": 0, // 通常设为 0,因为 Tabs 本身是布局控件
43
- "AppVisible": 0,
44
- "Config": "{\"FieldTabs\":{...}}"
45
- }
46
-
47
- // Config.FieldTabs
48
- {
49
- "ScopeMode": "FieldCount", // 或 "Manual"
50
- "TotalFieldCount": 0, // 0 表示直到下一个 Tabs
51
- "DefaultActiveKey": "tab1",
52
- "Type": "card", // "" | "card" | "border-card"
53
- "Position": "top", // top | bottom | left | right
54
- "Stretch": false,
55
- "ShowFieldCount": true,
56
- "CaptureRest": true,
57
- "Description": "",
58
- "Theme": "default",
59
- "Tabs": [
60
- { "Key": "tab1", "Title": "页签一", "Icon": "fas fa-info-circle", "FieldCount": 6, "Disabled": false }
61
- ]
62
- }
63
- ```
64
-
65
- **作用范围**:从该 Tabs 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
66
-
67
- ### 3.3 字段级 CollapseGroup 折叠分组(`diy_field.Component='CollapseGroup'`)
68
-
69
- 存储:`diy_field` 行 + `Config.CollapseGroup`(JSON)。
70
-
71
- ```jsonc
72
- // diy_field 必要字段
73
- {
74
- "Id": "CollapseGroup_MRP",
75
- "Name": "MrpGroup",
76
- "Label": "MRP 运算",
77
- "Component": "CollapseGroup",
78
- "Type": "",
79
- "Sort": 120,
80
- "Visible": 1,
81
- "AppVisible": 1,
82
- "FormWidth": 24,
83
- "Config": "{\"CollapseGroup\":{...}}"
84
- }
85
-
86
- // Config.CollapseGroup
87
- {
88
- "DefaultCollapsed": false, // 默认展开;高频访问分组可设 false
89
- "ScopeMode": "UntilNextGroup", // 直到下一个折叠/Tab/Divider
90
- "FieldCount": 5, // ScopeMode=FieldCount 时生效
91
- "Description": "MRP 运算结果与时间",
92
- "Icon": "fas fa-calculator",
93
- "Theme": "primary", // default | primary | success | warning | danger
94
- "ShowFieldCount": true
95
- }
96
- ```
97
-
98
- **作用范围**:从该 CollapseGroup 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
99
-
100
- **默认值硬规则**:`CollapseGroup` 必须保存 `FormWidth=24`(PC 表单 100% 宽度);
101
- `Config.CollapseGroup.ShowFieldCount` 省略时必须补为 `true`。只有用户明确要求隐藏数量时
102
- 才允许写 `ShowFieldCount=false`,只有用户明确要求非整行实验布局时才允许覆盖宽度。
103
-
104
- **与 Tab 的关键区别**:所有 CollapseGroup 标题**始终可见**,分组内字段**默认展开**或**默认收起**,但所有分组的字段**都在同一页面**,可同时展开多个。
105
-
106
- ### 3.4 控件视觉对比
107
-
108
- | 视觉表现 | Tabs | CollapseGroup |
109
- |---------|------|---------------|
110
- | 首屏可见字段数 | 仅一个 Tab 的字段 | **所有分组的标题 + 展开分组的字段** |
111
- | 用户切换分组方式 | 必须点击 Tab 头 | 可直接滚动或逐个点击展开 |
112
- | 同时看到多组 | ❌ | ✅ |
113
- | 适合"展开后阅读" | ❌(频繁切换会烦) | ✅ |
114
- | 适合"互斥分组" | ✅ | ❌ |
115
-
116
- <!-- /microi-progressive:chunk -->
117
- <!-- microi-progressive:chunk id=microi-form-layout-007 sha256=5944a965b1ac9a5c87a0e066af7f6489d2b5cd09e55fff7dc4e43d8d3a029fd6 -->
118
- ## 7. 反例参考(必须避免)
119
-
120
- ### 反例 1:MRP 运算 3 字段单独建 Tab
121
-
122
- ```
123
- ❌ 错误:
124
- diy_table.Tabs = [
125
- { Id: 'basic', Name: '基础信息' }, // 5 字段
126
- { Id: 'mrp', Name: 'MRP 运算' }, // 3 字段
127
- { Id: 'remark', Name: '备注' } // 1 字段
128
- ]
129
- // 用户打开表单,第一屏只看到 5 个"基础信息"字段,"MRP 运算"和"备注"被藏在 Tab 里
130
-
131
- ✅ 正确:
132
- // 不创建 diy_table.Tabs,把"MRP 运算" 3 字段用 CollapseGroup 收在表单末尾(默认展开)
133
- // 把"备注"也用 CollapseGroup 或 Divider 收
134
- // 第一屏用户能看到所有基础信息 + MRP 运算
135
- ```
136
-
137
- ### 反例 1.1:项目收款记录拆成 2/9/2 三个 Tab
138
-
139
- ```
140
- ❌ 错误:
141
- 项目(2 个短字段) + 收款(9 个短字段) + 附件备注(2 个整行字段)分别建 Tab。
142
- 结果是每页只有 1~5 行内容,桌面抽屉出现大面积空白,用户要切换三次才能看完整记录。
143
-
144
- ✅ 正确:
145
- 取消表级 Tab,按原顺序建立“项目信息 / 收款信息 / 附件备注”三个 CollapseGroup。
146
- 核心组默认展开,低频附件备注可默认收起;保留原字段、数据源、必填规则和 V8 代码。
147
- ```
148
-
149
- ### 反例 2:13 字段表全平铺
150
-
151
- ```
152
- ❌ 错误:
153
- // 13 字段全部 Tab 留空
154
- // 用户必须向下滚动 3 屏才能看到所有字段
155
-
156
- ✅ 正确:
157
- // 13 字段按业务分两组:8 字段"基础信息" + 5 字段"业务明细"
158
- // 用 1 个 diy_table.Tabs(基础信息 + 业务明细)
159
- // 或用 1 个 CollapseGroup 把"业务明细"5 字段收起
160
- ```
161
-
162
- ### 反例 3:42 字段表用 6 个 Tab
163
-
164
- ```
165
- ❌ 错误:
166
- // 6 个 Tab:基础(14) + 项目业主(2) + 发货通知(13) + 生产需求(3) + 审核(4) + ERP出库(4) + 其他(2)
167
- // 用户要点 6 次才能看完,且"项目业主"和"生产需求"这种 2~3 字段的 Tab 完全没必要
168
-
169
- ✅ 正确:
170
- // 4 个 Tab:基础(14) + 发货通知+生产需求(16) + 审核+ERP出库(8) + 其他(4)
171
- // 或 3 个 Tab + 内部嵌套 CollapseGroup
172
- ```
173
-
174
- <!-- /microi-progressive:chunk -->
175
- <!-- microi-progressive:chunk id=microi-form-layout-008 sha256=1d93c83d865ef941f62c4e8e0dd6238489645bf53367b61e6e397543447dcdbd -->
176
- ## 8. 快速参考代码片段
177
-
178
- ### 8.1 MCP 创建表级 Tab
179
-
180
- ```js
181
- // 假设已创建 diy_table,通过 microi_update_table 设置 Tabs
182
- // 注意:microi_create_table 不直接接收 Tabs JSON,需创建后 microi_update_table 补全
183
- microi_update_table({
184
- name: "yutaoliaojieguo",
185
- // 暂未直接传 Tabs,需要通过 microi_update_table 文档化的方式补全
186
- })
187
- ```
188
-
189
- > 实际写入 `diy_table.Tabs` 优先用 `microi_update_field` 之外的元数据写入方式或 `microi_upsert_engine` 委托接口引擎;后续 MCP 工具可补强 `Tabs` 参数。
190
-
191
- ### 8.2 MCP 创建字段级 CollapseGroup
192
-
193
- ```js
194
- // 1. 创建一个 CollapseGroup 字段
195
- microi_add_layout_field({
196
- tableId: "01KTASHWEBE514R1XTB0WVJJRX",
197
- name: "MrpGroup",
198
- label: "MRP 运算",
199
- component: "CollapseGroup",
200
- sort: 150,
201
- visible: 1,
202
- appVisible: 1,
203
- config: JSON.stringify({
204
- CollapseGroup: {
205
- DefaultCollapsed: false,
206
- ScopeMode: "UntilNextGroup",
207
- Description: "MRP 运算状态、批次号与时间",
208
- Icon: "fas fa-calculator",
209
- Theme: "primary",
210
- ShowFieldCount: true
211
- }
212
- }),
213
- confirmExecution: "MrpGroup"
214
- })
215
-
216
- // 工具默认写入 FormWidth=24;回读必须确认宽度为 24 且 ShowFieldCount=true。
217
-
218
- // 2. 让"MRP 运算"相关字段归属到该 CollapseGroup
219
- // 范围方式:把 CalcStatus、CalcBatchNo、MrpTime 三个字段的 Sort 排在 150~300 之间,
220
- // 下一个 CollapseGroup/Tabs/Divider 字段之前的所有字段都属于该分组
221
- ```
222
-
223
- ### 8.3 MCP 把字段 Tab 归属到 diy_table.Tabs
224
-
225
- ```js
226
- // 创建表级 Tab
227
- // 1. microi_update_table 设置 diy_table.Tabs 字段(待 MCP 工具补全)
228
- // 2. 给字段写 Tab 归属
229
- microi_update_field({
230
- id: "01KVTWDJ7WXB3Z60HGJ5BPTBJ0",
231
- tab: "basic" // 归属到 diy_table.Tabs.Id='basic' 的 Tab
232
- })
233
- ```
234
-
235
- <!-- /microi-progressive:chunk -->
1
+ # microi-form-layout 详细参考 1
2
+
3
+ > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
+
5
+ <!-- microi-progressive:chunk id=microi-form-layout-006 sha256=a78b000a9fee46d8394b0b6cb186702e520ab513f7eff098f2226f1158e46970 -->
6
+ ## 3. 三种分组的存储与配置
7
+
8
+ ### 3.1 diy_table.Tabs(表级 Tab)
9
+
10
+ 存储:`diy_table.Tabs`(JSON 字符串)+ 每个字段的 `diy_field.Tab`(归属 Tab 名)。
11
+
12
+ ```jsonc
13
+ // diy_table.Tabs JSON 格式
14
+ [
15
+ { "Id": "basic", "Name": "基础信息", "Sort": 10 },
16
+ { "Id": "business","Name": "业务明细", "Sort": 20 },
17
+ { "Id": "attach", "Name": "附件备注", "Sort": 30 }
18
+ ]
19
+ ```
20
+
21
+ 字段归属:在 `diy_field.Tab` 写 `Id`(不是 `Name`)。`Tab` 留空的字段属于"非 Tab 字段"(即 `diy_table.Tabs` 之外的字段),会作为隐藏的剩余字段自动归到最后 Tab。
22
+
23
+ - 字段 `Tab="basic"` → 归属"基础信息"Tab
24
+ - 字段 `Tab=""` 且 `diy_table.Tabs` 存在 → 自动归到最后一个 Tab 的剩余字段
25
+ - 字段 `Tab=""` 且 `diy_table.Tabs` 不存在 → 全部在第一屏平铺
26
+
27
+ **不推荐用法**:把 `diy_table.Tabs` 拆出 3 个 Tab、每个 Tab 内只有 2~3 个字段。这会让用户必须点击 3 次 Tab 才能看完一张表,且首屏只看到 2~3 个字段。
28
+
29
+ ### 3.2 字段级 Tabs 控件(`diy_field.Component='Tabs'`)
30
+
31
+ 存储:`diy_field` 行 + `Config.FieldTabs`(JSON)。
32
+
33
+ ```jsonc
34
+ // diy_field 必要字段
35
+ {
36
+ "Id": "TabsField_Main",
37
+ "Name": "TabsMain",
38
+ "Label": "主分组",
39
+ "Component": "Tabs",
40
+ "Type": "varchar(50)",
41
+ "Sort": 50,
42
+ "Visible": 0, // 通常设为 0,因为 Tabs 本身是布局控件
43
+ "AppVisible": 0,
44
+ "Config": "{\"FieldTabs\":{...}}"
45
+ }
46
+
47
+ // Config.FieldTabs
48
+ {
49
+ "ScopeMode": "FieldCount", // 或 "Manual"
50
+ "TotalFieldCount": 0, // 0 表示直到下一个 Tabs
51
+ "DefaultActiveKey": "tab1",
52
+ "Type": "card", // "" | "card" | "border-card"
53
+ "Position": "top", // top | bottom | left | right
54
+ "Stretch": false,
55
+ "ShowFieldCount": true,
56
+ "CaptureRest": true,
57
+ "Description": "",
58
+ "Theme": "default",
59
+ "Tabs": [
60
+ { "Key": "tab1", "Title": "页签一", "Icon": "fas fa-info-circle", "FieldCount": 6, "Disabled": false }
61
+ ]
62
+ }
63
+ ```
64
+
65
+ **作用范围**:从该 Tabs 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
66
+
67
+ ### 3.3 字段级 CollapseGroup 折叠分组(`diy_field.Component='CollapseGroup'`)
68
+
69
+ 存储:`diy_field` 行 + `Config.CollapseGroup`(JSON)。
70
+
71
+ ```jsonc
72
+ // diy_field 必要字段
73
+ {
74
+ "Id": "CollapseGroup_MRP",
75
+ "Name": "MrpGroup",
76
+ "Label": "MRP 运算",
77
+ "Component": "CollapseGroup",
78
+ "Type": "",
79
+ "Sort": 120,
80
+ "Visible": 1,
81
+ "AppVisible": 1,
82
+ "FormWidth": 24,
83
+ "Config": "{\"CollapseGroup\":{...}}"
84
+ }
85
+
86
+ // Config.CollapseGroup
87
+ {
88
+ "DefaultCollapsed": false, // 默认展开;高频访问分组可设 false
89
+ "ScopeMode": "UntilNextGroup", // 直到下一个折叠/Tab/Divider
90
+ "FieldCount": 5, // ScopeMode=FieldCount 时生效
91
+ "Description": "MRP 运算结果与时间",
92
+ "Icon": "fas fa-calculator",
93
+ "Theme": "primary", // default | primary | success | warning | danger
94
+ "ShowFieldCount": true
95
+ }
96
+ ```
97
+
98
+ **作用范围**:从该 CollapseGroup 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
99
+
100
+ **默认值硬规则**:`CollapseGroup` 必须保存 `FormWidth=24`(PC 表单 100% 宽度);
101
+ `Config.CollapseGroup.ShowFieldCount` 省略时必须补为 `true`。只有用户明确要求隐藏数量时
102
+ 才允许写 `ShowFieldCount=false`,只有用户明确要求非整行实验布局时才允许覆盖宽度。
103
+
104
+ **与 Tab 的关键区别**:所有 CollapseGroup 标题**始终可见**,分组内字段**默认展开**或**默认收起**,但所有分组的字段**都在同一页面**,可同时展开多个。
105
+
106
+ ### 3.4 控件视觉对比
107
+
108
+ | 视觉表现 | Tabs | CollapseGroup |
109
+ |---------|------|---------------|
110
+ | 首屏可见字段数 | 仅一个 Tab 的字段 | **所有分组的标题 + 展开分组的字段** |
111
+ | 用户切换分组方式 | 必须点击 Tab 头 | 可直接滚动或逐个点击展开 |
112
+ | 同时看到多组 | ❌ | ✅ |
113
+ | 适合"展开后阅读" | ❌(频繁切换会烦) | ✅ |
114
+ | 适合"互斥分组" | ✅ | ❌ |
115
+
116
+ <!-- /microi-progressive:chunk -->
117
+ <!-- microi-progressive:chunk id=microi-form-layout-007 sha256=5944a965b1ac9a5c87a0e066af7f6489d2b5cd09e55fff7dc4e43d8d3a029fd6 -->
118
+ ## 7. 反例参考(必须避免)
119
+
120
+ ### 反例 1:MRP 运算 3 字段单独建 Tab
121
+
122
+ ```
123
+ ❌ 错误:
124
+ diy_table.Tabs = [
125
+ { Id: 'basic', Name: '基础信息' }, // 5 字段
126
+ { Id: 'mrp', Name: 'MRP 运算' }, // 3 字段
127
+ { Id: 'remark', Name: '备注' } // 1 字段
128
+ ]
129
+ // 用户打开表单,第一屏只看到 5 个"基础信息"字段,"MRP 运算"和"备注"被藏在 Tab 里
130
+
131
+ ✅ 正确:
132
+ // 不创建 diy_table.Tabs,把"MRP 运算" 3 字段用 CollapseGroup 收在表单末尾(默认展开)
133
+ // 把"备注"也用 CollapseGroup 或 Divider 收
134
+ // 第一屏用户能看到所有基础信息 + MRP 运算
135
+ ```
136
+
137
+ ### 反例 1.1:项目收款记录拆成 2/9/2 三个 Tab
138
+
139
+ ```
140
+ ❌ 错误:
141
+ 项目(2 个短字段) + 收款(9 个短字段) + 附件备注(2 个整行字段)分别建 Tab。
142
+ 结果是每页只有 1~5 行内容,桌面抽屉出现大面积空白,用户要切换三次才能看完整记录。
143
+
144
+ ✅ 正确:
145
+ 取消表级 Tab,按原顺序建立“项目信息 / 收款信息 / 附件备注”三个 CollapseGroup。
146
+ 核心组默认展开,低频附件备注可默认收起;保留原字段、数据源、必填规则和 V8 代码。
147
+ ```
148
+
149
+ ### 反例 2:13 字段表全平铺
150
+
151
+ ```
152
+ ❌ 错误:
153
+ // 13 字段全部 Tab 留空
154
+ // 用户必须向下滚动 3 屏才能看到所有字段
155
+
156
+ ✅ 正确:
157
+ // 13 字段按业务分两组:8 字段"基础信息" + 5 字段"业务明细"
158
+ // 用 1 个 diy_table.Tabs(基础信息 + 业务明细)
159
+ // 或用 1 个 CollapseGroup 把"业务明细"5 字段收起
160
+ ```
161
+
162
+ ### 反例 3:42 字段表用 6 个 Tab
163
+
164
+ ```
165
+ ❌ 错误:
166
+ // 6 个 Tab:基础(14) + 项目业主(2) + 发货通知(13) + 生产需求(3) + 审核(4) + ERP出库(4) + 其他(2)
167
+ // 用户要点 6 次才能看完,且"项目业主"和"生产需求"这种 2~3 字段的 Tab 完全没必要
168
+
169
+ ✅ 正确:
170
+ // 4 个 Tab:基础(14) + 发货通知+生产需求(16) + 审核+ERP出库(8) + 其他(4)
171
+ // 或 3 个 Tab + 内部嵌套 CollapseGroup
172
+ ```
173
+
174
+ <!-- /microi-progressive:chunk -->
175
+ <!-- microi-progressive:chunk id=microi-form-layout-008 sha256=1d93c83d865ef941f62c4e8e0dd6238489645bf53367b61e6e397543447dcdbd -->
176
+ ## 8. 快速参考代码片段
177
+
178
+ ### 8.1 MCP 创建表级 Tab
179
+
180
+ ```js
181
+ // 假设已创建 diy_table,通过 microi_update_table 设置 Tabs
182
+ // 注意:microi_create_table 不直接接收 Tabs JSON,需创建后 microi_update_table 补全
183
+ microi_update_table({
184
+ name: "yutaoliaojieguo",
185
+ // 暂未直接传 Tabs,需要通过 microi_update_table 文档化的方式补全
186
+ })
187
+ ```
188
+
189
+ > 实际写入 `diy_table.Tabs` 优先用 `microi_update_field` 之外的元数据写入方式或 `microi_upsert_engine` 委托接口引擎;后续 MCP 工具可补强 `Tabs` 参数。
190
+
191
+ ### 8.2 MCP 创建字段级 CollapseGroup
192
+
193
+ ```js
194
+ // 1. 创建一个 CollapseGroup 字段
195
+ microi_add_layout_field({
196
+ tableId: "01KTASHWEBE514R1XTB0WVJJRX",
197
+ name: "MrpGroup",
198
+ label: "MRP 运算",
199
+ component: "CollapseGroup",
200
+ sort: 150,
201
+ visible: 1,
202
+ appVisible: 1,
203
+ config: JSON.stringify({
204
+ CollapseGroup: {
205
+ DefaultCollapsed: false,
206
+ ScopeMode: "UntilNextGroup",
207
+ Description: "MRP 运算状态、批次号与时间",
208
+ Icon: "fas fa-calculator",
209
+ Theme: "primary",
210
+ ShowFieldCount: true
211
+ }
212
+ }),
213
+ confirmExecution: "MrpGroup"
214
+ })
215
+
216
+ // 工具默认写入 FormWidth=24;回读必须确认宽度为 24 且 ShowFieldCount=true。
217
+
218
+ // 2. 让"MRP 运算"相关字段归属到该 CollapseGroup
219
+ // 范围方式:把 CalcStatus、CalcBatchNo、MrpTime 三个字段的 Sort 排在 150~300 之间,
220
+ // 下一个 CollapseGroup/Tabs/Divider 字段之前的所有字段都属于该分组
221
+ ```
222
+
223
+ ### 8.3 MCP 把字段 Tab 归属到 diy_table.Tabs
224
+
225
+ ```js
226
+ // 创建表级 Tab
227
+ // 1. microi_update_table 设置 diy_table.Tabs 字段(待 MCP 工具补全)
228
+ // 2. 给字段写 Tab 归属
229
+ microi_update_field({
230
+ id: "01KVTWDJ7WXB3Z60HGJ5BPTBJ0",
231
+ tab: "basic" // 归属到 diy_table.Tabs.Id='basic' 的 Tab
232
+ })
233
+ ```
234
+
235
+ <!-- /microi-progressive:chunk -->