@microi.net/cli 6.2.1 → 6.2.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 (71) 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/assets/build-meta.json +5 -5
  7. package/cordis.patch.yml +1 -1
  8. package/package.json +1 -1
  9. package/scripts/mcp-server.js +147 -121
  10. package/scripts/microi-cli.js +62 -62
  11. package/scripts/microi-skills.meta.json +279 -264
  12. package/skills/.microi-skills-version.json +2 -2
  13. package/skills/.progressive-disclosure-manifest.json +101 -101
  14. package/skills/README.md +1 -1
  15. package/skills/app-store/SKILL.md +7 -6
  16. package/skills/microi-ai-application/SKILL.md +5 -5
  17. package/skills/microi-client-frontend/SKILL.md +21 -15
  18. 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 +9 -1
  19. package/skills/microi-codex/SKILL.md +2 -0
  20. package/skills/microi-codex-installer/SKILL.md +6 -0
  21. package/skills/microi-datasource-mapping/SKILL.md +6 -0
  22. package/skills/microi-db-schema/SKILL.md +8 -0
  23. package/skills/microi-db-schema/references/form-component-options.md +7 -0
  24. package/skills/microi-deployment/SKILL.md +3 -3
  25. package/skills/microi-deployment/references/deployment-matrix.md +1 -1
  26. package/skills/microi-docs-coverage/references/capability-map.md +13 -13
  27. package/skills/microi-form-engine/SKILL.md +46 -3
  28. package/skills/microi-form-engine/references/business-numbering.md +70 -0
  29. package/skills/microi-form-engine/references/component-catalog.md +4 -0
  30. package/skills/microi-form-engine/references/component-config-index.md +359 -0
  31. package/skills/microi-form-engine/references/data-source-events.md +13 -2
  32. package/skills/microi-form-engine/references/form-generation-quality.md +160 -0
  33. package/skills/microi-form-layout/SKILL.md +1 -1
  34. 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 +6 -0
  35. package/skills/microi-microservice/SKILL.md +387 -382
  36. package/skills/microi-microservice/references/runtime-delivery.md +15 -0
  37. package/skills/microi-system-delivery/SKILL.md +7 -0
  38. package/skills/microi-system-delivery/references/delivery-pitfalls.md +5 -0
  39. package/skills/microi-ui/SKILL.md +192 -192
  40. 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
  41. package/skills/microi-uniapp-frontend/SKILL.md +3 -1
  42. package/skills/microi.v8.js +6 -4
  43. package/skills/module-engine/SKILL.md +13 -1
  44. package/skills/scripts/sync-embedded-skills.mjs +13 -0
  45. package/skills/ui-design/SKILL.md +227 -223
  46. package/skills/ui-design/assets/pattern-showcase/index.html +2 -2
  47. package/skills/ui-design/assets/templates/MCI-DESIGN.md +221 -206
  48. package/skills/ui-design/references/data-workspace-density.md +77 -0
  49. package/skills/ui-design/references/design-pattern-library.md +186 -184
  50. package/skills/ui-design/references/mci-design-contract.md +163 -163
  51. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +165 -164
  52. 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 +237 -235
  53. 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 +154 -152
  54. 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
  55. package/skills/uniapp-mall-assets/SKILL.md +10 -2
  56. package/skills/v8-crud-api/SKILL.md +2 -1
  57. package/skills/v8-explorer-tree/SKILL.md +22 -1
  58. package/skills/v8-file-upload/SKILL.md +283 -283
  59. 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 +7 -1
  60. package/skills/v8-frontend-events/SKILL.md +14 -6
  61. package/skills/v8-image-processing/SKILL.md +13 -2
  62. package/skills/v8-image-processing/references/api-reference.md +49 -3
  63. package/skills/v8-saas-multi-tenant/SKILL.md +6 -0
  64. package/skills/v8-security/SKILL.md +11 -1
  65. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +6 -1
  66. package/skills/v8-sql-query/SKILL.md +38 -1
  67. package/skills/v8-sql-query/examples/business-query.js +18 -0
  68. package/skills/v8-table-event/SKILL.md +51 -2
  69. 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 +3 -1
  70. package/skills/v8-utilities/references/server-api-index.md +1 -0
  71. package/skills/vision-engine/references/video-timeline.md +53 -0
@@ -1,206 +1,221 @@
1
- # MCI-DESIGN
2
-
3
- > 本文件同时保存精确 token 与设计理由。实现前先读完整文件;修改视觉结构时同步更新本文件、源码和验收截图。
4
-
5
- ```yaml
6
- contract:
7
- version: 1
8
- project:
9
- mode: data-workspace
10
- intent:
11
-
12
- tokens:
13
- color:
14
- canvas: var(--mci-bg-base)
15
- surface: var(--mci-bg-card)
16
- surfaceElevated: var(--mci-bg-elevated)
17
- textPrimary: var(--mci-text-primary)
18
- textSecondary: var(--mci-text-secondary)
19
- primary: var(--mci-color-primary)
20
- success: var(--mci-color-success)
21
- warning: var(--mci-color-warning)
22
- danger: var(--mci-color-danger)
23
- typography:
24
- display: { size: 48px, lineHeight: 1.1, weight: 800 }
25
- h1: { size: 32px, lineHeight: 1.2, weight: 750 }
26
- h2: { size: 24px, lineHeight: 1.3, weight: 700 }
27
- body: { size: 16px, lineHeight: 1.7, weight: 400 }
28
- meta: { size: 13px, lineHeight: 1.5, weight: 500 }
29
- spacing:
30
- micro: 4px
31
- compact: 8px
32
- control: 12px
33
- card: 16px
34
- section: 24px
35
- page: 32px
36
- shape:
37
- input: var(--mci-shape-input)
38
- panel: var(--mci-shape-panel)
39
- card: var(--mci-shape-card)
40
- button: var(--mci-shape-button)
41
- elevation:
42
- card: var(--mci-shadow-card)
43
- cardHover: var(--mci-shadow-card-hover)
44
- float: var(--mci-shadow-float)
45
-
46
- components:
47
- primaryButton:
48
- height: 44px
49
- states:
50
- default: { background: "{tokens.color.primary}" }
51
- hover: { lift: -1px }
52
- focus: { outline: "{tokens.color.primary}" }
53
- pressed: { scale: 0.98 }
54
- loading: { preserveWidth: true }
55
- disabled: { opacity: 0.56 }
56
- dataCard:
57
- background: "{tokens.color.surface}"
58
- radius: "{tokens.shape.card}"
59
- padding: "{tokens.spacing.card}"
60
- states:
61
- default: { elevation: "{tokens.elevation.card}" }
62
- hover: { elevation: "{tokens.elevation.cardHover}", lift: -2px }
63
- focus: { outline: "{tokens.color.primary}" }
64
- selected: { border: "{tokens.color.primary}" }
65
-
66
- omissions: []
67
- ```
68
-
69
- ## 1. 产品概览与目标用户
70
-
71
- - 首要用户:
72
- - 首要任务:
73
- - 用户进入后第一眼必须理解:
74
- - 成功结果与衡量方式:
75
- - 关键设备与使用环境:
76
-
77
- ## 2. 视觉性格与情绪目标
78
-
79
- - 主情绪(只选一个):
80
- - 具体视觉隐喻:
81
- - 辅助气质(最多两项):
82
- - 选择理由:
83
- - 明确不采用的视觉语言:
84
-
85
- ## 3. 颜色
86
-
87
- - 页面底色与表面关系:
88
- - 主色只用于:
89
- - 成功 / 警告 / 危险 / 信息色语义:
90
- - 明亮与暗黑主题的对比策略:
91
- - 透明表面的叠加底色:
92
-
93
- ## 4. 字体
94
-
95
- | 角色 | 字号 / 行高 / 字重 | 用途 | 禁止 |
96
- | --- | --- | --- | --- |
97
- | Display | | | |
98
- | H1 | | | |
99
- | H2 | | | |
100
- | Body | | | |
101
- | Meta | | | |
102
-
103
- ## 5. 布局与间距
104
-
105
- - Desktop:12 列,最大宽度:
106
- - Tablet:8 列,重排规则:
107
- - Mobile:4 列,左右安全间距:
108
- - 内部紧凑间距:
109
- - 区域与页面留白:
110
-
111
- ## 6. 层级、材质与形状
112
-
113
- - 深度来自:色调层 / 细边框 / 环境阴影 / 透明材质 / 实体投影
114
- - 圆角或切角表达的性格:
115
- - 页面 / 卡片 / 浮层的层级关系:
116
- - 低性能与不支持透明效果时的降级:
117
-
118
- ## 7. 组件与状态
119
-
120
- | 组件 | Default | Hover / Focus / Pressed | Loading | Empty / Error | Disabled | Selected / Success |
121
- | --- | --- | --- | --- | --- | --- | --- |
122
- | 主按钮 | | | | - | | |
123
- | 搜索 / 筛选 | | | | | | |
124
- | 列表 / 数据卡片 | | | | | - | |
125
- | 表单 | | | | | | |
126
- | 弹层 | 20–24px 大圆角、居中;图标 + 英文眉题 + 标题 + 副标题;连续柔和内容底 | 关闭按钮有可见底色;标题栏可拖动且四边留在视口 | 首个可操作控件获得焦点,Esc/关闭路径明确 | 拖动边界按真实尺寸钳制,窗口缩放后重新钳制 | 提交按钮显示进度并防重复 | 错误留在关联字段或底部操作区,可恢复 |
127
-
128
- ### 弹层
129
-
130
- - 页头:左侧语义图标、英文眉题、大字标题、可选小字副标题;右上关闭按钮有独立背景并垂直居中。
131
- - 内容:使用连续柔和背景和整齐栅格,不把普通字段拆成小卡片。
132
- - 页脚:右侧大号关闭与保存按钮,均带语义图标。
133
- - 行为:默认上下左右居中,PC 标题栏可拖动;按弹层真实宽高限制四边并在窗口缩放后重新限制。Teleport 到 `body` 时同步应用根标识与主题 token。
134
-
135
- ### 数据卡片
136
-
137
- - 信息顺序:身份 → 标题/状态 → 关键字段 → 时间/辅助标签 → 操作。
138
- - 缺图:40—44px 紧凑标记,不渲染大面积装饰占位图。
139
- - 默认列数:桌面 4,平板 2—3,移动 1;显式业务配置优先。
140
- - 操作:一个主动作、一至两个次动作,其余进入“更多”;危险动作降权。
141
-
142
- ## 8. 页面模式与信息架构
143
-
144
- 1. 首屏:
145
- 2. 核心任务:
146
- 3. 证据或数据:
147
- 4. 辅助内容:
148
- 5. 最终行动:
149
-
150
- - 主模式:品牌叙事 / 真实产品流程 / 趋势构图 / 沉浸互动 / 动态首屏 / 数据工作台
151
- - 辅助能力(最多两项):
152
-
153
- ## 9. 动效与媒体
154
-
155
- - 0—120ms:
156
- - 120—360ms:
157
- - 360—800ms:
158
- - 循环动效存在理由:
159
- - 图片比例与 `object-fit`:
160
- - `prefers-reduced-motion` 与静态降级:
161
-
162
- ## 10. 响应式与安全区
163
-
164
- | 宽度 | 栅格 | 导航 | 主操作 | 内容重排 |
165
- | --- | --- | --- | --- | --- |
166
- | 390 | 4 列 | | | |
167
- | 768 | 8 列 | | | |
168
- | 1440 | 12 列 | | | |
169
-
170
- ## 11. 可访问性、性能与降级
171
-
172
- - 键盘顺序与可见焦点:
173
- - 正文、状态与交互对比度:
174
- - 触控目标:移动端不小于 44px
175
- - 首屏资源预算:
176
- - 网络失败、媒体失败与离线策略:
177
- - 骨架屏、空态、错误态与恢复路径:
178
-
179
- ## 12. 应当与禁止
180
-
181
- ### 应当
182
-
183
- -
184
-
185
- ### 禁止
186
-
187
- -
188
-
189
- ## 有意省略
190
-
191
- | 规则 | 省略理由 | 替代方案 |
192
- | --- | --- | --- |
193
- | | | |
194
-
195
- ## 验收清单
196
-
197
- - [ ] 机器块能解析,核心章节顺序正确,无重复或近似拼写章节。
198
- - [ ] 所有 `{路径}` 引用存在且无循环;无未说明的孤立 token。
199
- - [ ] 首屏在 3 秒内说清产品、对象和主操作。
200
- - [ ] 默认、加载、空、错误、禁用、权限、成功状态可验证。
201
- - [ ] 390 / 768 / 1440 无横向滚动、遮挡和错位。
202
- - [ ] 明亮、暗黑主题均有足够对比度。
203
- - [ ] 所有可点击元素有 hover、focus、pressed 和真实结果。
204
- - [ ] 动效尊重 `prefers-reduced-motion`。
205
- - [ ] 契约差异与实现差异同时评审,没有意外删除或语义漂移。
206
- - [ ] 所有图片、字体、模型和代码资产来源合法且可离线构建。
1
+ # MCI-DESIGN
2
+
3
+ > 本文件同时保存精确 token 与设计理由。实现前先读完整文件;修改视觉结构时同步更新本文件、源码和验收截图。默认紧凑适度,不鼓励大标题、大圆角或大间距;只有用户明确视觉方向或实际可读/触控用途才扩大尺度并记录理由。示例为数据工作台起点,不是所有页面的固定模板。
4
+
5
+ ```yaml
6
+ contract:
7
+ version: 1
8
+ project:
9
+ mode: data-workspace
10
+ intent:
11
+
12
+ tokens:
13
+ color:
14
+ canvas: var(--mci-bg-base)
15
+ surface: var(--mci-bg-card)
16
+ surfaceElevated: var(--mci-bg-elevated)
17
+ textPrimary: var(--mci-text-primary)
18
+ textSecondary: var(--mci-text-secondary)
19
+ primary: var(--mci-color-primary)
20
+ success: var(--mci-color-success)
21
+ warning: var(--mci-color-warning)
22
+ danger: var(--mci-color-danger)
23
+ typography:
24
+ display: { size: 26px, lineHeight: 1.2, weight: 700 }
25
+ h1: { size: 20px, lineHeight: 1.3, weight: 650 }
26
+ h2: { size: 15px, lineHeight: 1.4, weight: 600 }
27
+ body: { size: 14px, lineHeight: 1.5, weight: 400 }
28
+ meta: { size: 12px, lineHeight: 1.5, weight: 400 }
29
+ spacing:
30
+ micro: 4px
31
+ compact: 8px
32
+ control: 12px
33
+ card: 16px
34
+ section: 12px
35
+ page: 12px
36
+ shape:
37
+ input: 6px
38
+ panel: 8px
39
+ card: 8px
40
+ button: 6px
41
+ dialog: 12px
42
+ elevation:
43
+ card: var(--mci-shadow-card)
44
+ cardHover: var(--mci-shadow-card-hover)
45
+ float: var(--mci-shadow-float)
46
+
47
+ layout:
48
+ width: 100%
49
+ maxWidth: none
50
+ minHeight: var(--micro-app-available-height, 100dvh)
51
+ scrollOwner: page
52
+ breakpoints: container-width
53
+ density: inherit-host
54
+
55
+ components:
56
+ primaryButton:
57
+ height: 32px
58
+ touchTarget: 44px
59
+ states:
60
+ default: { background: "{tokens.color.primary}" }
61
+ hover: { emphasizeBoundary: true }
62
+ focus: { outline: "{tokens.color.primary}" }
63
+ pressed: { scale: 0.98 }
64
+ loading: { preserveWidth: true }
65
+ disabled: { opacity: 0.56 }
66
+ dataCard:
67
+ background: "{tokens.color.surface}"
68
+ radius: "{tokens.shape.card}"
69
+ padding: "{tokens.spacing.card}"
70
+ states:
71
+ default: { elevation: "{tokens.elevation.card}" }
72
+ hover: { border: "{tokens.color.primary}" }
73
+ focus: { outline: "{tokens.color.primary}" }
74
+ selected: { border: "{tokens.color.primary}" }
75
+
76
+ omissions: []
77
+ ```
78
+
79
+ ## 1. 产品概览与目标用户
80
+
81
+ - 首要用户:
82
+ - 首要任务:
83
+ - 用户进入后第一眼必须理解:
84
+ - 成功结果与衡量方式:
85
+ - 关键设备与使用环境:
86
+
87
+ ## 2. 视觉性格与情绪目标
88
+
89
+ - 主情绪(只选一个):
90
+ - 具体视觉隐喻:
91
+ - 辅助气质(最多两项):
92
+ - 选择理由:
93
+ - 明确不采用的视觉语言:
94
+
95
+ ## 3. 颜色
96
+
97
+ - 页面底色与表面关系:
98
+ - 主色只用于:
99
+ - 成功 / 警告 / 危险 / 信息色语义:
100
+ - 明亮与暗黑主题的对比策略:
101
+ - 透明表面的叠加底色:
102
+
103
+ ## 4. 字体
104
+
105
+ | 角色 | 字号 / 行高 / 字重 | 用途 | 禁止 |
106
+ | --- | --- | --- | --- |
107
+ | Display | | | |
108
+ | H1 | | | |
109
+ | H2 | | | |
110
+ | Body | | | |
111
+ | Meta | | | |
112
+
113
+ ## 5. 布局与间距
114
+
115
+ - Desktop:宿主可用内容区 100%,默认不设整页 max-width;实际列数/最小可读宽度:
116
+ - 中等容器:按最小可读宽度调整列数(8 列栅格仅为可选组织方式),重排规则:
117
+ - 窄容器/移动:优先单列任务流(4 列仅为可选基础栅格),左右安全间距:
118
+ - 内部紧凑间距:
119
+ - 区域与页面留白(默认 12–16px;扩大尺度的任务理由):
120
+ - 宿主内容区实际宽/高、滚动所有者:
121
+ - 按容器宽度的断点与侧栏收起规则:
122
+ - 标题/筛选/KPI 首屏高度预算、表格行高与图表高度:
123
+
124
+ ## 6. 层级、材质与形状
125
+
126
+ - 深度来自:色调层 / 细边框 / 环境阴影 / 透明材质 / 实体投影
127
+ - 圆角或切角表达的性格:
128
+ - 页面 / 卡片 / 浮层的层级关系:
129
+ - 低性能与不支持透明效果时的降级:
130
+
131
+ ## 7. 组件与状态
132
+
133
+ | 组件 | Default | Hover / Focus / Pressed | Loading | Empty / Error | Disabled | Selected / Success |
134
+ | --- | --- | --- | --- | --- | --- | --- |
135
+ | 主按钮 | | | | - | | |
136
+ | 搜索 / 筛选 | | | | | | |
137
+ | 列表 / 数据卡片 | | | | | - | |
138
+ | 表单 | | | | | | |
139
+ | 弹层 | 约 10–14px 适度圆角或宿主约束、居中;清楚业务标题;图标/眉题/副标题仅按语义需要 | 关闭按钮有可见底色;标题栏可拖动且四边留在视口 | 首个可操作控件获得焦点,Esc/关闭路径明确 | 拖动边界按真实尺寸钳制,窗口缩放后重新钳制 | 提交按钮显示进度并防重复 | 错误留在关联字段或底部操作区,可恢复 |
140
+
141
+ ### 弹层
142
+
143
+ - 页头:适度字号的清楚业务标题,图标、眉题、副标题仅在增加语义时出现;右上关闭按钮有独立背景并垂直居中。
144
+ - 内容:使用连续柔和背景和整齐栅格,不把普通字段拆成小卡片。
145
+ - 页脚:右侧紧凑关闭与保存按钮,按鼠标/触控输入方式确定命中尺寸;不强制图标或额外占高。
146
+ - 行为:默认上下左右居中,PC 标题栏可拖动;按宿主与可见窗口交集限制四边,窗口/侧栏/密度变化后重算。Teleport 到 `body` 时同步应用根标识与主题 token。实际检查关闭按钮首命中,不能只检查层级或按浏览器宽度居中。
147
+
148
+ ### 数据卡片
149
+
150
+ - 信息顺序:身份 → 标题/状态 → 关键字段 → 时间/辅助标签 → 操作。
151
+ - 缺图:40—44px 紧凑标记,不渲染大面积装饰占位图。
152
+ - 默认列数:以卡片最小可读宽度优先;桌面可从 4 列开始,中等容器 2—3、窄容器 1。侧树/筛选占宽后重新计算;显式业务配置和实际可读性优先。
153
+ - 操作:一个主动作、一至两个次动作,其余进入“更多”;危险动作降权。
154
+
155
+ ## 8. 页面模式与信息架构
156
+
157
+ 1. 首屏:
158
+ 2. 核心任务:
159
+ 3. 证据或数据:
160
+ 4. 辅助内容:
161
+ 5. 最终行动:
162
+
163
+ - 主模式:品牌叙事 / 真实产品流程 / 趋势构图 / 沉浸互动 / 动态首屏 / 数据工作台
164
+ - 辅助能力(最多两项):
165
+
166
+ ## 9. 动效与媒体
167
+
168
+ - 0—120ms:
169
+ - 120—360ms:
170
+ - 360—800ms:
171
+ - 循环动效存在理由:
172
+ - 图片比例与 `object-fit`:
173
+ - `prefers-reduced-motion` 与静态降级:
174
+
175
+ ## 10. 响应式与安全区
176
+
177
+ | 实际内容容器宽度示例(按任务可替换) | 最小可读宽度与列数 | 导航 | 主操作 | 内容重排 |
178
+ | --- | --- | --- | --- | --- |
179
+ | 约 390 | 任务单列为起点 | | | |
180
+ | 约 768 | 依卡片/表格最小宽度选择 | | | |
181
+ | 约 1440 | 满宽工作区与有效数据列 | | | |
182
+
183
+ ## 11. 可访问性、性能与降级
184
+
185
+ - 键盘顺序与可见焦点:
186
+ - 正文、状态与交互对比度:
187
+ - 触控目标:移动端不小于 44px
188
+ - 首屏资源预算:
189
+ - 网络失败、媒体失败与离线策略:
190
+ - 骨架屏、空态、错误态与恢复路径:
191
+
192
+ ## 12. 应当与禁止
193
+
194
+ ### 应当
195
+
196
+ -
197
+
198
+ ### 禁止
199
+
200
+ -
201
+
202
+ ## 有意省略
203
+
204
+ | 规则 | 省略理由 | 替代方案 |
205
+ | --- | --- | --- |
206
+ | | | |
207
+
208
+ ## 验收清单
209
+
210
+ - [ ] 机器块能解析,核心章节顺序正确,无重复或近似拼写章节。
211
+ - [ ] 所有 `{路径}` 引用存在且无循环;无未说明的孤立 token。
212
+ - [ ] 首屏在 3 秒内说清产品、对象和主操作。
213
+ - [ ] 默认、加载、空、错误、禁用、权限、成功状态可验证。
214
+ - [ ] 记录真实 clientWidth/clientHeight,而非只记录请求 viewport;常见/宽桌面及窄宿主容器无额外居中空带、非预期横向滚动、遮挡或错位;支持移动端时另测约 390px。
215
+ - [ ] 已记录根与宿主矩形、page padding、标题/KPI 高度、正文字号与行高;没有用整体缩放或隐藏溢出伪装紧凑。
216
+ - [ ] 每个路由均有首屏、筛选/明细、加载/空/错误状态的验收结果,非仅首页;125%/200% 缩放可完成主要任务。
217
+ - [ ] 明亮、暗黑主题均有足够对比度。
218
+ - [ ] 所有可点击元素有 hover、focus、pressed 和真实结果。
219
+ - [ ] 动效尊重 `prefers-reduced-motion`。
220
+ - [ ] 契约差异与实现差异同时评审,没有意外删除或语义漂移。
221
+ - [ ] 所有图片、字体、模型和代码资产来源合法且可离线构建。
@@ -0,0 +1,77 @@
1
+ # 数据工作台:容器、密度与视觉验收
2
+
3
+ 适用于嵌入式 PC 管理、监控、分析、报表和高频操作页。官网、活动、内容阅读和移动端消费页面仍按自身模式设计;本文件不把一种布局或色调强加给所有产品。数字是起始基线,用户要求、可访问性和真实任务优先,有依据的例外写入设计契约。
4
+
5
+ ## 先确定任务,再画结构
6
+
7
+ - 先列出用户首屏需要判断的事实、需要执行的动作和需要比较的对象。管理页先保证快速扫描、连续操作和熟悉的位置,展示页才以记忆点和叙事为主。
8
+ - 先画出标题/筛选、指标、分析、明细的网格及高度预算,再选颜色、圆角和动效。一个页面只有一个主阅读路径,不将全部数字、图表、说明做成同等重量的卡片。
9
+ - 删除无信息的眉题、重复面包屑、重复页面名、同义统计和说明段落。宿主已有导航时,子应用不再占一行重复导航。保留真正影响筛选口径、数据来源与风险的说明。
10
+ - 共享 token、组件和页面模式先统一,再实现各页的任务差异。不能只改一张首页,也不能把所有页面强制成同一种四卡模板。
11
+
12
+ ## 100% 指宿主可用内容区
13
+
14
+ - 后台画布默认 `width:100%; max-width:none; min-width:0; box-sizing:border-box`,填满宿主扣除侧栏、导航、页签后的内容区。不要给整个工作台加 1180/1400/1600px 固定内容上限和居中外边距;文章、单个表单或预览对象可以有独立可读宽度。
15
+ - 高度使用宿主 `--micro-app-available-height` 或已下发的容器尺寸;`100vh` 仅为独立运行回退。嵌入态不使用 `100vw`、固定窗口减数或整页 `zoom/transform:scale`,也不修改宿主侧栏来换取空间。
16
+ - 根及所有 flex/grid 中间层设置 `min-width:0`;需要内部滚动时同时设置 `min-height:0` 和确定高度。全页默认一个纵向滚动所有者;数据表长明细可以有有界滚动,标题、分页和主操作不能被裁掉。
17
+ - 断点依据实际内容容器宽度,优先容器查询,或用 `ResizeObserver` 观测本应用根。大浏览器里的窄侧栏容器仍是窄布局;仅写 window 媒体查询不够。监听卸载时回收,图表随容器 resize。
18
+ - “铺满”不等于拉伸短内容制造空卡,也不等于禁止必要留白。屏幕变宽时,应增加有用列/可比较图组或明细空间;不无上限放大字号和每个小图标。
19
+ - 微服务弹窗的可点击边界是自身宿主矩形与窗口的交集;全局遮罩由宿主提供,内容和关闭按钮必须留在实际可点击区。不能只按窗口居中或提高 z-index 穿过宿主安全遮罩。
20
+
21
+ ## PC 操作模式起始 token
22
+
23
+ 以下按标准密度、CSS 像素给出。优先复用现有 `--mci-*` 及宿主密度变量,调整行高与间距时保持可读字号;不通过缩小整个页面实现紧凑。用户放大浏览器或选择舒适密度时可以自然增长和重排。
24
+
25
+ | 角色 | 起始范围 | 取舍 |
26
+ | --- | --- | --- |
27
+ | 页面内边距 | 12–16px | 只有一个外层,不叠三层 page/section/card 留白 |
28
+ | 同级区块间距 | 12–16px | 小组件内部 4/8/12px,真正业务章节才用 20–24px |
29
+ | 页面标题 | 18–22px,600–700 | 常规数据页实色标题;不套 32–48px Hero |
30
+ | 区块标题 | 14–16px,600–700 | 与右侧筛选/动作共用中心线 |
31
+ | 正文、表格、控件 | 13–14px,行高约 1.4–1.6 | 主业务信息不降到 10–11px;辅助信息通常 12px |
32
+ | KPI 数字 | 26–32px,600–700 | `font-variant-numeric:tabular-nums`;单位与说明弱一级 |
33
+ | KPI 容器 | 80–104px 高 | 无图表时不留空脚;不能截断长数和比较说明 |
34
+ | 鼠标控件 | 30–34px 高 | 图标有名称和可见焦点;触控界面使用至少 44px 目标 |
35
+ | 表格单行/复合行 | 36–44px / 44–52px | 长内容可自然增长;不强制截断到不可读 |
36
+ | 分析图组 | 220–280px 高起步 | 图例、坐标与 tooltip 可读后才紧凑;大屏/空间图按任务另定 |
37
+ | 树/筛选侧栏 | 180–224px 起步 | 单一区域不固定占去主画布三分之一;窄容器收为可展开筛选 |
38
+ | 操作卡边角 | 6–10px 起步 | 继承明确的用户形态偏好;Dialog 保留平台弹层壳规则 |
39
+
40
+ 独立移动应用不继承这些鼠标控件和表格尺寸。窄容器先改列数和信息顺序,再调整次要信息;不能缩小全页、把表格挤成不可读文字,或删除关键筛选/操作。
41
+
42
+ ## 首屏与数据表达
43
+
44
+ - 标题与主要筛选尽量组成紧凑的一到两行;一个主动作靠近其作用范围。KPI、图表与明细的筛选口径一致,加载/失败不能伪装为零。
45
+ - 在宿主可用高度约 600–800px、正文 13–14px 的常见桌面场景,标题、筛选和 KPI 通常不应超过首屏约三分之一;首屏应出现可用图表和至少一部分明细。不是为了达标压缩有价值的多条件筛选,应按任务记录例外。
46
+ - 指标条只放高信号值,已表达同一状态的数字不再画五个大环。需要比较占比时优先一张分布图/堆叠条加文字图例;目标进度才用进度环。图表类型由比较问题决定。
47
+ - 表格数值右对齐、使用等宽数字,单位固定于列头或数值旁;状态用文字配语义色,不能只靠颜色。长名称有省略后的完整读取方式,重要异常和操作不能只藏在 tooltip。
48
+ - 图表的语义系列颜色、单位、图例、时间范围、tooltip、缺值和零值应一致;减少无意义网格、重阴影和装饰色。圆环中心、刻度、图例不碰撞,不用难以比较的 3D 效果。
49
+ - 实际业务量少时呈现真实空/零态及一步可执行的恢复方式;不要复制随机数据或制造漂亮走势。查询无结果不擅自清空用户筛选。
50
+
51
+ ## 克制的交互与视觉层级
52
+
53
+ - 数据工作台默认使用稳定表面、细边界和清晰分组,不强制多层投影、渐变字、发光背景、每卡图标或营销色板。默认不循环动画。
54
+ - hover/focus/pressed 必须可辨认,但桌面操作卡和表格优先边界/背景反馈,不强制位移。刷新、排序与筛选保持数字和列对齐,避免不断跳动。
55
+ - 明暗模式与品牌主色是两个维度;继承当前宿主主题,不为“高级”固定为深色,也不因浅主题换成纯白字。对比度按真实合成背景测量,包含主按钮、次要文本、状态与焦点。
56
+ - 新页面先完成加载、空、错误、权限、禁用、成功和长内容状态,再增加与任务有关的微交互。长文本、英文和大数值使用真实边界样本验收。
57
+
58
+ ## 可观测的验收门槛
59
+
60
+ 每个路由维护一行验收矩阵,不以首页通过代表整套页面。截图同时保留宿主外壳和实际可用区域,比较时固定浏览器缩放、主题、密度、数据和容器尺寸。
61
+
62
+ 1. 读取宿主与应用根 `getBoundingClientRect`:根宽度应等于可用宽度(允许正常边框/滚动条差异),业务内容左右余量只来自已声明 page padding。超宽屏不能出现额外居中空带。
63
+ 2. 记录实际 `clientWidth/clientHeight`、页面内边距、标题区/KPI 高度、正文 computed font-size 和表格行高,检查可见内容是否符合契约。设置 viewport 的请求值不等于真实尺寸。
64
+ 3. 覆盖常见桌面、宽桌面与窄宿主容器;支持移动端的项目另测约 390px。检测非预期横向滚动、重叠、截断、双重滚动、图表 legend/坐标碰撞、底部操作和关闭按钮实际命中。
65
+ 4. 至少验证浅色、暗色、一个非默认主色和紧凑/标准密度;切换时不重置筛选、路由和输入。浏览器 125%/200% 放大应重排并可完成任务,不以隐藏溢出掩盖内容丢失。
66
+ 5. 实际执行筛选、排序、分页、图表图例/tooltip、穿透、关闭、错误恢复及键盘焦点。操作可用与视觉可接受分别给结果;构建、DOM 存在和 CSS 静态扫描都不能代替截图批判。
67
+ 6. 逐页截图后明确指出最大的三项缺陷并修正;没有问题时说明按哪些任务标准通过。某尺寸或主题受工具限制未完成时如实记录,不复制另一尺寸截图冒充通过。
68
+
69
+ ## 方法来源与改写边界
70
+
71
+ 2026-11-06 检查以下公开 Skill,吸收“先任务和设计系统、区分操作与展示、反思真实渲染、语义颜色与数值对齐、可访问交互”的方法,按吾码 Vue/宿主契约重新组织上述原创规则。未复制外部 Skill 原文、品牌、类名、资产或设计 token。star 是仓库总数,不能证明单个 Skill 的质量,也不能据用户参考截图判定作者使用了哪一个 Skill。
72
+
73
+ - [Anthropic frontend-design](https://github.com/anthropics/skills/blob/ca45fc496a3436251f191354091d557da31c15b5/skills/frontend-design/SKILL.md):该 Skill 相邻 `LICENSE.txt` 为 Apache-2.0;吸收明确视觉意图与反对无差别模板。
74
+ - [UI UX Pro Max](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/blob/b7d5353e0130feb8c5574ef1251f8a1db1873ccb/.claude/skills/ui-ux-pro-max/SKILL.md):MIT;吸收可复用设计系统、可读性与图表交付检查,未搬入技术栈默认值。
75
+ - [Impeccable](https://github.com/pbakaus/impeccable/blob/c8891a9ae865d6ee311836ae5199bfce0fe115b1/.agents/skills/impeccable/SKILL.md):Apache-2.0;吸收操作模式与展示模式的不同优先级、真实渲染后批判和精简冗余。
76
+ - [ibelick UI Skills](https://github.com/ibelick/ui-skills/blob/00db7d656719c399c091f3ea138c6f42a7fa4d98/skills/baseline-ui/SKILL.md):MIT;吸收稳定数值、既有交互 primitive 和克制动效;其 React/Tailwind 假设不适用于吾码。
77
+ - [Vercel 审查入口](https://github.com/vercel-labs/agent-skills/tree/1a2c79d4e6c4a2283dc2c614b6538cbe1ed5ca62/skills/web-design-guidelines) 的根仓 API 未识别许可证且仅 README 声明 MIT;实际规则 [Web Interface Guidelines](https://github.com/vercel-labs/web-interface-guidelines/blob/434b7f91364665f2f733b310ec54809bf8f37937/command.md) 所属仓库识别为 MIT。吸收焦点、长内容、布局溢出与主题的审查方向,本次不分发其正文。