@teamix-evo/skills 0.12.0 → 0.13.0
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.
- package/README.md +1 -1
- package/manifest.json +11 -28
- package/package.json +2 -2
- package/src/teamix-evo-code-opentrek/SKILL.md +13 -13
- package/src/teamix-evo-code-opentrek/api-layering.md +53 -44
- package/src/teamix-evo-code-opentrek/checklist.md +24 -24
- package/src/teamix-evo-code-opentrek/file-structure.md +55 -36
- package/src/teamix-evo-code-opentrek/forms-and-validation.md +17 -16
- package/src/teamix-evo-code-opentrek/reuse-first.md +6 -9
- package/src/teamix-evo-code-opentrek/testing.md +14 -14
- package/src/teamix-evo-code-uni-manager/SKILL.md +15 -15
- package/src/teamix-evo-code-uni-manager/api-layering.md +74 -58
- package/src/teamix-evo-code-uni-manager/checklist.md +28 -28
- package/src/teamix-evo-code-uni-manager/error-and-loading.md +2 -2
- package/src/teamix-evo-code-uni-manager/file-structure.md +77 -62
- package/src/teamix-evo-code-uni-manager/forms-and-validation.md +17 -15
- package/src/teamix-evo-code-uni-manager/reuse-first.md +7 -10
- package/src/teamix-evo-code-uni-manager/routing-and-codesplit.md +1 -1
- package/src/teamix-evo-code-uni-manager/testing.md +37 -37
- package/src/teamix-evo-design-opentrek/SKILL.md +41 -20
- package/src/teamix-evo-design-opentrek/boundaries.md +1 -1
- package/src/teamix-evo-design-opentrek/checklist.md +5 -5
- package/src/teamix-evo-design-opentrek/components.md +19 -19
- package/src/teamix-evo-design-opentrek/examples/standard-card-list.html +1 -1
- package/src/teamix-evo-design-opentrek/examples/standard-table-list.html +1 -1
- package/src/teamix-evo-design-opentrek/foundations.md +17 -17
- package/src/teamix-evo-design-opentrek/pages/dashboard-page/SKILL.md +18 -19
- package/src/teamix-evo-design-opentrek/pages/dashboard-page/patterns/dashboard-opentrek.md +6 -6
- package/src/teamix-evo-design-opentrek/pages/detail-page/SKILL.md +24 -25
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/api-doc-detail.md +3 -7
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/comparison-detail.md +3 -7
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/monitor-detail.md +3 -7
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/resource-detail.md +10 -10
- package/src/teamix-evo-design-opentrek/pages/form-page/SKILL.md +26 -27
- package/src/teamix-evo-design-opentrek/pages/list-page/SKILL.md +35 -36
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/item-card-spec.md +41 -32
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/card-list-opentrek.md +10 -10
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/card-list.md +23 -23
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/standard-list-opentrek.md +8 -8
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/standard-list.md +8 -8
- package/src/teamix-evo-design-opentrek/patterns/color-mapping.md +2 -2
- package/src/teamix-evo-design-opentrek/patterns/dashboard.md +1 -1
- package/src/teamix-evo-design-opentrek/patterns/detail-page.md +9 -9
- package/src/teamix-evo-design-opentrek/patterns/form-page.md +6 -6
- package/src/teamix-evo-design-opentrek/patterns/list-page.md +9 -9
- package/src/teamix-evo-design-opentrek/patterns/page-types.md +3 -3
- package/src/teamix-evo-design-opentrek/principles.md +541 -0
- package/src/teamix-evo-design-opentrek/rules/common-components.json +206 -76
- package/src/teamix-evo-design-opentrek/rules/component-specs.json +2 -2
- package/src/teamix-evo-design-opentrek/rules/design-tokens.css +223 -218
- package/src/teamix-evo-design-opentrek/rules/design-tokens.json +10 -32
- package/src/teamix-evo-design-opentrek/rules/page-frame.json +197 -193
- package/src/teamix-evo-design-opentrek/{generation-flow.md → workflow.md} +141 -22
- package/src/teamix-evo-design-uni-manager/SKILL.md +30 -6
- package/src/teamix-evo-design-uni-manager/boundaries.md +2 -2
- package/src/teamix-evo-design-uni-manager/brand.md +1 -1
- package/src/teamix-evo-design-uni-manager/checklist.md +2 -2
- package/src/teamix-evo-design-uni-manager/components.md +11 -11
- package/src/teamix-evo-design-uni-manager/foundations.md +7 -7
- package/src/teamix-evo-design-uni-manager/generation-flow.md +3 -3
- package/src/teamix-evo-manage/SKILL.md +111 -709
- package/src/teamix-evo-manage/init.md +98 -0
- package/src/teamix-evo-manage/migrate.md +100 -0
- package/src/teamix-evo-manage/rearchitect-capture-guide.md +174 -0
- package/src/teamix-evo-manage/rearchitect.md +373 -0
- package/src/teamix-evo-manage/update-component-staging.md +188 -0
- package/src/teamix-evo-manage/update-token-rename.md +126 -0
- package/src/teamix-evo-manage/update-token-treatment.md +116 -0
- package/src/teamix-evo-manage/update.md +213 -0
- package/src/teamix-evo-design-opentrek/brand.md +0 -154
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/search-combo-spec.md +0 -194
- package/src/teamix-evo-design-opentrek/philosophy.md +0 -98
- package/src/teamix-evo-design-opentrek/rules/README.md +0 -39
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AGENT RUNTIME.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI GATEWAY.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI STUDIO.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_DEV-2.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_LOGO.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_OPS.svg +0 -1
- package/src/teamix-evo-design-opentrek/rules/layout-rules.json +0 -218
- package/src/teamix-evo-design-opentrek/rules/page-header-spec.md +0 -123
- package/src/teamix-evo-design-opentrek/rules/sidebar-spec.md +0 -217
- package/src/teamix-evo-upgrade/SKILL.md +0 -431
- /package/src/teamix-evo-design-opentrek/{rules/boundaries.rules.json → boundaries.json} +0 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
```
|
|
10
10
|
┌──────────┬──────────────────────────────────────────────┤
|
|
11
11
|
│ │ PageHeader │
|
|
12
|
-
│
|
|
12
|
+
│ OpSidebar │ 标题(18px/medium) [描述*] + [了解更多 12px] │
|
|
13
13
|
│ │ ───────────────────────── │
|
|
14
14
|
│ │ ActionToolbar (单行 flex, nowrap) │
|
|
15
15
|
│ │ [创建] [批量创建] [全部▼][输入...]🔍 [刷新] │
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
└──────────┴──────────────────────────────────────────────┘
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
> 注:
|
|
29
|
+
> 注: OpSidebar 非必需,有 L2 导航需求时采用 TWO_COL,否则 SINGLE_COL。
|
|
30
30
|
|
|
31
31
|
## 2. 必需组件(补充)
|
|
32
32
|
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
|
|
75
75
|
### SearchCombo CSS 实现
|
|
76
76
|
|
|
77
|
-
>
|
|
77
|
+
> 详细规范见 `common-components.json` → SearchCombo(容器样式、状态、内部元素)。
|
|
78
78
|
|
|
79
79
|
### 搜索与筛选交互
|
|
80
80
|
|
|
@@ -165,17 +165,17 @@
|
|
|
165
165
|
- 列定义读 `products/polar-db/columns.json`(11列:集群ID/名称/状态/数据库类型/地域/规格/节点数/存储空间/连接地址/到期时间/资源组)
|
|
166
166
|
- 状态机读 `products/polar-db/states.json`(5种状态:运行中/已停止/创建中/变配中/释放中)
|
|
167
167
|
|
|
168
|
-
## 10. 与
|
|
168
|
+
## 10. 与 OpPageContainer 模式对照
|
|
169
169
|
|
|
170
|
-
> 布局模式定义见 `../../../rules/
|
|
170
|
+
> 布局模式定义见 `../../../rules/page-frame.json`
|
|
171
171
|
|
|
172
172
|
标准列表页使用 **模式D(复合模式)**:
|
|
173
173
|
```
|
|
174
|
-
|
|
174
|
+
PageShell → OpSidebar + OpPageContainer → PageHeader + ActionToolbar + DataTable + BulkActionBar + Pagination
|
|
175
175
|
```
|
|
176
176
|
当不需要筛选时退化为 **模式B**:
|
|
177
177
|
```
|
|
178
|
-
|
|
178
|
+
PageShell → OpSidebar + OpPageContainer → PageHeader + DataTable + BulkActionBar + Pagination
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
## 11. 验证清单
|
|
@@ -184,7 +184,7 @@ PageContainer → ContentWrapper → PageHeader + DataTable + BulkActionBar + Pa
|
|
|
184
184
|
|
|
185
185
|
| 验证项 | 检查点 | 目标 |
|
|
186
186
|
|--------|--------|------|
|
|
187
|
-
| **
|
|
187
|
+
| **OpPageContainer 内白卡 paddingX** | OpPageContainer 内置白卡 `p-6`(24px);PageHeader / ActionToolbar / BulkActionBar / Pagination 的水平 padding 全部 = 0 | **必须 100% 一致**,非 Table 子组件重复设置 paddingX 即为违反 |
|
|
188
188
|
| **Table 分层 padding v7.5** | 中间列 th/td paddingX = 12px(列间距 24px);首列 padding-left = **20px**;末列 padding-right = **20px**;首列内容 X = Card 外缘 + 40;末列右缘 X = Card 右缘 - 40;唯一可接受模式:`px-3 first:pl-5 last:pr-5` | 100% |
|
|
189
189
|
| 表格列 | 列数、类型、宽度、对齐、排序、固定匹配规范 | 全部匹配 |
|
|
190
190
|
| 列显隐 | 条件列(监控/可用区/组织)按规则显隐 | 正确 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Color Mapping — OpenTrek v4.1 语义色映射表
|
|
2
2
|
|
|
3
|
-
> ⚠️ **Prerequisites**: 你必须由 [
|
|
3
|
+
> ⚠️ **Prerequisites**: 你必须由 [workflow.md](../workflow.md) Step 6(视觉填充)引导到这里,或在翻新路径中处理色彩替换时使用。
|
|
4
4
|
|
|
5
5
|
> AI 在写组件代码时**只**消费下表中的 CSS 变量名,**不**直接写色值。Token 真值见 `tokens/tokens.theme.css`,本文件仅做语义到 token 名的映射。
|
|
6
6
|
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
|
|
84
84
|
## 6. Sidebar / Topbar 命名空间
|
|
85
85
|
|
|
86
|
-
详见
|
|
86
|
+
详见 `common-components.json` → OpSidebar 及 `design-tokens.json` → sidebarRules。**不**使用主色槽(`--color-primary` 等),全部走 `--color-sidebar-*` / `--color-topbar-*`。
|
|
87
87
|
|
|
88
88
|
---
|
|
89
89
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Dashboard — 数据概览与监控页
|
|
2
2
|
|
|
3
|
-
> ⚠️ **Prerequisites**: 你必须已在 [
|
|
3
|
+
> ⚠️ **Prerequisites**: 你必须已在 [workflow.md](../workflow.md) Step 2 确认页面类型为 **Dashboard**,并由 Step 3 引导到这里。
|
|
4
4
|
|
|
5
5
|
> **完整规范已迁移**:本文件为索引概览,完整生成规范见 [`../pages/dashboard-page/SKILL.md`](../pages/dashboard-page/SKILL.md)。
|
|
6
6
|
> OpenTrek 业务规则见 [`../pages/dashboard-page/patterns/dashboard-opentrek.md`](../pages/dashboard-page/patterns/dashboard-opentrek.md)。
|
|
@@ -15,7 +15,7 @@ description: >
|
|
|
15
15
|
> **生成页面时必须读取**:
|
|
16
16
|
> - `../pages/detail-page/SKILL.md` — 子技能入口(子类型列表 + 属性模型)
|
|
17
17
|
> - `../pages/detail-page/patterns/{subtype}.md` — 完整骨架 + DOM 结构 + CSS 约束(resource / monitor / api-doc / comparison)
|
|
18
|
-
> - `../rules/
|
|
18
|
+
> - `../rules/common-components.json` → PageHeader — L2 面包屑硬约束
|
|
19
19
|
>
|
|
20
20
|
> 本文件仅用于:(1) 了解详情页子类型概览 (2) 快速判断属于哪个子类型
|
|
21
21
|
|
|
@@ -50,10 +50,10 @@ description: >
|
|
|
50
50
|
| 属性 | 值 | 说明 |
|
|
51
51
|
|------|-----|------|
|
|
52
52
|
| layout.type | TWO_COL / SINGLE_COL | 见 `rules/page-frame.json` layoutSelectionRules |
|
|
53
|
-
| layout.frame | L2 | 详情页为 L2 级页面,自动继承
|
|
53
|
+
| layout.frame | L2 | 详情页为 L2 级页面,自动继承 OpSidebar + PageHeader 面包屑模式 |
|
|
54
54
|
| responsive | 768px 侧边栏折叠为抽屉,DescriptionList 列数从 4 降为 2 |
|
|
55
55
|
|
|
56
|
-
> **框架组件自动继承**:
|
|
56
|
+
> **框架组件自动继承**:OpSidebar、PageHeader 由 `rules/page-frame.json` 统一管理,L2 级页面自动继承。
|
|
57
57
|
|
|
58
58
|
---
|
|
59
59
|
|
|
@@ -63,7 +63,7 @@ description: >
|
|
|
63
63
|
|
|
64
64
|
| 组件 | 引用 | 层级 | 位置 | 说明 |
|
|
65
65
|
|------|------|------|------|------|
|
|
66
|
-
| PageHeader | — | ORGANISM | top | 面包屑模式 + 操作按钮组(详见
|
|
66
|
+
| PageHeader | — | ORGANISM | top | 面包屑模式 + 操作按钮组(详见 `common-components.json` → PageHeader) |
|
|
67
67
|
| DescriptionList | — | ORGANISM | center | 核心展示组件,支持 2/3/4 列布局 |
|
|
68
68
|
| DescriptionItem | — | ATOMIC | center | 单个键值对单元,6 种交互模式 |
|
|
69
69
|
|
|
@@ -94,7 +94,7 @@ description: >
|
|
|
94
94
|
| Form (ORGANISM) | 禁止在主内容区 | 编辑应通过 Sheet/Dialog/FormPage |
|
|
95
95
|
| DataTable | 禁止在主内容区 | 关联数据通过 Tabs 子面板展示 |
|
|
96
96
|
| Chart (ORGANISM) | 禁止替代 DescriptionList | 监控通过 ChartPanel,详见 patterns/monitor-detail.md |
|
|
97
|
-
| PageContainer | 禁止嵌套 | 见
|
|
97
|
+
| PageContainer | 禁止嵌套 | 见 page-frame.json |
|
|
98
98
|
| QueryFilter | 禁止出现 | 详情页无筛选需求 |
|
|
99
99
|
|
|
100
100
|
---
|
|
@@ -116,7 +116,7 @@ description: >
|
|
|
116
116
|
| Tabs → TabPane → DescriptionList | ALLOW | Tab 内展示详情 |
|
|
117
117
|
| Tabs → TabPane → DataTable | ALLOW | Tab 内展示关联资源 |
|
|
118
118
|
| PageHeader → ActionGroup | ALLOW | 操作按钮组 |
|
|
119
|
-
|
|
|
119
|
+
| OpSidebar → DescriptionList | FORBID | 描述列表不应在侧边栏 |
|
|
120
120
|
|
|
121
121
|
> 子类型特有嵌套约束见对应 `patterns/*.md`。
|
|
122
122
|
|
|
@@ -232,7 +232,7 @@ description: >
|
|
|
232
232
|
|
|
233
233
|
| 共享规则 | 路径 | 被引用子类型 |
|
|
234
234
|
|----------|------|-------------|
|
|
235
|
-
| PageHeader L1 标题 / L2 面包屑强约束 | `../rules/
|
|
235
|
+
| PageHeader L1 标题 / L2 面包屑强约束 | `../rules/common-components.json` → PageHeader | 全部 |
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
@@ -240,7 +240,7 @@ description: >
|
|
|
240
240
|
|
|
241
241
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 三阶段读取决策树
|
|
242
242
|
- 阶段①:`page-types.json` + `business-mapping.json`
|
|
243
|
-
- 阶段②:`page-frame.json` + `
|
|
243
|
+
- 阶段②:`page-frame.json` + `page-flow.json`;匹配子类型后追加 `patterns/{子类型}.md`
|
|
244
244
|
- 阶段③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `component-specs.json` + `styling.json` + `../boundaries.md` + `../foundations.md`
|
|
245
245
|
|
|
246
246
|
> `rules/design-tokens.css` 是设计 Token 唯一真相源:生成 HTML 原型时需将 :root 变量块嵌入 `<style>`;React/TSX 需确保已 `@import` 引入。
|
|
@@ -256,7 +256,7 @@ description: >
|
|
|
256
256
|
| 必需组件 | PageHeader、DescriptionList、DescriptionItem | 100% |
|
|
257
257
|
| 嵌套约束 | PageContainer → ContentWrapper → Card → PageHeader + 内容 | 无违规 |
|
|
258
258
|
| 禁止组件 | 无内联表单、DataTable 主内容区、QueryFilter | 0 个 |
|
|
259
|
-
| PageHeader |
|
|
259
|
+
| PageHeader | 面包屑模式合规(`common-components.json` → PageHeader.generationChecklist 16 项) | 全部通过 |
|
|
260
260
|
| ContentCard 表面 (v7.6) | 无 1px border + shadow = var(--shadow-sm) | 0 违规 |
|
|
261
261
|
| InfoCard 表面 (v7.6) | 模式 A 跟随主卡;模式 B 仅 padding + border-bottom | 0 违规 |
|
|
262
262
|
| Card 间距 (v7.5) | padding = 0 var(--card-padding-x) = 20px | 正确 |
|
|
@@ -49,12 +49,12 @@ description: >
|
|
|
49
49
|
| 属性 | 值 | 说明 |
|
|
50
50
|
| --------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
|
|
51
51
|
| layout.type | SINGLE_COL / GRID | 简单表单 SINGLE_COL,多列表单 GRID |
|
|
52
|
-
| layout.frame | L2 | 表单页为 L2 级页面,自动继承
|
|
52
|
+
| layout.frame | L2 | 表单页为 L2 级页面,自动继承 OpSidebar(含 Logo+产品名),PageHeader 使用面包屑基础组件模式 |
|
|
53
53
|
| responsive | Desktop: 单列/多列, Tablet: 单列, Mobile: 不推荐 |
|
|
54
54
|
| form.layout | SINGLE_COL(默认), TWO_COL(多字段), SECTION(分区) |
|
|
55
55
|
| submit.position | bottom | flex 布局,所有行动点居右排列(justify-content: flex-end),按钮从左到右顺序:取消 → 上一步(如有)→ 下一步/提交 |
|
|
56
56
|
|
|
57
|
-
> **框架组件自动继承**:
|
|
57
|
+
> **框架组件自动继承**:OpSidebar、Breadcrumb 由 `rules/page-frame.json` 统一管理,L2 级页面自动包含。弹窗表单(Dialog/FormPage)为 L0 级,无框架组件。
|
|
58
58
|
|
|
59
59
|
## 4. 标准布局骨架
|
|
60
60
|
|
|
@@ -226,7 +226,7 @@ description: >
|
|
|
226
226
|
| Form | FieldGroup | ORGANISM | center | 表单容器,替代 div + space-y-\* |
|
|
227
227
|
| SubmitBar | — | ORGANISM | bottom | 提交操作栏,底部固定 |
|
|
228
228
|
|
|
229
|
-
> **框架级组件**(自动继承,无需在此声明):
|
|
229
|
+
> **框架级组件**(自动继承,无需在此声明):OpSidebar、Breadcrumb 由 `rules/page-frame.json` 统一管理,L2 级页面自动包含。弹窗表单(Dialog 内)为 L0 级,无框架组件。
|
|
230
230
|
|
|
231
231
|
### 可选组件
|
|
232
232
|
|
|
@@ -257,7 +257,7 @@ description: >
|
|
|
257
257
|
| ----------------- | ------------------------ | ------------------------------------------- |
|
|
258
258
|
| DataTable | 禁止出现在表单页主内容区 | 如需选择关联数据,用 Dialog + DataTable |
|
|
259
259
|
| Chart | 禁止出现在表单页 | 图表属于 Dashboard |
|
|
260
|
-
| PageContainer | 禁止嵌套 | 见 `rules/
|
|
260
|
+
| PageContainer | 禁止嵌套 | 见 `rules/page-frame.json` |
|
|
261
261
|
| ListPage | 禁止嵌套 | 表单页是页面级组件 |
|
|
262
262
|
| 内联 Input | 禁止不在 Field 内 | 所有 Input 必须在 FieldGroup → Field 内(F1) |
|
|
263
263
|
| 原始 div 表单布局 | 禁止 | 用 FieldGroup + Field 替代(F1) |
|
|
@@ -348,7 +348,7 @@ description: >
|
|
|
348
348
|
|
|
349
349
|
### 6.5 与 PageContainer 模式对照
|
|
350
350
|
|
|
351
|
-
> 布局模式定义见 `rules/
|
|
351
|
+
> 布局模式定义见 `rules/page-frame.json`
|
|
352
352
|
|
|
353
353
|
表单页使用 **模式 A(直接内容)或模式 B(Card 分组)**:
|
|
354
354
|
|
|
@@ -367,7 +367,7 @@ PageContainer → ContentWrapper → Breadcrumb + PageHeader + Card[FieldGroup]
|
|
|
367
367
|
|
|
368
368
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 三阶段读取决策树
|
|
369
369
|
- 阶段 ①:`page-types.json` + `business-mapping.json`
|
|
370
|
-
- 阶段 ②:`page-frame.json` + `
|
|
370
|
+
- 阶段 ②:`page-frame.json` + `page-flow.json`
|
|
371
371
|
- 阶段 ③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `styling.json` + `../boundaries.md` + `../foundations.md`(表单布局精确规格见本文 §8)
|
|
372
372
|
|
|
373
373
|
> `rules/design-tokens.css` 是设计 Token 的唯一真相源(:root 变量定义):生成 HTML 原型时需将 :root 变量块嵌入页面 `<style>` 标签;生成 React/TSX 需确保项目已通过 `@import` 引入该 CSS 文件。
|
|
@@ -16,7 +16,7 @@ description: >
|
|
|
16
16
|
> **生成页面时必须读取**:
|
|
17
17
|
> - `../pages/list-page/SKILL.md` — 子技能入口(子类型列表 + 属性模型)
|
|
18
18
|
> - `../pages/list-page/patterns/{subtype}.md` — 完整骨架 + DOM 结构 + CSS 约束
|
|
19
|
-
> - `../
|
|
19
|
+
> - `../rules/common-components.json` → SearchCombo — 20px 间距硬约束
|
|
20
20
|
> - `../pages/list-page/_shared/action-column-spec.md` — 操作列规范
|
|
21
21
|
>
|
|
22
22
|
> 本文件仅用于:(1) 了解 6 种子类型概览 (2) 快速判断属于哪个子类型
|
|
@@ -34,11 +34,11 @@ description: >
|
|
|
34
34
|
| 子类型ID | 识别关键词 | 路由到 | 布局模式 | 核心组件 |
|
|
35
35
|
|----------|-----------|--------|----------|----------|
|
|
36
36
|
| standard | "列表"/"表格"/"查询" | → `patterns/standard-list.md` | 模式D | DataTable + Pagination |
|
|
37
|
-
| l2-sidebar | "分类"/"分组"/"左侧树" | → `patterns/l2-sidebar-list.md` | 模式D +
|
|
37
|
+
| l2-sidebar | "分类"/"分组"/"左侧树" | → `patterns/l2-sidebar-list.md` | 模式D + OpSidebar | OpSidebar(240px) + DataTable |
|
|
38
38
|
| expandable | "展开"/"子项"/"详情" | → `patterns/expandable-list.md` | 模式D | DataTable(行内展开) |
|
|
39
39
|
| drawer | "弹窗列表"/"选择器" | → `patterns/drawer-list.md` | 模式D (Sheet 内) | DataTable ⊂ Sheet |
|
|
40
40
|
| **pure-card** | "纯卡片"/"卡片管理"/"智能体列表" | → `patterns/card-list.md` | 模式A-CARD | CardGrid + ItemCard + CardActionBar |
|
|
41
|
-
| **standard-card** | "卡片列表"/"分类卡片"/"资源卡片" | → `patterns/card-list.md` | 模式D-CARD (TWO_COL) |
|
|
41
|
+
| **standard-card** | "卡片列表"/"分类卡片"/"资源卡片" | → `patterns/card-list.md` | 模式D-CARD (TWO_COL) | OpSidebar + CardGrid + ItemCard + CardActionBar |
|
|
42
42
|
| **view-toggle** | "视图切换"/"列表卡片切换" | → `patterns/card-list.md` | 模式D + ViewToggle | ViewToggle + CardGrid/DataTable + ItemCard(tile) |
|
|
43
43
|
| advanced-filter | "高级筛选"/"更多条件" | → `patterns/advanced-filter-list.md` | 模式D+ | AdvancedFilterPanel + DataTable |
|
|
44
44
|
|
|
@@ -62,11 +62,11 @@ description: >
|
|
|
62
62
|
| 属性 | 值 | 说明 |
|
|
63
63
|
|------|-----|------|
|
|
64
64
|
| layout.type | TWO_COL / SINGLE_COL | 见 `rules/page-frame.json` layoutSelectionRules |
|
|
65
|
-
| layout.frame | L1 | 列表页为 L1 级页面,自动继承
|
|
65
|
+
| layout.frame | L1 | 列表页为 L1 级页面,自动继承 OpSidebar(含Logo+产品名)。无面包屑。 |
|
|
66
66
|
| responsive | Desktop ≥1200px(完整), Tablet 768-1199px(横滚), Mobile <768px(不推荐) |
|
|
67
67
|
| pagination.default | 标准列表 10 条/页, 纯卡片 12 条/页 |
|
|
68
68
|
|
|
69
|
-
> **框架组件自动继承**:
|
|
69
|
+
> **框架组件自动继承**:OpSidebar 的存在性由 `rules/page-frame.json` 统一管理,子技能只定义内容区组件。L1 级页面自动包含:OpSidebar(顶部Logo+产品名),无面包屑。
|
|
70
70
|
|
|
71
71
|
---
|
|
72
72
|
|
|
@@ -80,7 +80,7 @@ description: >
|
|
|
80
80
|
| ActionToolbar | — | ORGANISM | top | 操作工具栏,单行 flex(flex-wrap:nowrap),左侧创建按钮 + 右侧搜索工具 |
|
|
81
81
|
| Pagination | — | MOLECULAR | bottom | 分页控件 |
|
|
82
82
|
|
|
83
|
-
> **框架级组件**(自动继承,无需在此声明):
|
|
83
|
+
> **框架级组件**(自动继承,无需在此声明):OpSidebar 由 `rules/page-frame.json` 统一管理,L1 级页面自动包含。
|
|
84
84
|
> 注:DataTable 为 standard/l2/expandable/drawer/view-toggle 的必需组件;CardGrid 为 standard-card/pure-card/view-toggle 的必需组件。
|
|
85
85
|
|
|
86
86
|
### 禁止组件
|
|
@@ -89,7 +89,7 @@ description: >
|
|
|
89
89
|
|------|------|------|
|
|
90
90
|
| Form(ORGANISM) | 禁止直接出现在内容区 | 表单应通过 Dialog/Sheet/FormPage 触发 |
|
|
91
91
|
| Chart(ORGANISM) | 禁止出现在标准列表页 | 图表属于 Dashboard |
|
|
92
|
-
| PageContainer | 禁止嵌套 | 见 `rules/
|
|
92
|
+
| PageContainer | 禁止嵌套 | 见 `rules/page-frame.json` |
|
|
93
93
|
| 内联编辑 | 禁止 | 编辑应通过 Sheet/Dialog/FormPage |
|
|
94
94
|
| 拖拽排序 | 禁止 | 表格数据为服务端排序 |
|
|
95
95
|
| 无限滚动 | 禁止 | B2B 管理场景需精确分页 |
|
|
@@ -228,7 +228,7 @@ Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px
|
|
|
228
228
|
| DataTable → Pagination | ALLOW | 分页控件 |
|
|
229
229
|
| DataTable → Dialog | WARN | 确认弹窗由全局状态管理 |
|
|
230
230
|
| DataTable → Form | FORBID | 表格内不应直接嵌套完整表单 |
|
|
231
|
-
|
|
|
231
|
+
| OpSidebar → DescriptionList | FORBID | 描述列表不应嵌套在侧边栏 |
|
|
232
232
|
|
|
233
233
|
---
|
|
234
234
|
|
|
@@ -269,7 +269,7 @@ Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px
|
|
|
269
269
|
|
|
270
270
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 四阶段读取决策树
|
|
271
271
|
- 阶段①:`page-types.json` + `business-mapping.json`
|
|
272
|
-
- 阶段②:`page-frame.json` + `
|
|
272
|
+
- 阶段②:`page-frame.json` + `page-flow.json` + `common-components.json`(SearchCombo);卡片子类型 (pure-card / standard-card / view-toggle) 追加读取 `patterns/card-list.md`(v7.3 起为三件套唯一规范来源)
|
|
273
273
|
- 阶段②.5:`products/{产品}/columns.json` + `states.json`(v6.2 新增)
|
|
274
274
|
- 阶段③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `styling.json` + `../boundaries.md` + `../foundations.md`
|
|
275
275
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> ⚠️ **页面类型完整定义以 [`../rules/page-types.json`](../rules/page-types.json) 为准。本文仅补充 JSON 无法表达的设计指南(Zone 空间关系、结构铁律、自检清单)。**
|
|
4
4
|
|
|
5
|
-
> **Prerequisites**: 你必须由 [
|
|
5
|
+
> **Prerequisites**: 你必须由 [workflow.md](../workflow.md) Step 2 引导到这里。若未完成 Step 1(需求确认),请先返回。
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
- **11 种页面类型 + 子类型 + 识别条件 + 决策关键词** → [`rules/page-types.json` `pageTypes[]`](../rules/page-types.json)
|
|
12
12
|
- **优先级裁决规则**(关键词冲突时如何选)→ [`rules/page-types.json` `priorityRules`](../rules/page-types.json)
|
|
13
|
-
- **页面级别 L0 / L1 / L2 +
|
|
13
|
+
- **页面级别 L0 / L1 / L2 + OpSidebar / PageHeader 自动继承** → [`rules/page-frame.json` `frameLevels`](../rules/page-frame.json)
|
|
14
14
|
|
|
15
15
|
> JSON 中每个 pageType 已含 `level` 字段(L0/L1/L2);`决策关键词`、`识别条件` 已覆盖决策树逻辑;`priorityRules` 处理关键词冲突。AI 应直接读 JSON,本文不再复述表格。
|
|
16
16
|
|
|
@@ -30,7 +30,7 @@ JSON `zoneMap.zones` 给出区域 id / 位置 / 用途的机读定义。下面
|
|
|
30
30
|
└─────────┴───────────────────────────────────┘
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
**默认壳层基线**:`
|
|
33
|
+
**默认壳层基线**:`OpSidebar(左) + Header(顶) + Main(中)` 三栏布局。`aside` 仅按 variant 启用。
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|