@microi.net/cli 5.9.2 → 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 (199) 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 +384 -378
  16. package/skills/.microi-skills-version.json +2 -2
  17. package/skills/.progressive-disclosure-manifest.json +122 -115
  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 -203
  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 +227 -227
  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 +129 -129
  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/SKILL.md +95 -91
  78. package/skills/microi-sso/references/acceptance.md +51 -49
  79. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  80. package/skills/microi-sso/references/inbound.md +53 -53
  81. package/skills/microi-sso/references/outbound.md +43 -39
  82. package/skills/microi-ui/SKILL.md +192 -192
  83. 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
  84. package/skills/microi-uniapp-frontend/SKILL.md +206 -204
  85. 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
  86. 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
  87. package/skills/microi.v8.js +1921 -1921
  88. package/skills/module-engine/SKILL.md +255 -255
  89. package/skills/module-engine/references/module-config.md +204 -204
  90. package/skills/ocr-engine/SKILL.md +113 -113
  91. package/skills/ocr-engine/agents/openai.yaml +4 -4
  92. package/skills/page-engine/SKILL.md +206 -206
  93. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  94. 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
  95. 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
  96. package/skills/performance-testing/SKILL.md +227 -221
  97. package/skills/playwright-e2e/SKILL.md +197 -196
  98. 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
  99. 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
  100. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
  101. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
  102. package/skills/print-engine/SKILL.md +259 -259
  103. package/skills/production-readonly-audit/SKILL.md +41 -41
  104. package/skills/report-engine/SKILL.md +71 -71
  105. package/skills/report-engine/agents/openai.yaml +4 -4
  106. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  107. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  108. package/skills/scripts/sync-embedded-skills.mjs +46 -46
  109. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  110. package/skills/search-engine/SKILL.md +75 -75
  111. package/skills/search-engine/agents/openai.yaml +4 -4
  112. package/skills/spider-engine/SKILL.md +190 -190
  113. package/skills/system-observability/SKILL.md +259 -246
  114. package/skills/system-observability/references/memory-incident-triage.md +77 -77
  115. package/skills/translate-engine/SKILL.md +140 -140
  116. package/skills/translate-engine/agents/openai.yaml +4 -4
  117. package/skills/ui-design/SKILL.md +223 -223
  118. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  119. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  120. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  121. package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
  122. package/skills/ui-design/references/design-pattern-library.md +184 -184
  123. package/skills/ui-design/references/mci-design-contract.md +163 -163
  124. package/skills/ui-design/references/motion-and-media.md +78 -78
  125. package/skills/ui-design/references/product-flow-recipes.md +94 -94
  126. 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
  127. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  135. package/skills/unity-integration/SKILL.md +178 -171
  136. package/skills/unity-integration/agents/openai.yaml +4 -4
  137. package/skills/unity-integration/references/ai-app-delivery.md +119 -119
  138. package/skills/unity-integration/references/sdk-api.md +82 -82
  139. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  140. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  141. package/skills/v8-api-config/SKILL.md +388 -388
  142. package/skills/v8-cache-pattern/SKILL.md +312 -312
  143. package/skills/v8-crud-api/SKILL.md +179 -178
  144. 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
  145. 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
  146. package/skills/v8-debugging/SKILL.md +284 -284
  147. package/skills/v8-explorer-tree/SKILL.md +228 -228
  148. package/skills/v8-export-import/SKILL.md +219 -219
  149. 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
  150. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
  151. 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
  152. package/skills/v8-file-upload/SKILL.md +255 -284
  153. package/skills/v8-file-upload/references/cdn-alias-repair.md +13 -0
  154. 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
  155. 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
  156. 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
  157. package/skills/v8-formengine-http/SKILL.md +238 -238
  158. package/skills/v8-frontend-events/SKILL.md +180 -180
  159. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  160. package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
  161. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
  162. package/skills/v8-http-integration/SKILL.md +182 -182
  163. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
  164. 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
  165. package/skills/v8-image-processing/SKILL.md +190 -190
  166. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  167. package/skills/v8-image-processing/references/api-reference.md +623 -623
  168. package/skills/v8-menu-buttons/SKILL.md +186 -186
  169. 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
  170. 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
  171. 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
  172. package/skills/v8-mongodb/SKILL.md +200 -200
  173. package/skills/v8-mq-mqtt/SKILL.md +178 -176
  174. package/skills/v8-mq-mqtt/references/mqtt-production.md +352 -342
  175. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
  176. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  177. package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
  178. package/skills/v8-security/SKILL.md +227 -210
  179. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
  180. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
  181. package/skills/v8-sql-query/SKILL.md +302 -302
  182. package/skills/v8-table-event/SKILL.md +176 -176
  183. 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
  184. 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
  185. package/skills/v8-tcp-integration/SKILL.md +158 -147
  186. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  187. package/skills/v8-template-engine/SKILL.md +167 -167
  188. package/skills/v8-utilities/SKILL.md +104 -104
  189. package/skills/v8-utilities/references/client-api-index.md +143 -143
  190. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  191. package/skills/v8-utilities/references/server-api-index.md +188 -188
  192. package/skills/v8-workflow/SKILL.md +252 -252
  193. 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
  194. package/skills/v8-workflow/references/workflow-configuration.md +49 -49
  195. package/skills/vision-engine/SKILL.md +160 -160
  196. package/skills/vision-engine/agents/openai.yaml +4 -4
  197. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  198. package/skills/workspace-conventions/SKILL.md +13 -13
  199. 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,164 +1,164 @@
1
- # ui-design 详细参考 2
2
-
3
- > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
-
5
- <!-- microi-progressive:chunk id=ui-design-009 sha256=e7dcc4c0be203d5cddf6ec93d7db66ff78f4997e60eafcbd4c91cabab227767f -->
6
- ## 字体
7
-
8
- ```css
9
- :root {
10
- --mci-font-family: 'Inter', -apple-system, 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
11
- --mci-font-mono: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
12
-
13
- /* 字号 — PC */
14
- --mci-text-xs: 12px;
15
- --mci-text-sm: 13px;
16
- --mci-text-base: 14px;
17
- --mci-text-lg: 16px;
18
- --mci-text-xl: 20px;
19
- --mci-text-2xl: 24px;
20
- --mci-text-3xl: 32px;
21
- --mci-text-4xl: 40px;
22
-
23
- /* 字重 */
24
- --mci-font-normal: 400;
25
- --mci-font-medium: 500;
26
- --mci-font-semibold: 600;
27
- --mci-font-bold: 700;
28
- --mci-font-black: 900;
29
- }
30
-
31
- /* 移动端字号略大,更适合小屏阅读 */
32
- @media (max-width: 768px) {
33
- :root {
34
- --mci-text-xs: 11px;
35
- --mci-text-sm: 13px;
36
- --mci-text-base: 15px;
37
- --mci-text-lg: 17px;
38
- --mci-text-xl: 20px;
39
- --mci-text-2xl: 24px;
40
- --mci-text-3xl: 28px;
41
- --mci-text-4xl: 34px;
42
- }
43
- }
44
- ```
45
-
46
- ### 字体规则
47
-
48
- - **大标题**:`--mci-text-3xl` + `--mci-font-black`,可配合渐变色文字
49
- - **小标题**:`--mci-text-xl` + `--mci-font-semibold`
50
- - **正文**:`--mci-text-base` + `--mci-font-normal`
51
- - **辅助文字**:`--mci-text-sm` + `--mci-text-secondary`
52
- - **数据/价格**:`--mci-text-2xl` + `--mci-font-bold` + 渐变色
53
-
54
- 渐变文字写法:
55
- ```css
56
- .mci-text-gradient {
57
- background: var(--mci-gradient-primary);
58
- -webkit-background-clip: text;
59
- -webkit-text-fill-color: transparent;
60
- background-clip: text;
61
- }
62
- ```
63
-
64
- > ⚠️ **渐变文字低对比陷阱(已反复踩坑)**:`background-clip:text + color/-webkit-text-fill-color:transparent` 在部分 H5 webview / 安卓内核下渲染会失败,导致文字**透明不可见**。
65
- > 对**关键标题/品牌名/重要文案**优先使用实色高对比文字(如 `color:#8E0613`),或用 `@supports` 做降级:
66
- > ```scss
67
- > .mci-text-gradient { color: var(--mci-color-primary); -webkit-text-fill-color: var(--mci-color-primary); }
68
- > @supports ((-webkit-background-clip:text) or (background-clip:text)) {
69
- > .mci-text-gradient { background: var(--mci-gradient-primary); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
70
- > }
71
- > ```
72
-
73
- ---
74
-
75
- <!-- /microi-progressive:chunk -->
76
- <!-- microi-progressive:chunk id=ui-design-010 sha256=cb6d86f002d44d484b3bb10b12e4194360739323609450f9c99e6aa10004cb24 -->
77
- ## 间距与触摸目标
78
-
79
- ### 界面引擎仪表盘密度与对齐
80
-
81
- - 界面引擎首页和仪表盘默认采用单一外层滚动。单个卡片容器尽量完整展示内容,不设置独立纵向滚动条;固定高度不足时应压缩卡片、工具栏、表格行高与间距,或让容器自然增高。
82
- - 同一层级的卡片必须统一外边距、内边距、圆角、标题高度和内容起始线;同排卡片应使用相同最小高度,左右边缘及底部视觉对齐。
83
- - 表格容器以默认 15 条数据、表头、工具栏和分页全部可见为桌面端验收基准;日历与公告同样要完整显示头部操作、主体和底部区域。
84
- - 页面编辑、快捷操作等悬浮按钮必须脱离文档流,不能通过额外空白行或页面顶部内边距占位;半透明悬浮元素需保证文字对比度和 hover 可识别性。
85
- - 避免组件底部出现大片无信息空白。优先调整组件内部纵向分布、最小高度和网格密度;不得用内部滚动条或隐藏分页来伪装紧凑。
86
- - 界面引擎移动端必须按真实视口自动改为单列容器;卡片内高频指标和短快捷入口可以采用两列紧凑网格,不能把桌面 4 列机械改成 4 个超高单列卡片。嵌入式列表的返回栏、全局 FAB、固定操作条必须降级为容器内操作,不能覆盖前后兄弟组件。
87
- - 容器标题右侧存在“更多/进入/刷新/界面设计”等多个动作时,必须放入同一个 `display:flex; align-items:center` 操作区;窄屏允许整体换行并右对齐,禁止依赖 float 或绝对定位造成文字上下错位、互相遮挡。
88
-
89
- ```css
90
- :root {
91
- --mci-space-1: 4px;
92
- --mci-space-2: 8px;
93
- --mci-space-3: 12px;
94
- --mci-space-4: 16px;
95
- --mci-space-5: 20px;
96
- --mci-space-6: 24px;
97
- --mci-space-8: 32px;
98
- --mci-space-10: 40px;
99
- --mci-space-12: 48px;
100
-
101
- /* 移动端最小触摸目标 — Apple HIG 44pt / Material 48dp */
102
- --mci-touch-target: 44px;
103
-
104
- /* 安全区域(移动端刘海/底部 home indicator) */
105
- --mci-safe-top: env(safe-area-inset-top, 0);
106
- --mci-safe-bottom: env(safe-area-inset-bottom, 0);
107
- --mci-safe-left: env(safe-area-inset-left, 0);
108
- --mci-safe-right: env(safe-area-inset-right, 0);
109
- }
110
- ```
111
-
112
- ### 移动端规则
113
- - 所有可点击元素(按钮、tab、列表项)**最小尺寸 44×44px**
114
- - 顶部导航栏、沉浸式 header、返回按钮区域必须包含 `var(--mci-safe-top)`,不能假设状态栏固定 20px 或 44px。
115
- - 底部 tab bar、底部固定操作栏、悬浮购买按钮必须包含 `var(--mci-safe-bottom)`,不能贴住 iPhone home indicator 或 Android 手势条。
116
- - 左右全屏容器、横屏弹窗、沉浸式背景必须兼容 `var(--mci-safe-left/right)`,避免刘海横屏遮挡。
117
- - 列表项之间最小间距 8px,避免误触
118
-
119
- ---
120
-
121
- <!-- /microi-progressive:chunk -->
122
- <!-- microi-progressive:chunk id=ui-design-011 sha256=dc8c655353a6349e385ea9187fe23a377b4d69e1f2bf102aa736e987a624bcc5 -->
123
- ## 骨架屏 Loading 设计规范
124
-
125
- 所有依赖接口、数据库、远程资源或异步计算的数据区域,首屏加载态必须使用骨架屏(Skeleton Screen),不能只显示 spinner、进度圈、空图标或“数据加载中...”文案。骨架屏属于基础体验规范,适用于 PC、移动端 H5、uni-app、小程序和 WebView。
126
-
127
- - 覆盖范围包括菜单/路由切换、首页工作台、表格、卡片、表单与详情首开、右侧面板、弹窗、树、文件/文档/3D 等远程内容容器;不能只改某一个 `diy-table` 页面。
128
- - 骨架屏形态必须接近最终内容版式:列表用行骨架,表格用表头+行骨架,卡片/商品用网格骨架,详情页用大图区+标题/段落骨架,仪表盘用指标卡骨架。
129
- - 加载期间不能提前显示“暂无数据/暂无明细/空空如也”;空态只能在请求完成且确认无数据后出现。
130
- - 骨架表面必须不透明,禁止复用 `.el-loading-mask` 的半透明黑/灰遮罩。颜色只引用语义令牌:`--mci-skeleton-surface/card/header/base/highlight/accent/border`;运行时从当前 `--mci-*` 表面与主题色低饱和派生,必须同时兼容 `data-theme="light|dark"`、`html.dark`、租户自定义主题色和系统主题切换。
131
- - 主色只允许作为低占比边缘/高光染色,不能把高饱和主题色铺满骨架;切换亮色、暗色或任意自定义主题后,骨架层级要可辨认且不闪白、不变黑幕。
132
- - 动画只允许使用 `background-position`、`opacity` 或 `transform`,节奏控制在 1.0s 到 1.4s;必须支持 `prefers-reduced-motion` 关闭或弱化动画。
133
- - 分页加载下一页时,只在列表底部追加紧凑骨架,不覆盖已有内容;切换筛选/分类重载第一页时才显示首屏骨架。
134
- - 骨架块必须有稳定尺寸、圆角和间距,加载前后不能造成明显布局跳动。
135
- - 内容加载与操作反馈必须区分:查询/渲染内容使用骨架;保存、提交、删除、登录验证等短操作继续使用按钮内 `loading`;文件上传、后台任务、Unity/WebGL 等已有可信百分比时继续显示真实进度。禁止用骨架伪装可量化进度,也禁止用按钮 spinner 代替内容骨架。
136
- - Microi.Client 内容区优先使用全局 `v-mci-loading:<table|cards|form|detail|page|stats|list|tree|compact>`;全屏内容切换使用 `openMciLoading()`。不得新增内容型 `v-loading` / `ElLoading.service`。第三方遗留 Loading 必须由主题骨架兜底,不能恢复暗色遮罩。
137
- - 头像、验证码、私有图片/文件缩略图等局部远程资源使用消费同一主题令牌的圆形或媒体骨架;历史 `./static/img/loading.gif` 只能作为内部兼容哨兵,必须在渲染层拦截,禁止传给 `<img>`、`<el-image>` 或 CSS `url()` 发起真实请求。
138
- - 自动验收至少扫描 `v-loading`、`ElLoading.service`、硬编码 `.el-loading-mask rgba(...)` 和加载期空态文案;浏览器截图覆盖 1440/1920 桌面、390 移动、亮色、暗色、至少一种非默认自定义主题,以及菜单切换、表格、表单详情、首页。检查控制台、404/5xx、`aria-busy` 和 reduced-motion。
139
-
140
- 参考样式:
141
-
142
- ```scss
143
- .mci-skeleton {
144
- position: relative;
145
- overflow: hidden;
146
- background: var(--mci-skeleton-surface);
147
- }
148
- .mci-skeleton__block {
149
- background: linear-gradient(90deg, var(--mci-skeleton-base), var(--mci-skeleton-highlight), var(--mci-skeleton-base));
150
- background-size: 240% 100%;
151
- animation: mciSkeleton 1.15s ease-in-out infinite;
152
- }
153
- @keyframes mciSkeleton {
154
- 0% { background-position: 120% 0; }
155
- 100% { background-position: -120% 0; }
156
- }
157
- @media (prefers-reduced-motion: reduce) {
158
- .mci-skeleton__block { animation: none; }
159
- }
160
- ```
161
-
162
- ---
163
-
164
- <!-- /microi-progressive:chunk -->
1
+ # ui-design 详细参考 2
2
+
3
+ > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
+
5
+ <!-- microi-progressive:chunk id=ui-design-009 sha256=e7dcc4c0be203d5cddf6ec93d7db66ff78f4997e60eafcbd4c91cabab227767f -->
6
+ ## 字体
7
+
8
+ ```css
9
+ :root {
10
+ --mci-font-family: 'Inter', -apple-system, 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
11
+ --mci-font-mono: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
12
+
13
+ /* 字号 — PC */
14
+ --mci-text-xs: 12px;
15
+ --mci-text-sm: 13px;
16
+ --mci-text-base: 14px;
17
+ --mci-text-lg: 16px;
18
+ --mci-text-xl: 20px;
19
+ --mci-text-2xl: 24px;
20
+ --mci-text-3xl: 32px;
21
+ --mci-text-4xl: 40px;
22
+
23
+ /* 字重 */
24
+ --mci-font-normal: 400;
25
+ --mci-font-medium: 500;
26
+ --mci-font-semibold: 600;
27
+ --mci-font-bold: 700;
28
+ --mci-font-black: 900;
29
+ }
30
+
31
+ /* 移动端字号略大,更适合小屏阅读 */
32
+ @media (max-width: 768px) {
33
+ :root {
34
+ --mci-text-xs: 11px;
35
+ --mci-text-sm: 13px;
36
+ --mci-text-base: 15px;
37
+ --mci-text-lg: 17px;
38
+ --mci-text-xl: 20px;
39
+ --mci-text-2xl: 24px;
40
+ --mci-text-3xl: 28px;
41
+ --mci-text-4xl: 34px;
42
+ }
43
+ }
44
+ ```
45
+
46
+ ### 字体规则
47
+
48
+ - **大标题**:`--mci-text-3xl` + `--mci-font-black`,可配合渐变色文字
49
+ - **小标题**:`--mci-text-xl` + `--mci-font-semibold`
50
+ - **正文**:`--mci-text-base` + `--mci-font-normal`
51
+ - **辅助文字**:`--mci-text-sm` + `--mci-text-secondary`
52
+ - **数据/价格**:`--mci-text-2xl` + `--mci-font-bold` + 渐变色
53
+
54
+ 渐变文字写法:
55
+ ```css
56
+ .mci-text-gradient {
57
+ background: var(--mci-gradient-primary);
58
+ -webkit-background-clip: text;
59
+ -webkit-text-fill-color: transparent;
60
+ background-clip: text;
61
+ }
62
+ ```
63
+
64
+ > ⚠️ **渐变文字低对比陷阱(已反复踩坑)**:`background-clip:text + color/-webkit-text-fill-color:transparent` 在部分 H5 webview / 安卓内核下渲染会失败,导致文字**透明不可见**。
65
+ > 对**关键标题/品牌名/重要文案**优先使用实色高对比文字(如 `color:#8E0613`),或用 `@supports` 做降级:
66
+ > ```scss
67
+ > .mci-text-gradient { color: var(--mci-color-primary); -webkit-text-fill-color: var(--mci-color-primary); }
68
+ > @supports ((-webkit-background-clip:text) or (background-clip:text)) {
69
+ > .mci-text-gradient { background: var(--mci-gradient-primary); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
70
+ > }
71
+ > ```
72
+
73
+ ---
74
+
75
+ <!-- /microi-progressive:chunk -->
76
+ <!-- microi-progressive:chunk id=ui-design-010 sha256=cb6d86f002d44d484b3bb10b12e4194360739323609450f9c99e6aa10004cb24 -->
77
+ ## 间距与触摸目标
78
+
79
+ ### 界面引擎仪表盘密度与对齐
80
+
81
+ - 界面引擎首页和仪表盘默认采用单一外层滚动。单个卡片容器尽量完整展示内容,不设置独立纵向滚动条;固定高度不足时应压缩卡片、工具栏、表格行高与间距,或让容器自然增高。
82
+ - 同一层级的卡片必须统一外边距、内边距、圆角、标题高度和内容起始线;同排卡片应使用相同最小高度,左右边缘及底部视觉对齐。
83
+ - 表格容器以默认 15 条数据、表头、工具栏和分页全部可见为桌面端验收基准;日历与公告同样要完整显示头部操作、主体和底部区域。
84
+ - 页面编辑、快捷操作等悬浮按钮必须脱离文档流,不能通过额外空白行或页面顶部内边距占位;半透明悬浮元素需保证文字对比度和 hover 可识别性。
85
+ - 避免组件底部出现大片无信息空白。优先调整组件内部纵向分布、最小高度和网格密度;不得用内部滚动条或隐藏分页来伪装紧凑。
86
+ - 界面引擎移动端必须按真实视口自动改为单列容器;卡片内高频指标和短快捷入口可以采用两列紧凑网格,不能把桌面 4 列机械改成 4 个超高单列卡片。嵌入式列表的返回栏、全局 FAB、固定操作条必须降级为容器内操作,不能覆盖前后兄弟组件。
87
+ - 容器标题右侧存在“更多/进入/刷新/界面设计”等多个动作时,必须放入同一个 `display:flex; align-items:center` 操作区;窄屏允许整体换行并右对齐,禁止依赖 float 或绝对定位造成文字上下错位、互相遮挡。
88
+
89
+ ```css
90
+ :root {
91
+ --mci-space-1: 4px;
92
+ --mci-space-2: 8px;
93
+ --mci-space-3: 12px;
94
+ --mci-space-4: 16px;
95
+ --mci-space-5: 20px;
96
+ --mci-space-6: 24px;
97
+ --mci-space-8: 32px;
98
+ --mci-space-10: 40px;
99
+ --mci-space-12: 48px;
100
+
101
+ /* 移动端最小触摸目标 — Apple HIG 44pt / Material 48dp */
102
+ --mci-touch-target: 44px;
103
+
104
+ /* 安全区域(移动端刘海/底部 home indicator) */
105
+ --mci-safe-top: env(safe-area-inset-top, 0);
106
+ --mci-safe-bottom: env(safe-area-inset-bottom, 0);
107
+ --mci-safe-left: env(safe-area-inset-left, 0);
108
+ --mci-safe-right: env(safe-area-inset-right, 0);
109
+ }
110
+ ```
111
+
112
+ ### 移动端规则
113
+ - 所有可点击元素(按钮、tab、列表项)**最小尺寸 44×44px**
114
+ - 顶部导航栏、沉浸式 header、返回按钮区域必须包含 `var(--mci-safe-top)`,不能假设状态栏固定 20px 或 44px。
115
+ - 底部 tab bar、底部固定操作栏、悬浮购买按钮必须包含 `var(--mci-safe-bottom)`,不能贴住 iPhone home indicator 或 Android 手势条。
116
+ - 左右全屏容器、横屏弹窗、沉浸式背景必须兼容 `var(--mci-safe-left/right)`,避免刘海横屏遮挡。
117
+ - 列表项之间最小间距 8px,避免误触
118
+
119
+ ---
120
+
121
+ <!-- /microi-progressive:chunk -->
122
+ <!-- microi-progressive:chunk id=ui-design-011 sha256=dc8c655353a6349e385ea9187fe23a377b4d69e1f2bf102aa736e987a624bcc5 -->
123
+ ## 骨架屏 Loading 设计规范
124
+
125
+ 所有依赖接口、数据库、远程资源或异步计算的数据区域,首屏加载态必须使用骨架屏(Skeleton Screen),不能只显示 spinner、进度圈、空图标或“数据加载中...”文案。骨架屏属于基础体验规范,适用于 PC、移动端 H5、uni-app、小程序和 WebView。
126
+
127
+ - 覆盖范围包括菜单/路由切换、首页工作台、表格、卡片、表单与详情首开、右侧面板、弹窗、树、文件/文档/3D 等远程内容容器;不能只改某一个 `diy-table` 页面。
128
+ - 骨架屏形态必须接近最终内容版式:列表用行骨架,表格用表头+行骨架,卡片/商品用网格骨架,详情页用大图区+标题/段落骨架,仪表盘用指标卡骨架。
129
+ - 加载期间不能提前显示“暂无数据/暂无明细/空空如也”;空态只能在请求完成且确认无数据后出现。
130
+ - 骨架表面必须不透明,禁止复用 `.el-loading-mask` 的半透明黑/灰遮罩。颜色只引用语义令牌:`--mci-skeleton-surface/card/header/base/highlight/accent/border`;运行时从当前 `--mci-*` 表面与主题色低饱和派生,必须同时兼容 `data-theme="light|dark"`、`html.dark`、租户自定义主题色和系统主题切换。
131
+ - 主色只允许作为低占比边缘/高光染色,不能把高饱和主题色铺满骨架;切换亮色、暗色或任意自定义主题后,骨架层级要可辨认且不闪白、不变黑幕。
132
+ - 动画只允许使用 `background-position`、`opacity` 或 `transform`,节奏控制在 1.0s 到 1.4s;必须支持 `prefers-reduced-motion` 关闭或弱化动画。
133
+ - 分页加载下一页时,只在列表底部追加紧凑骨架,不覆盖已有内容;切换筛选/分类重载第一页时才显示首屏骨架。
134
+ - 骨架块必须有稳定尺寸、圆角和间距,加载前后不能造成明显布局跳动。
135
+ - 内容加载与操作反馈必须区分:查询/渲染内容使用骨架;保存、提交、删除、登录验证等短操作继续使用按钮内 `loading`;文件上传、后台任务、Unity/WebGL 等已有可信百分比时继续显示真实进度。禁止用骨架伪装可量化进度,也禁止用按钮 spinner 代替内容骨架。
136
+ - Microi.Client 内容区优先使用全局 `v-mci-loading:<table|cards|form|detail|page|stats|list|tree|compact>`;全屏内容切换使用 `openMciLoading()`。不得新增内容型 `v-loading` / `ElLoading.service`。第三方遗留 Loading 必须由主题骨架兜底,不能恢复暗色遮罩。
137
+ - 头像、验证码、私有图片/文件缩略图等局部远程资源使用消费同一主题令牌的圆形或媒体骨架;历史 `./static/img/loading.gif` 只能作为内部兼容哨兵,必须在渲染层拦截,禁止传给 `<img>`、`<el-image>` 或 CSS `url()` 发起真实请求。
138
+ - 自动验收至少扫描 `v-loading`、`ElLoading.service`、硬编码 `.el-loading-mask rgba(...)` 和加载期空态文案;浏览器截图覆盖 1440/1920 桌面、390 移动、亮色、暗色、至少一种非默认自定义主题,以及菜单切换、表格、表单详情、首页。检查控制台、404/5xx、`aria-busy` 和 reduced-motion。
139
+
140
+ 参考样式:
141
+
142
+ ```scss
143
+ .mci-skeleton {
144
+ position: relative;
145
+ overflow: hidden;
146
+ background: var(--mci-skeleton-surface);
147
+ }
148
+ .mci-skeleton__block {
149
+ background: linear-gradient(90deg, var(--mci-skeleton-base), var(--mci-skeleton-highlight), var(--mci-skeleton-base));
150
+ background-size: 240% 100%;
151
+ animation: mciSkeleton 1.15s ease-in-out infinite;
152
+ }
153
+ @keyframes mciSkeleton {
154
+ 0% { background-position: 120% 0; }
155
+ 100% { background-position: -120% 0; }
156
+ }
157
+ @media (prefers-reduced-motion: reduce) {
158
+ .mci-skeleton__block { animation: none; }
159
+ }
160
+ ```
161
+
162
+ ---
163
+
164
+ <!-- /microi-progressive:chunk -->