@microi.net/cli 5.9.1 → 5.9.3

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 (200) 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 +5 -5
  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/microi-codex-broker.js +466 -450
  14. package/scripts/microi-codex-router.js +634 -618
  15. package/scripts/microi-skills.meta.json +386 -377
  16. package/skills/.microi-skills-version.json +2 -2
  17. package/skills/.progressive-disclosure-manifest.json +148 -123
  18. package/skills/README.md +287 -287
  19. package/skills/ai-engine/SKILL.md +269 -269
  20. package/skills/ai-engine/agents/openai.yaml +4 -4
  21. package/skills/ai-engine/references/ai-employees.md +48 -48
  22. package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
  23. package/skills/ai-platform-governance/SKILL.md +177 -177
  24. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
  25. package/skills/app-store/SKILL.md +525 -525
  26. package/skills/app-store/agents/openai.yaml +4 -4
  27. package/skills/business-blueprint/SKILL.md +193 -193
  28. package/skills/datasource-engine/SKILL.md +93 -93
  29. package/skills/datasource-engine/agents/openai.yaml +4 -4
  30. package/skills/dos-orm/SKILL.md +101 -95
  31. package/skills/dos-orm/references/api-reference.md +229 -229
  32. package/skills/email-engine/SKILL.md +81 -81
  33. package/skills/email-engine/references/v8-email.md +34 -34
  34. package/skills/job-engine/SKILL.md +176 -176
  35. package/skills/job-engine/agents/openai.yaml +4 -4
  36. package/skills/message-notification/SKILL.md +156 -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/SKILL.md +14 -14
  40. package/skills/microi-ai-app-auth.js +652 -652
  41. package/skills/microi-ai-application/SKILL.md +115 -115
  42. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  43. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  44. package/skills/microi-client-frontend/SKILL.md +242 -242
  45. 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
  46. 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
  47. 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
  48. package/skills/microi-codex-installer/SKILL.md +231 -231
  49. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  50. package/skills/microi-datasource-mapping/SKILL.md +122 -122
  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/SKILL.md +239 -220
  59. package/skills/microi-deployment/references/deployment-matrix.md +109 -109
  60. package/skills/microi-docs-coverage/SKILL.md +133 -133
  61. package/skills/microi-docs-coverage/references/capability-map.md +90 -90
  62. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  63. package/skills/microi-form-engine/SKILL.md +338 -333
  64. package/skills/microi-form-engine/references/component-catalog.md +218 -218
  65. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  66. package/skills/microi-frontend-sdk/SKILL.md +194 -194
  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 +330 -328
  70. package/skills/microi-microservice/references/runtime-delivery.md +278 -278
  71. package/skills/microi-mobile-app-quality/SKILL.md +203 -197
  72. package/skills/microi-mobile-app-quality/references/mobile-first-delivery.md +75 -0
  73. 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 +227 -224
  74. 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 +129 -128
  75. package/skills/microi-solution-quotation/SKILL.md +78 -78
  76. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  77. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  78. package/skills/microi-sso/SKILL.md +95 -91
  79. package/skills/microi-sso/references/acceptance.md +51 -49
  80. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  81. package/skills/microi-sso/references/inbound.md +53 -53
  82. package/skills/microi-sso/references/outbound.md +43 -39
  83. package/skills/microi-ui/SKILL.md +192 -192
  84. 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
  85. package/skills/microi-uniapp-frontend/SKILL.md +206 -199
  86. 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 +261 -261
  87. 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
  88. package/skills/microi.v8.js +1921 -1921
  89. package/skills/module-engine/SKILL.md +255 -255
  90. package/skills/module-engine/references/module-config.md +204 -204
  91. package/skills/ocr-engine/SKILL.md +113 -113
  92. package/skills/ocr-engine/agents/openai.yaml +4 -4
  93. package/skills/page-engine/SKILL.md +206 -206
  94. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  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 +227 -221
  98. package/skills/playwright-e2e/SKILL.md +197 -196
  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/scripts/sync-embedded-skills.mjs +46 -46
  110. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  111. package/skills/search-engine/SKILL.md +75 -75
  112. package/skills/search-engine/agents/openai.yaml +4 -4
  113. package/skills/spider-engine/SKILL.md +190 -190
  114. package/skills/system-observability/SKILL.md +259 -246
  115. package/skills/system-observability/references/memory-incident-triage.md +77 -77
  116. package/skills/translate-engine/SKILL.md +140 -140
  117. package/skills/translate-engine/agents/openai.yaml +4 -4
  118. package/skills/ui-design/SKILL.md +223 -223
  119. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  120. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  121. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  122. package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
  123. package/skills/ui-design/references/design-pattern-library.md +184 -184
  124. package/skills/ui-design/references/mci-design-contract.md +163 -163
  125. package/skills/ui-design/references/motion-and-media.md +78 -78
  126. package/skills/ui-design/references/product-flow-recipes.md +94 -94
  127. 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
  128. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  136. package/skills/unity-integration/SKILL.md +178 -171
  137. package/skills/unity-integration/agents/openai.yaml +4 -4
  138. package/skills/unity-integration/references/ai-app-delivery.md +119 -119
  139. package/skills/unity-integration/references/sdk-api.md +82 -82
  140. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  141. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  142. package/skills/v8-api-config/SKILL.md +388 -388
  143. package/skills/v8-cache-pattern/SKILL.md +312 -312
  144. package/skills/v8-crud-api/SKILL.md +179 -178
  145. 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
  146. 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
  147. package/skills/v8-debugging/SKILL.md +284 -284
  148. package/skills/v8-explorer-tree/SKILL.md +228 -228
  149. package/skills/v8-export-import/SKILL.md +219 -219
  150. 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
  151. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
  152. 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
  153. package/skills/v8-file-upload/SKILL.md +255 -284
  154. package/skills/v8-file-upload/references/cdn-alias-repair.md +13 -0
  155. 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
  156. 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
  157. package/skills/v8-file-upload/references/progressive-03-/347/251/272/347/233/256/345/275/225/346/240/207/350/256/260/344/270/216/350/277/234/347/250/213/344/270/213/350/275/275.md +36 -0
  158. package/skills/v8-formengine-http/SKILL.md +238 -238
  159. package/skills/v8-frontend-events/SKILL.md +180 -180
  160. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  161. package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
  162. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
  163. package/skills/v8-http-integration/SKILL.md +182 -182
  164. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
  165. 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
  166. package/skills/v8-image-processing/SKILL.md +190 -190
  167. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  168. package/skills/v8-image-processing/references/api-reference.md +623 -623
  169. package/skills/v8-menu-buttons/SKILL.md +186 -186
  170. 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
  171. 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
  172. 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
  173. package/skills/v8-mongodb/SKILL.md +200 -200
  174. package/skills/v8-mq-mqtt/SKILL.md +178 -176
  175. package/skills/v8-mq-mqtt/references/mqtt-production.md +352 -342
  176. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
  177. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  178. package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
  179. package/skills/v8-security/SKILL.md +227 -210
  180. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
  181. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
  182. package/skills/v8-sql-query/SKILL.md +302 -302
  183. package/skills/v8-table-event/SKILL.md +176 -176
  184. 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
  185. 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
  186. package/skills/v8-tcp-integration/SKILL.md +158 -147
  187. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  188. package/skills/v8-template-engine/SKILL.md +167 -167
  189. package/skills/v8-utilities/SKILL.md +104 -104
  190. package/skills/v8-utilities/references/client-api-index.md +143 -143
  191. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  192. package/skills/v8-utilities/references/server-api-index.md +188 -188
  193. package/skills/v8-workflow/SKILL.md +252 -252
  194. 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
  195. package/skills/v8-workflow/references/workflow-configuration.md +49 -49
  196. package/skills/vision-engine/SKILL.md +160 -160
  197. package/skills/vision-engine/agents/openai.yaml +4 -4
  198. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  199. package/skills/workspace-conventions/SKILL.md +13 -13
  200. 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 +2 -2
@@ -1,141 +1,141 @@
1
- ---
2
- name: microi-left-right-layout
3
- description: Microi 吾码模块引擎“树形+表格/表单”左右结构配置规范。用于通过 MCP、模块引擎或源码配置 `diy_LeftJoinRightView`,把项目、分类、组织等主数据作为左树,并用主外键过滤右侧列表;覆盖字段语义、初始化 V8、移动端自适应、幂等写入和回读验收。
4
- ---
5
-
6
- > **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
7
-
8
- # Microi 左右树表配置规范
9
-
10
- 当需求是“左侧按项目/分类导航,右侧显示该节点的数据列表或表单”时,使用模块组件 `/diy/left-right/LeftTreeJoinRightForm`,配置表为 `diy_LeftJoinRightView`。不要为每个业务菜单复制定制 Vue 页面。
11
-
12
- ## 适用与禁用场景
13
-
14
- - 适用:项目及其成品、用料、请购、提料、锁料、文档,分类及商品,组织及人员。
15
- - 左侧必须是稳定的主数据;右侧必须能通过明确的主外键过滤。
16
- - 左右两边没有关联字段、左侧仅是装饰性筛选,或数据量极大却没有分页/搜索方案时,不应直接套用。
17
-
18
- ## 模块配置
19
-
20
- 目标 `sys_menu` 必须配置:
21
-
22
- ```json
23
- {
24
- "ComponentName": "树形+表格",
25
- "ComponentPath": "/diy/left-right/LeftTreeJoinRightForm"
26
- }
27
- ```
28
-
29
- 同一菜单只能有一条有效的 `diy_LeftJoinRightView` 配置。创建前先按 `GuanlianCD Like 菜单Id` 回读并复用,禁止重复插入。
30
-
31
- ## `diy_LeftJoinRightView` 字段
32
-
33
- | 字段 | 必填 | 含义与写法 |
34
- | --- | --- | --- |
35
- | `GuanlianCD` | 是 | 当前右侧业务菜单链,JSON 数组;末级必须是当前 `sys_menu.Id`。 |
36
- | `ShuxingGLCD` | 是 | 左侧主数据菜单链,JSON 数组;末级对应左表模块。 |
37
- | `GuanlianBD` | 是 | 左侧主表名,例如 `xiangmuguanli`。 |
38
- | `FubiaoGLZD` | 是 | 左表参与关联的字段,通常为 `Id`。 |
39
- | `ZibiaoGLZD` | 右表格必填 | 右表外键,例如 `XiangmuID`、`ProjectId`、`Guid`。必须以实时表结构为准。 |
40
- | `GuanlianPPLJ` | 右表格必填 | 匹配操作符,普通主外键使用 `=`。 |
41
- | `ZuobianZSZJ` | 是 | 左侧组件,通常为 `树形控件`。 |
42
- | `YoubianZSZJ` | 是 | `表格`、`表单` 或 `表单/表格`。 |
43
- | `ShuxianSZDM` | 是 | 左树显示字段,必须与初始化结果的属性名一致。 |
44
- | `ChushiHDM` | 是 | 初始化 V8。必须读取 `V8.Form._PageIndex/_PageSize/inputText`,最终返回 `Data` 和 `DataCount`。 |
45
- | `ZuoyouXSZB` | 否 | 24 栅格比例,例如 `6/18`、`4/20`,中间 `/` 必须保留。 |
46
- | `ShubiaoT` | 否 | 左树标题,例如 `项目目录`。 |
47
- | `ShumoHSS` | 否 | 模糊搜索开关。 |
48
- | `ShuxiaLSS` | 否 | 搜索字段下拉开关。 |
49
- | `ShusouSAN` | 否 | 搜索按钮开关。 |
50
- | `ShushuaX` | 否 | 刷新按钮开关。 |
51
- | `ShudingJXZ` | 否 | 是否允许新增顶级树节点。 |
52
- | `ShuxinZ`、`ShubianJ`、`ShushanC` | 否 | 树节点新增、编辑、删除开关。只在业务允许时开启。 |
53
- | `ShujieDDJSJ` | 否 | 节点点击 V8;可读取 `V8.Form`,异步结果写入 `V8.Result`。 |
54
- | `YincangBSF` | 否 | 节点命中该字段时隐藏右侧区域。 |
55
- | `TanchuangLX`、`TanchuangDX` | 否 | 树节点维护弹窗类型和尺寸。 |
56
- | `LanjiaZ`、`LanjiaZDM` | 否 | 懒加载开关和代码;大树优先使用。 |
57
- | `DefaultExpandLevel` | 否 | 左树默认展开层级。未配置、空值或 `0` 均不展开;`1` 展开一级节点,`2` 再展开二级节点,以此类推。 |
58
-
59
- ## 初始化 V8 与分页契约
60
-
61
- 左树按数据表对待,默认每页 20 条,允许 10/20/50/100 条切换。无论当前只有多少数据,都不能用 `_PageSize:500` 一次拉完整主表。搜索时把页码重置为 1,并在服务端按关键字过滤后返回真实总数。
62
-
63
- 当初始化 V8 使用 `V8.FormEngine.GetTableTree/GetTableDataTree` 时,左侧来源 `diy_table.IsTree` 必须为 `1`,并显式配置真实存在的 `TreeParentField`(通常是 `ParentId`);否则接口会成功返回 `Code=0`,页面只显示“暂无数据”。应用包必须同时携带这两项表元数据,并在发布前通过真实树接口回读,不能只验收 `diy_LeftJoinRightView` 配置行。
64
-
65
- ```js
66
- var form = V8.Form || {};
67
- var pageIndex = Math.max(1, parseInt(form._PageIndex || 1, 10));
68
- var pageSize = Math.min(100, Math.max(1, parseInt(form._PageSize || 20, 10)));
69
- var keyword = String(form.inputText || '').trim();
70
- var query = {
71
- _SelectFields: ['Id', 'Code', 'Name'],
72
- _OrderBy: 'CreateTime',
73
- _OrderByType: 'DESC',
74
- _PageIndex: pageIndex,
75
- _PageSize: pageSize
76
- };
77
-
78
- if (keyword) {
79
- query._Where = [
80
- ['Code', 'Like', keyword],
81
- ['OR', 'Name', 'Like', keyword]
82
- ];
83
- }
84
-
85
- var result = await V8.FormEngine.GetTableData('xiangmuguanli', query);
86
-
87
- if (result.Code !== 1) {
88
- V8.Result = result;
89
- return;
90
- }
91
-
92
- V8.Result = {
93
- Code: 1,
94
- Data: (result.Data || []).map(function (item) {
95
- return {
96
- Id: item.Id,
97
- TreeTitle: [item.Code, item.Name].filter(Boolean).join(' '),
98
- Code: item.Code,
99
- Name: item.Name
100
- };
101
- }),
102
- DataCount: Number(result.DataCount || 0),
103
- PageIndex: pageIndex,
104
- PageSize: pageSize
105
- };
106
- ```
107
-
108
- 对应配置为 `ShuxianSZDM=TreeTitle`、`FubiaoGLZD=Id`。右侧新增时,组件会通过 `ParentDataAppend` 把父节点、父键和 `ZibiaoGLZD` 传给表格;业务字段仍需由表单事件兜底校验。
109
-
110
- 加载请求期间必须显示明确的“正在加载项目...”状态,不能先渲染“暂无数据”;多次搜索或翻页并发返回时,只应用最后一次请求,防止旧结果覆盖新页。
111
-
112
- ## MCP 实施顺序
113
-
114
- 1. 调用实时 Schema/模块查询,确认左右表、菜单 Id、主键、外键和已有配置。
115
- 2. 读取一个已正常运行的左右结构作为基线,只复用结构,不复制租户或业务字段。
116
- 3. 按当前菜单回读 `diy_LeftJoinRightView`;有记录则更新,无记录才新增。
117
- 4. 更新模块 `ComponentName`、`ComponentPath`,随后回读模块和配置行。
118
- 5. 验证“全部”、单节点切换、右表筛选、右侧新增自动关联、刷新和搜索。
119
-
120
- ## 移动端要求
121
-
122
- - `<=767px` 时不在列表上方直接堆放左树。右侧业务列表占满宽度,顶部显示当前项目和“项目目录”按钮。
123
- - 点击“项目目录”后,从左向右打开全高抽屉;推荐宽度 `88%`,保留一段遮罩用于快速关闭。抽屉必须支持关闭按钮、点击遮罩和 Esc 关闭。
124
- - 左树在抽屉内独立滚动,搜索、分页和每页条数选择都必须可操作;关闭抽屉后右表筛选状态不得丢失。
125
- - 右表与页面使用正常纵向滚动,禁止祖先容器 `overflow:hidden` 截断内容。
126
- - 右侧卡片、表格 Tab、列表卡片在移动端必须使用 `height:auto` 和 `overflow:visible`;底部操作栏不得盖住最后一条数据。
127
- - 至少验收桌面 1440x900、手机 390x844;在手机上分别滚动左树和整页到末尾。
128
-
129
- ## 验收清单
130
-
131
- - 当前菜单只匹配一条配置,模块路径正确。
132
- - 使用树接口的左表已启用 `IsTree=1`,`TreeParentField` 与物理父级字段一致。
133
- - 左树标题无 `undefined`、`{}`、空白重复项。
134
- - 点击“全部”清空右侧外键条件;点击节点只显示该节点数据。
135
- - 后端 `_HasChild=true` 表示可展开,Element Plus 的 `isLeaf` 必须映射为独立 `_IsLeaf=!_HasChild`,不得把 `_HasChild` 直接当叶子标记。
136
- - `DefaultExpandLevel` 未配置时必须保持全部折叠;只展开有子节点且深度不超过配置值的节点,不能把平台默认值改成一级展开。
137
- - 页面初始已处于“全部”时,再次点击“全部”不得先清空已加载列表;只清除树节点外键条件并避免重复请求。
138
- - 右侧新增数据自动写入正确外键,切换节点后不会串数据。
139
- - 普通用户不出现仅管理员可用的“页面配置”。
140
- - 桌面左树每页默认 20 条,可翻页并切换 10/20/50/100;加载时不出现错误的空状态。
141
- - 手机初始不显示树,抽屉打开/节点选择自动关闭/遮罩关闭均正常;列表与操作区可滚动到底,无横向挤压和固定高度裁切。
1
+ ---
2
+ name: microi-left-right-layout
3
+ description: Microi 吾码模块引擎“树形+表格/表单”左右结构配置规范。用于通过 MCP、模块引擎或源码配置 `diy_LeftJoinRightView`,把项目、分类、组织等主数据作为左树,并用主外键过滤右侧列表;覆盖字段语义、初始化 V8、移动端自适应、幂等写入和回读验收。
4
+ ---
5
+
6
+ > **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
7
+
8
+ # Microi 左右树表配置规范
9
+
10
+ 当需求是“左侧按项目/分类导航,右侧显示该节点的数据列表或表单”时,使用模块组件 `/diy/left-right/LeftTreeJoinRightForm`,配置表为 `diy_LeftJoinRightView`。不要为每个业务菜单复制定制 Vue 页面。
11
+
12
+ ## 适用与禁用场景
13
+
14
+ - 适用:项目及其成品、用料、请购、提料、锁料、文档,分类及商品,组织及人员。
15
+ - 左侧必须是稳定的主数据;右侧必须能通过明确的主外键过滤。
16
+ - 左右两边没有关联字段、左侧仅是装饰性筛选,或数据量极大却没有分页/搜索方案时,不应直接套用。
17
+
18
+ ## 模块配置
19
+
20
+ 目标 `sys_menu` 必须配置:
21
+
22
+ ```json
23
+ {
24
+ "ComponentName": "树形+表格",
25
+ "ComponentPath": "/diy/left-right/LeftTreeJoinRightForm"
26
+ }
27
+ ```
28
+
29
+ 同一菜单只能有一条有效的 `diy_LeftJoinRightView` 配置。创建前先按 `GuanlianCD Like 菜单Id` 回读并复用,禁止重复插入。
30
+
31
+ ## `diy_LeftJoinRightView` 字段
32
+
33
+ | 字段 | 必填 | 含义与写法 |
34
+ | --- | --- | --- |
35
+ | `GuanlianCD` | 是 | 当前右侧业务菜单链,JSON 数组;末级必须是当前 `sys_menu.Id`。 |
36
+ | `ShuxingGLCD` | 是 | 左侧主数据菜单链,JSON 数组;末级对应左表模块。 |
37
+ | `GuanlianBD` | 是 | 左侧主表名,例如 `xiangmuguanli`。 |
38
+ | `FubiaoGLZD` | 是 | 左表参与关联的字段,通常为 `Id`。 |
39
+ | `ZibiaoGLZD` | 右表格必填 | 右表外键,例如 `XiangmuID`、`ProjectId`、`Guid`。必须以实时表结构为准。 |
40
+ | `GuanlianPPLJ` | 右表格必填 | 匹配操作符,普通主外键使用 `=`。 |
41
+ | `ZuobianZSZJ` | 是 | 左侧组件,通常为 `树形控件`。 |
42
+ | `YoubianZSZJ` | 是 | `表格`、`表单` 或 `表单/表格`。 |
43
+ | `ShuxianSZDM` | 是 | 左树显示字段,必须与初始化结果的属性名一致。 |
44
+ | `ChushiHDM` | 是 | 初始化 V8。必须读取 `V8.Form._PageIndex/_PageSize/inputText`,最终返回 `Data` 和 `DataCount`。 |
45
+ | `ZuoyouXSZB` | 否 | 24 栅格比例,例如 `6/18`、`4/20`,中间 `/` 必须保留。 |
46
+ | `ShubiaoT` | 否 | 左树标题,例如 `项目目录`。 |
47
+ | `ShumoHSS` | 否 | 模糊搜索开关。 |
48
+ | `ShuxiaLSS` | 否 | 搜索字段下拉开关。 |
49
+ | `ShusouSAN` | 否 | 搜索按钮开关。 |
50
+ | `ShushuaX` | 否 | 刷新按钮开关。 |
51
+ | `ShudingJXZ` | 否 | 是否允许新增顶级树节点。 |
52
+ | `ShuxinZ`、`ShubianJ`、`ShushanC` | 否 | 树节点新增、编辑、删除开关。只在业务允许时开启。 |
53
+ | `ShujieDDJSJ` | 否 | 节点点击 V8;可读取 `V8.Form`,异步结果写入 `V8.Result`。 |
54
+ | `YincangBSF` | 否 | 节点命中该字段时隐藏右侧区域。 |
55
+ | `TanchuangLX`、`TanchuangDX` | 否 | 树节点维护弹窗类型和尺寸。 |
56
+ | `LanjiaZ`、`LanjiaZDM` | 否 | 懒加载开关和代码;大树优先使用。 |
57
+ | `DefaultExpandLevel` | 否 | 左树默认展开层级。未配置、空值或 `0` 均不展开;`1` 展开一级节点,`2` 再展开二级节点,以此类推。 |
58
+
59
+ ## 初始化 V8 与分页契约
60
+
61
+ 左树按数据表对待,默认每页 20 条,允许 10/20/50/100 条切换。无论当前只有多少数据,都不能用 `_PageSize:500` 一次拉完整主表。搜索时把页码重置为 1,并在服务端按关键字过滤后返回真实总数。
62
+
63
+ 当初始化 V8 使用 `V8.FormEngine.GetTableTree/GetTableDataTree` 时,左侧来源 `diy_table.IsTree` 必须为 `1`,并显式配置真实存在的 `TreeParentField`(通常是 `ParentId`);否则接口会成功返回 `Code=0`,页面只显示“暂无数据”。应用包必须同时携带这两项表元数据,并在发布前通过真实树接口回读,不能只验收 `diy_LeftJoinRightView` 配置行。
64
+
65
+ ```js
66
+ var form = V8.Form || {};
67
+ var pageIndex = Math.max(1, parseInt(form._PageIndex || 1, 10));
68
+ var pageSize = Math.min(100, Math.max(1, parseInt(form._PageSize || 20, 10)));
69
+ var keyword = String(form.inputText || '').trim();
70
+ var query = {
71
+ _SelectFields: ['Id', 'Code', 'Name'],
72
+ _OrderBy: 'CreateTime',
73
+ _OrderByType: 'DESC',
74
+ _PageIndex: pageIndex,
75
+ _PageSize: pageSize
76
+ };
77
+
78
+ if (keyword) {
79
+ query._Where = [
80
+ ['Code', 'Like', keyword],
81
+ ['OR', 'Name', 'Like', keyword]
82
+ ];
83
+ }
84
+
85
+ var result = await V8.FormEngine.GetTableData('xiangmuguanli', query);
86
+
87
+ if (result.Code !== 1) {
88
+ V8.Result = result;
89
+ return;
90
+ }
91
+
92
+ V8.Result = {
93
+ Code: 1,
94
+ Data: (result.Data || []).map(function (item) {
95
+ return {
96
+ Id: item.Id,
97
+ TreeTitle: [item.Code, item.Name].filter(Boolean).join(' '),
98
+ Code: item.Code,
99
+ Name: item.Name
100
+ };
101
+ }),
102
+ DataCount: Number(result.DataCount || 0),
103
+ PageIndex: pageIndex,
104
+ PageSize: pageSize
105
+ };
106
+ ```
107
+
108
+ 对应配置为 `ShuxianSZDM=TreeTitle`、`FubiaoGLZD=Id`。右侧新增时,组件会通过 `ParentDataAppend` 把父节点、父键和 `ZibiaoGLZD` 传给表格;业务字段仍需由表单事件兜底校验。
109
+
110
+ 加载请求期间必须显示明确的“正在加载项目...”状态,不能先渲染“暂无数据”;多次搜索或翻页并发返回时,只应用最后一次请求,防止旧结果覆盖新页。
111
+
112
+ ## MCP 实施顺序
113
+
114
+ 1. 调用实时 Schema/模块查询,确认左右表、菜单 Id、主键、外键和已有配置。
115
+ 2. 读取一个已正常运行的左右结构作为基线,只复用结构,不复制租户或业务字段。
116
+ 3. 按当前菜单回读 `diy_LeftJoinRightView`;有记录则更新,无记录才新增。
117
+ 4. 更新模块 `ComponentName`、`ComponentPath`,随后回读模块和配置行。
118
+ 5. 验证“全部”、单节点切换、右表筛选、右侧新增自动关联、刷新和搜索。
119
+
120
+ ## 移动端要求
121
+
122
+ - `<=767px` 时不在列表上方直接堆放左树。右侧业务列表占满宽度,顶部显示当前项目和“项目目录”按钮。
123
+ - 点击“项目目录”后,从左向右打开全高抽屉;推荐宽度 `88%`,保留一段遮罩用于快速关闭。抽屉必须支持关闭按钮、点击遮罩和 Esc 关闭。
124
+ - 左树在抽屉内独立滚动,搜索、分页和每页条数选择都必须可操作;关闭抽屉后右表筛选状态不得丢失。
125
+ - 右表与页面使用正常纵向滚动,禁止祖先容器 `overflow:hidden` 截断内容。
126
+ - 右侧卡片、表格 Tab、列表卡片在移动端必须使用 `height:auto` 和 `overflow:visible`;底部操作栏不得盖住最后一条数据。
127
+ - 至少验收桌面 1440x900、手机 390x844;在手机上分别滚动左树和整页到末尾。
128
+
129
+ ## 验收清单
130
+
131
+ - 当前菜单只匹配一条配置,模块路径正确。
132
+ - 使用树接口的左表已启用 `IsTree=1`,`TreeParentField` 与物理父级字段一致。
133
+ - 左树标题无 `undefined`、`{}`、空白重复项。
134
+ - 点击“全部”清空右侧外键条件;点击节点只显示该节点数据。
135
+ - 后端 `_HasChild=true` 表示可展开,Element Plus 的 `isLeaf` 必须映射为独立 `_IsLeaf=!_HasChild`,不得把 `_HasChild` 直接当叶子标记。
136
+ - `DefaultExpandLevel` 未配置时必须保持全部折叠;只展开有子节点且深度不超过配置值的节点,不能把平台默认值改成一级展开。
137
+ - 页面初始已处于“全部”时,再次点击“全部”不得先清空已加载列表;只清除树节点外键条件并避免重复请求。
138
+ - 右侧新增数据自动写入正确外键,切换节点后不会串数据。
139
+ - 普通用户不出现仅管理员可用的“页面配置”。
140
+ - 桌面左树每页默认 20 条,可翻页并切换 10/20/50/100;加载时不出现错误的空状态。
141
+ - 手机初始不显示树,抽屉打开/节点选择自动关闭/遮罩关闭均正常;列表与操作区可滚动到底,无横向挤压和固定高度裁切。