@teamix-evo/skills 0.12.1 → 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 +17 -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 +6 -6
- 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/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 +5 -5
- 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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 路由自 `../SKILL.md`
|
|
4
4
|
> 布局模式: 模式B
|
|
5
5
|
> 核心组件: PageHeader(面包屑) + 双栏/多栏 DescriptionList
|
|
6
|
-
> PageHeader 规范: `../../../rules/
|
|
6
|
+
> PageHeader 规范: `../../../rules/common-components.json` → PageHeader
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -20,11 +20,7 @@
|
|
|
20
20
|
## 3. 标准布局骨架
|
|
21
21
|
|
|
22
22
|
```
|
|
23
|
-
|
|
24
|
-
↓
|
|
25
|
-
ContentWrapper
|
|
26
|
-
↓
|
|
27
|
-
Card(白卡容器)
|
|
23
|
+
PageShell → OpSidebar + OpPageContainer
|
|
28
24
|
├─ PageHeader (面包屑模式)
|
|
29
25
|
│ └─ 配置管理 > 版本对比
|
|
30
26
|
│ [应用版本B] [返回]
|
|
@@ -94,7 +90,7 @@ Card(白卡容器)
|
|
|
94
90
|
|
|
95
91
|
| 验证项 | 检查点 | 目标 |
|
|
96
92
|
|--------|--------|------|
|
|
97
|
-
| PageHeader | 面包屑模式合规(见 `
|
|
93
|
+
| PageHeader | 面包屑模式合规(见 `common-components.json` → PageHeader.generationChecklist) | 16 项全部通过 |
|
|
98
94
|
| 双栏对齐 | 两栏宽度相等,字段名对齐 | 正确 |
|
|
99
95
|
| 差异高亮 | 变更项有明确视觉标识 | 正确 |
|
|
100
96
|
| 仅差异视图 | Toggle 后隐藏相同项 | 正确 |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 路由自 `../SKILL.md`
|
|
4
4
|
> 布局模式: 模式B + C 组合
|
|
5
5
|
> 核心组件: MetricCard + ChartPanel + AlertList + TimeRangeSelector
|
|
6
|
-
> PageHeader 规范: `../../../rules/
|
|
6
|
+
> PageHeader 规范: `../../../rules/common-components.json` → PageHeader
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -22,11 +22,7 @@
|
|
|
22
22
|
## 3. 标准布局骨架
|
|
23
23
|
|
|
24
24
|
```
|
|
25
|
-
|
|
26
|
-
↓
|
|
27
|
-
ContentWrapper
|
|
28
|
-
↓
|
|
29
|
-
Card(白卡容器)
|
|
25
|
+
PageShell → OpSidebar + OpPageContainer
|
|
30
26
|
├─ PageHeader (面包屑模式)
|
|
31
27
|
│ └─ 实例管理 > 实例详情 > 监控
|
|
32
28
|
│ [TimeRangeSelector] [⟳ 刷新]
|
|
@@ -181,7 +177,7 @@ Card(白卡容器)
|
|
|
181
177
|
|
|
182
178
|
| 验证项 | 检查点 | 目标 |
|
|
183
179
|
|--------|--------|------|
|
|
184
|
-
| PageHeader | 面包屑模式合规(见 `
|
|
180
|
+
| PageHeader | 面包屑模式合规(见 `common-components.json` → PageHeader.generationChecklist) | 16 项全部通过 |
|
|
185
181
|
| MetricCard 横排 | grid 4列布局,gap 12px | 正确 |
|
|
186
182
|
| TimeRangeSelector | PageHeader 右侧,SegmentedControl 样式 | 正确 |
|
|
187
183
|
| ChartPanel Grid | 2×2 网格,gap 16px | 正确 |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 路由自 `../SKILL.md`
|
|
4
4
|
> 布局模式: 模式B + C 组合(Card 分组 + Tabs 分组)
|
|
5
5
|
> 核心组件: PageHeader(面包屑) + InfoCard + DescriptionList + Tabs
|
|
6
|
-
> PageHeader 规范: `../../../rules/
|
|
6
|
+
> PageHeader 规范: `../../../rules/common-components.json` → PageHeader
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
- DescriptionList 结构化键值对展示
|
|
20
20
|
- 操作按钮组(编辑/删除/续费/更多)
|
|
21
21
|
|
|
22
|
-
## 3. 标准布局骨架(含
|
|
22
|
+
## 3. 标准布局骨架(含 OpSidebar)
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
┌──────────┬──────────────────────────────────────────────┐
|
|
26
|
-
│ │
|
|
27
|
-
│
|
|
26
|
+
│ │ OpPageContainer │
|
|
27
|
+
│ OpSidebar│ ┌─ 内置白卡 ──────────────────────────────┐ │
|
|
28
28
|
│ │ │ PageHeader (仅面包屑,禁止标题) │ │
|
|
29
29
|
│ │ │ 实例与镜像 > 实例列表 > 实例详情 │ │
|
|
30
30
|
│ │ │ [创建镜像] [续费] [更多] [×] │ │
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
└──────────┴──────────────────────────────────────────────┘
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
## 4. 简洁模式(无
|
|
51
|
+
## 4. 简洁模式(无 OpSidebar)
|
|
52
52
|
|
|
53
53
|
```
|
|
54
54
|
┌─────────────────────────────────────────────────────────┐
|
|
55
|
-
│ ┌─
|
|
55
|
+
│ ┌─ OpPageContainer ────────────────────────────────────┐ │
|
|
56
56
|
│ │ PageHeader (仅面包屑,禁止标题) │ │
|
|
57
57
|
│ │ 用户列表 > 张三 [编辑] [删除] │ │
|
|
58
58
|
│ │ DescriptionList (column: 2) │ │
|
|
@@ -123,15 +123,15 @@
|
|
|
123
123
|
| Tabs → TabPane → DescriptionList | ✅ ALLOW | Tab 内展示详情 |
|
|
124
124
|
| Tabs → TabPane → DataTable | ✅ ALLOW | Tab 内展示关联资源列表 |
|
|
125
125
|
|
|
126
|
-
## 9. 与
|
|
126
|
+
## 9. 与 OpPageContainer 模式对照
|
|
127
127
|
|
|
128
128
|
资源详情页使用 **模式B(Card 分组)+ 模式C(Tabs 分组)组合**:
|
|
129
129
|
```
|
|
130
|
-
|
|
130
|
+
PageShell → OpSidebar + OpPageContainer → PageHeader(面包屑模式) + InfoCard + Tabs → TabPane[DescriptionList]
|
|
131
131
|
```
|
|
132
132
|
简洁详情页退化为 **模式B**:
|
|
133
133
|
```
|
|
134
|
-
|
|
134
|
+
PageShell → OpSidebar + OpPageContainer → PageHeader(面包屑模式) + DescriptionList
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
## 10. 验证清单
|
|
@@ -140,7 +140,7 @@ PageContainer → ContentWrapper → Card → PageHeader(面包屑模式) + Desc
|
|
|
140
140
|
|
|
141
141
|
| 验证项 | 检查点 | 目标 |
|
|
142
142
|
|--------|--------|------|
|
|
143
|
-
| PageHeader | 面包屑模式合规(见 `
|
|
143
|
+
| PageHeader | 面包屑模式合规(见 `common-components.json` → PageHeader.generationChecklist) | 16 项全部通过 |
|
|
144
144
|
| InfoCard 表面 | 独立 Card 模式跟随 v7.6;嵌入模式仅 padding + border-bottom | 正确 |
|
|
145
145
|
| ChartPanel | 资源页嵌入监控图表时遵循 monitor-detail.md §9 规格 | 正确 |
|
|
146
146
|
| DescriptionList | 列数(默认2)、字段截断+Tooltip、空值"-"占位 | 正确 |
|
|
@@ -42,12 +42,12 @@ description: >
|
|
|
42
42
|
| 属性 | 值 | 说明 |
|
|
43
43
|
|------|-----|------|
|
|
44
44
|
| layout.type | SINGLE_COL / GRID | 简单表单 SINGLE_COL,多列表单 GRID |
|
|
45
|
-
| layout.frame | L2 | 表单页为 L2 级页面,自动继承
|
|
45
|
+
| layout.frame | L2 | 表单页为 L2 级页面,自动继承 OpSidebar(含Logo+产品名),PageHeader 使用面包屑基础组件模式 |
|
|
46
46
|
| responsive | Desktop: 单列/多列, Tablet: 单列, Mobile: 不推荐 |
|
|
47
47
|
| form.layout | SINGLE_COL(默认), TWO_COL(多字段), SECTION(分区) |
|
|
48
48
|
| submit.position | bottom | flex 布局,所有行动点居右排列(justify-content: flex-end),按钮从左到右顺序:取消 → 上一步(如有)→ 下一步/提交 |
|
|
49
49
|
|
|
50
|
-
> **框架组件自动继承**:
|
|
50
|
+
> **框架组件自动继承**:OpSidebar、Breadcrumb 由 `rules/page-frame.json` 统一管理,L2 级页面自动包含。弹窗表单(Dialog/FormPage)为 L0 级,无框架组件。
|
|
51
51
|
|
|
52
52
|
## 4. 标准布局骨架
|
|
53
53
|
|
|
@@ -55,7 +55,7 @@ description: >
|
|
|
55
55
|
|
|
56
56
|
```
|
|
57
57
|
┌─────────────────────────────────────────────────────────┐
|
|
58
|
-
│ ┌─
|
|
58
|
+
│ ┌─ OpPageContainer ────────────────────────────────────┐ │
|
|
59
59
|
│ │ PageHeader (面包屑模式)
|
|
60
60
|
│ │ 新建实例 │ │
|
|
61
61
|
│ │ Form (SINGLE_COL) │ │
|
|
@@ -99,7 +99,7 @@ description: >
|
|
|
99
99
|
|
|
100
100
|
```
|
|
101
101
|
┌─────────────────────────────────────────────────────────┐
|
|
102
|
-
│ ┌─
|
|
102
|
+
│ ┌─ OpPageContainer ────────────────────────────────────┐ │
|
|
103
103
|
│ │ PageHeader (面包屑模式)
|
|
104
104
|
│ │ 编辑用户 │ │
|
|
105
105
|
│ │ Form (TWO_COL) │ │
|
|
@@ -122,7 +122,7 @@ description: >
|
|
|
122
122
|
|
|
123
123
|
```
|
|
124
124
|
┌─────────────────────────────────────────────────────────┐
|
|
125
|
-
│ ┌─
|
|
125
|
+
│ ┌─ OpPageContainer ────────────────────────────────────┐ │
|
|
126
126
|
│ │ PageHeader (面包屑模式)
|
|
127
127
|
│ │ 创建数据库 │ │
|
|
128
128
|
│ │ Form (SECTION) │ │
|
|
@@ -204,7 +204,7 @@ description: >
|
|
|
204
204
|
| Form | FieldGroup | ORGANISM | center | 表单容器,替代 div + space-y-* |
|
|
205
205
|
| SubmitBar | — | ORGANISM | bottom | 提交操作栏,底部固定 |
|
|
206
206
|
|
|
207
|
-
> **框架级组件**(自动继承,无需在此声明):
|
|
207
|
+
> **框架级组件**(自动继承,无需在此声明):OpSidebar、Breadcrumb 由 `rules/page-frame.json` 统一管理,L2 级页面自动包含。弹窗表单(Dialog 内)为 L0 级,无框架组件。
|
|
208
208
|
|
|
209
209
|
### 可选组件
|
|
210
210
|
|
|
@@ -233,7 +233,7 @@ description: >
|
|
|
233
233
|
|------|------|------|
|
|
234
234
|
| DataTable | 禁止出现在表单页主内容区 | 如需选择关联数据,用 Dialog + DataTable |
|
|
235
235
|
| Chart | 禁止出现在表单页 | 图表属于 Dashboard |
|
|
236
|
-
| PageContainer | 禁止嵌套 | 见 `rules/
|
|
236
|
+
| PageContainer / OpPageContainer | 禁止嵌套 | 见 `rules/page-frame.json` |
|
|
237
237
|
| ListPage | 禁止嵌套 | 表单页是页面级组件 |
|
|
238
238
|
| 内联 Input | 禁止不在 Field 内 | 所有 Input 必须在 FieldGroup → Field 内(F1) |
|
|
239
239
|
| 原始 div 表单布局 | 禁止 | 用 FieldGroup + Field 替代(F1) |
|
|
@@ -242,22 +242,21 @@ description: >
|
|
|
242
242
|
|
|
243
243
|
| 父子关系 | 状态 | 说明 |
|
|
244
244
|
|----------|------|------|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
| Card(白卡容器) → Card(白卡容器) | FORBID | 白卡容器为单例,禁止嵌套 |
|
|
245
|
+
| PageShell → OpSidebar + OpPageContainer | ALLOW | OpenTrek 标准页面框架(必需) |
|
|
246
|
+
| OpPageContainer → Breadcrumb | ALLOW | 标准结构 |
|
|
247
|
+
| OpPageContainer → PageHeader | ALLOW | 标准结构 |
|
|
248
|
+
| OpPageContainer → FieldGroup | ALLOW | 表单容器 |
|
|
249
|
+
| OpPageContainer → SubmitBar | ALLOW | 底部提交栏 |
|
|
250
|
+
| 跳过 OpPageContainer 直接挂载业务组件 | FORBID | 业务组件必须经过 OpPageContainer 包裹 |
|
|
251
|
+
| OpPageContainer → OpPageContainer | FORBID | 页面容器为单例,禁止嵌套 |
|
|
253
252
|
| FieldGroup → Field | ALLOW | 表单字段 |
|
|
254
253
|
| Field → Input/Select/Switch | ALLOW | 表单控件 |
|
|
255
254
|
| Field → ToggleGroup | ALLOW | 选项组控件 |
|
|
256
255
|
| Field → Textarea | ALLOW | 多行文本 |
|
|
257
|
-
|
|
|
256
|
+
| OpPageContainer → Card(分区) | ALLOW | 分区表单(内部卡片) |
|
|
258
257
|
| Card(分区) → FieldGroup | ALLOW | 分区内表单 |
|
|
259
|
-
|
|
|
260
|
-
|
|
|
258
|
+
| OpPageContainer → Dialog | WARN | 取消确认弹窗由全局状态管理 |
|
|
259
|
+
| OpPageContainer → Form | FORBID | Form 应在 FieldGroup 层级 |
|
|
261
260
|
| Field → InputGroup | ALLOW | 输入框组(验证码等场景) |
|
|
262
261
|
|
|
263
262
|
## 6. 页面交互补充
|
|
@@ -322,18 +321,18 @@ description: >
|
|
|
322
321
|
- **按钮在 input 内**: 用 `InputGroup` + `InputGroupAddon`(F3)
|
|
323
322
|
- **Sonner 反馈**: `import { toast } from "sonner"`(C9)
|
|
324
323
|
|
|
325
|
-
### 6.5 与
|
|
324
|
+
### 6.5 与 OpPageContainer 模式对照
|
|
326
325
|
|
|
327
|
-
> 布局模式定义见 `rules/
|
|
326
|
+
> 布局模式定义见 `rules/page-frame.json`
|
|
328
327
|
|
|
329
328
|
表单页使用 **模式A(直接内容)或模式B(Card 分组)**:
|
|
330
329
|
```
|
|
331
|
-
模式A:
|
|
332
|
-
模式B:
|
|
330
|
+
模式A: PageShell → OpSidebar + OpPageContainer → Breadcrumb + PageHeader + FieldGroup + SubmitBar
|
|
331
|
+
模式B: PageShell → OpSidebar + OpPageContainer → Breadcrumb + PageHeader + Card[FieldGroup] + SubmitBar
|
|
333
332
|
```
|
|
334
333
|
分区表单使用 **模式B 扩展**:
|
|
335
334
|
```
|
|
336
|
-
|
|
335
|
+
PageShell → OpSidebar + OpPageContainer → Breadcrumb + PageHeader + Card[FieldGroup] + Separator + Card[FieldGroup] + SubmitBar
|
|
337
336
|
```
|
|
338
337
|
|
|
339
338
|
## 7. OpenTrek 表单容器模式
|
|
@@ -568,9 +567,9 @@ PageContainer → ContentWrapper → Breadcrumb + PageHeader + Card[FieldGroup]
|
|
|
568
567
|
|
|
569
568
|
```
|
|
570
569
|
┌─ PageShell ──────────────────────────────────────────────────────┐
|
|
571
|
-
│ sidebar:
|
|
570
|
+
│ sidebar: OpSidebar │
|
|
572
571
|
│ children: │
|
|
573
|
-
│ ┌─
|
|
572
|
+
│ ┌─ OpPageContainer ──────────────────────────────────────────┐ │
|
|
574
573
|
│ │ Breadcrumb: 记忆体 > 空间共用 │ │
|
|
575
574
|
│ │ Tabs (variant='line'): │ │
|
|
576
575
|
│ │ [记忆总览 | 生成策略 | **整理策略** | 记忆动态] │ │
|
|
@@ -722,7 +721,7 @@ PageContainer → ContentWrapper → Breadcrumb + PageHeader + Card[FieldGroup]
|
|
|
722
721
|
|
|
723
722
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 三阶段读取决策树
|
|
724
723
|
- 阶段①:`page-types.json` + `business-mapping.json`
|
|
725
|
-
- 阶段②:`page-frame.json` + `
|
|
724
|
+
- 阶段②:`page-frame.json` + `page-flow.json`
|
|
726
725
|
- 阶段③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `styling.json` + `../../boundaries.md` + `../../foundations.md`(表单布局精确规格见 `../../patterns/form-page.md` §8)
|
|
727
726
|
|
|
728
727
|
> `rules/design-tokens.css` 是设计 Token 的唯一真相源(:root 变量定义):生成 HTML 原型时需将 :root 变量块嵌入页面 `<style>` 标签;生成 React/TSX 需确保项目已通过 `@import` 引入该 CSS 文件。
|
|
@@ -734,7 +733,7 @@ PageContainer → ContentWrapper → Breadcrumb + PageHeader + Card[FieldGroup]
|
|
|
734
733
|
| 检查项 | 检查点 | 目标 |
|
|
735
734
|
|--------|--------|------|
|
|
736
735
|
| 必需组件 | PageHeader、Form(FieldGroup)、SubmitBar | 100% |
|
|
737
|
-
| 嵌套约束 |
|
|
736
|
+
| 嵌套约束 | PageShell → OpSidebar + OpPageContainer → Breadcrumb + PageHeader + FieldGroup + SubmitBar | 无违规嵌套 |
|
|
738
737
|
| 禁止组件 | 无 DataTable、Chart、内联 Input(不在 Field 内)、原始 div 布局 | 0 个 |
|
|
739
738
|
| 表单布局 | 所有 Input 在 Field → FieldGroup 内(F1) | 正确 |
|
|
740
739
|
| 字段校验 | 必填为空/格式错误/后端校验, data-invalid 正确 | 全部正确 |
|
|
@@ -27,11 +27,11 @@ description: >
|
|
|
27
27
|
| 子类型ID | 识别关键词 | 路由到 | 布局模式 | 核心组件 |
|
|
28
28
|
|----------|-----------|--------|----------|----------|
|
|
29
29
|
| standard | "列表"/"表格"/"查询" | → `patterns/standard-list.md`;OpenTrek 业务规则 → `patterns/standard-list-opentrek.md` | 模式D | DataTable + Pagination |
|
|
30
|
-
| l2-sidebar | "分类"/"分组"/"左侧树" | → 本文件 §8.1 | 模式D +
|
|
30
|
+
| l2-sidebar | "分类"/"分组"/"左侧树" | → 本文件 §8.1 | 模式D + OpSidebar | OpSidebar(240px) + DataTable |
|
|
31
31
|
| expandable | "展开"/"子项"/"详情" | → 本文件 §8.2 | 模式D | DataTable(行内展开) |
|
|
32
32
|
| drawer | "弹窗列表"/"选择器" | → 本文件 §8.3 | 模式D (Sheet内) | DataTable ⊂ Sheet |
|
|
33
33
|
| **pure-card** | "纯卡片"/"卡片管理"/"智能体列表" | → `patterns/card-list.md` | 模式A-CARD | CardGrid + ItemCard + CardActionBar |
|
|
34
|
-
| **standard-card** | "卡片列表"/"分类卡片"/"资源卡片" | → `patterns/card-list.md` | 模式D-CARD (TWO_COL) |
|
|
34
|
+
| **standard-card** | "卡片列表"/"分类卡片"/"资源卡片" | → `patterns/card-list.md` | 模式D-CARD (TWO_COL) | OpSidebar + CardGrid + ItemCard + CardActionBar |
|
|
35
35
|
| **view-toggle** | "视图切换"/"列表卡片切换" | → `patterns/card-list.md` | 模式D + ViewToggle | ViewToggle + CardGrid/DataTable + ItemCard(tile) |
|
|
36
36
|
| advanced-filter | "高级筛选"/"更多条件" | → 本文件 §8.4 | 模式D+ | AdvancedFilterPanel + DataTable |
|
|
37
37
|
|
|
@@ -56,11 +56,11 @@ description: >
|
|
|
56
56
|
| 属性 | 值 | 说明 |
|
|
57
57
|
|------|-----|------|
|
|
58
58
|
| layout.type | TWO_COL / SINGLE_COL | 见 `rules/page-frame.json` layoutSelectionRules |
|
|
59
|
-
| layout.frame | L1 | 列表页为 L1 级页面,自动继承
|
|
59
|
+
| layout.frame | L1 | 列表页为 L1 级页面,自动继承 OpSidebar(含Logo+产品名)。无面包屑。 |
|
|
60
60
|
| responsive | Desktop ≥1200px(完整), Tablet 768-1199px(横滚), Mobile <768px(不推荐) |
|
|
61
61
|
| pagination.default | 标准列表 10 条/页, 纯卡片 12 条/页 |
|
|
62
62
|
|
|
63
|
-
> **框架组件自动继承**:
|
|
63
|
+
> **框架组件自动继承**:OpSidebar 的存在性由 `rules/page-frame.json` 统一管理,子技能只定义内容区组件。L1 级页面自动包含:OpSidebar(顶部Logo+产品名),无面包屑。
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
@@ -74,7 +74,7 @@ description: >
|
|
|
74
74
|
| ActionToolbar | — | ORGANISM | top | 操作工具栏,单行 flex(flex-wrap:nowrap),左侧创建按钮 + 右侧搜索工具 |
|
|
75
75
|
| Pagination | — | MOLECULAR | bottom | 分页控件 |
|
|
76
76
|
|
|
77
|
-
> **框架级组件**(自动继承,无需在此声明):
|
|
77
|
+
> **框架级组件**(自动继承,无需在此声明):OpSidebar 由 `rules/page-frame.json` 统一管理,L1 级页面自动包含。
|
|
78
78
|
> 注:DataTable 为 standard/l2/expandable/drawer/view-toggle 的必需组件;CardGrid 为 standard-card/pure-card/view-toggle 的必需组件。
|
|
79
79
|
|
|
80
80
|
### 禁止组件
|
|
@@ -83,7 +83,7 @@ description: >
|
|
|
83
83
|
|------|------|------|
|
|
84
84
|
| Form(ORGANISM) | 禁止直接出现在内容区 | 表单应通过 Dialog/Sheet/FormPage 触发 |
|
|
85
85
|
| Chart(ORGANISM) | 禁止出现在标准列表页 | 图表属于 Dashboard |
|
|
86
|
-
| PageContainer | 禁止嵌套 | 见 `rules/
|
|
86
|
+
| PageContainer / OpPageContainer | 禁止嵌套 | 见 `rules/page-frame.json` |
|
|
87
87
|
| 内联编辑 | 禁止 | 编辑应通过 Sheet/Dialog/FormPage |
|
|
88
88
|
| 拖拽排序 | 禁止 | 表格数据为服务端排序 |
|
|
89
89
|
| 无限滚动 | 禁止 | B2B 管理场景需精确分页 |
|
|
@@ -104,7 +104,7 @@ description: >
|
|
|
104
104
|
|
|
105
105
|
> 注意:Table 首列内容 X = Card 外缘 + 40px,与 PageHeader / ActionToolbar / Pagination 起始线**不对齐**(这是设计预期)。
|
|
106
106
|
|
|
107
|
-
Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px)。注意:`--card-padding-x` (20px) 独立于
|
|
107
|
+
Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px)。注意:`--card-padding-x` (20px) 独立于 OpPageContainer 外层间距(py-5 pr-5,各 20px)。OpenTrek 使用 `OpPageContainer`(`components/business/op-page-container`)内置白卡替代手动 Card 包裹。
|
|
108
108
|
|
|
109
109
|
| 组件 | 水平 padding | 起始线 X 坐标 | 说明 |
|
|
110
110
|
|------|---------------|-----------------|------|
|
|
@@ -159,9 +159,9 @@ Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px
|
|
|
159
159
|
|
|
160
160
|
---
|
|
161
161
|
|
|
162
|
-
## 5.2 ContentCard 表面规则 v7.6【硬约束】
|
|
162
|
+
## 5.2 ContentCard / OpPageContainer 表面规则 v7.6【硬约束】
|
|
163
163
|
|
|
164
|
-
内容区大卡片容器(
|
|
164
|
+
内容区大卡片容器(OpPageContainer 内置白卡)表面规则:
|
|
165
165
|
|
|
166
166
|
| 属性 | v7.5 及之前 | **v7.6(当前)** |
|
|
167
167
|
|------|-------------|----------------|
|
|
@@ -205,24 +205,23 @@ Card 白卡容器:`padding: 0 var(--card-padding-x)` (上下 0 / 左右 20px
|
|
|
205
205
|
|
|
206
206
|
| 父子关系 | 状态 | 说明 |
|
|
207
207
|
|----------|------|------|
|
|
208
|
-
|
|
|
209
|
-
|
|
|
210
|
-
|
|
|
211
|
-
|
|
|
212
|
-
|
|
|
213
|
-
|
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
|
|
|
218
|
-
| Card(白卡容器) → Card(白卡容器) | FORBID | 白卡容器为单例,禁止嵌套 |
|
|
208
|
+
| PageShell → OpSidebar + OpPageContainer | ALLOW | OpenTrek 标准页面框架(必需) |
|
|
209
|
+
| OpPageContainer → PageHeader | ALLOW | 标准结构(header slot) |
|
|
210
|
+
| OpPageContainer → ActionToolbar | ALLOW | 操作工具栏(children) |
|
|
211
|
+
| OpPageContainer → DataTable | ALLOW | 核心组件 |
|
|
212
|
+
| OpPageContainer → CardGrid | ALLOW | 卡片列表 |
|
|
213
|
+
| OpPageContainer → ViewToggle | ALLOW | 视图切换 |
|
|
214
|
+
| OpPageContainer → AdvancedFilterPanel | ALLOW | 高级筛选面板 |
|
|
215
|
+
| OpPageContainer → Pagination | ALLOW | 分页控件 |
|
|
216
|
+
| 跳过 OpPageContainer 直接挂载业务组件 | FORBID | 业务组件必须经过 OpPageContainer 包裹 |
|
|
217
|
+
| OpPageContainer → OpPageContainer | FORBID | 页面容器为单例,禁止嵌套 |
|
|
219
218
|
| ActionToolbar → SearchCombo | ALLOW | 搜索组合 |
|
|
220
219
|
| CardGrid → ItemCard | ALLOW | 业务卡片(v7.3 起详见 `patterns/card-list.md` §9.1) |
|
|
221
220
|
| ItemCard → CardActionBar | ALLOW | 卡片操作栏,三态:hover-slidebar / hover-fade / always-visible(v7.3 详见 `patterns/card-list.md` §9.3) |
|
|
222
221
|
| DataTable → Pagination | ALLOW | 分页控件 |
|
|
223
222
|
| DataTable → Dialog | WARN | 确认弹窗由全局状态管理 |
|
|
224
223
|
| DataTable → Form | FORBID | 表格内不应直接嵌套完整表单 |
|
|
225
|
-
|
|
|
224
|
+
| OpSidebar → DescriptionList | FORBID | 描述列表不应嵌套在侧边栏 |
|
|
226
225
|
|
|
227
226
|
---
|
|
228
227
|
|
|
@@ -342,14 +341,14 @@ pointer-events: none;
|
|
|
342
341
|
|
|
343
342
|
### 8.1 L2 导航列表 (l2-sidebar)
|
|
344
343
|
|
|
345
|
-
> 布局模式: 模式D +
|
|
344
|
+
> 布局模式: 模式D + OpSidebar(TWO_COL) | 核心差异: 左侧 240px 分类导航 + 右侧标准列表
|
|
346
345
|
|
|
347
346
|
#### 布局骨架
|
|
348
347
|
|
|
349
348
|
```
|
|
350
349
|
┌──────────┬──────────────────────────────────────────────┤
|
|
351
350
|
│ │ PageHeader + ActionToolbar + DataTable │
|
|
352
|
-
│
|
|
351
|
+
│ OpSidebar │ + BulkActionBar + Pagination │
|
|
353
352
|
│ (240px) │ (同标准列表页完整结构) │
|
|
354
353
|
│ │ │
|
|
355
354
|
│ [分类A] │ │
|
|
@@ -365,17 +364,17 @@ pointer-events: none;
|
|
|
365
364
|
| 维度 | 标准列表 | L2 导航列表 |
|
|
366
365
|
|------|----------|-------------|
|
|
367
366
|
| 布局 | SINGLE_COL / TWO_COL | **TWO_COL** |
|
|
368
|
-
|
|
|
367
|
+
| OpSidebar | 可选 | **必需** |
|
|
369
368
|
|
|
370
|
-
>
|
|
369
|
+
> OpSidebar 收起/展开、交互规范、色彩全部引用 `rules/design-tokens.json` sidebarRules。
|
|
371
370
|
|
|
372
|
-
####
|
|
371
|
+
#### OpSidebar 交互规范
|
|
373
372
|
|
|
374
373
|
| 交互 | 行为 |
|
|
375
374
|
|------|------|
|
|
376
375
|
| 点击分类 | 刷新右侧列表数据,保持当前页码 |
|
|
377
376
|
| 展开/收起 | 切换子分类列表,动画过渡 |
|
|
378
|
-
| 收起
|
|
377
|
+
| 收起 OpSidebar | 宽度缩至 68px,仅显示图标 |
|
|
379
378
|
| 选中态 | 灰色背景 `var(--sidebar-active)` |
|
|
380
379
|
| 手风琴 | 打开一个分组自动关闭其他分组 |
|
|
381
380
|
| 收起态 Tooltip | Hover 显示节点名称 |
|
|
@@ -388,7 +387,7 @@ pointer-events: none;
|
|
|
388
387
|
|
|
389
388
|
| 验证项 | 检查点 | 目标 |
|
|
390
389
|
|--------|--------|------|
|
|
391
|
-
|
|
|
390
|
+
| OpSidebar 规格 | 展开240px / 收起68px | 正确 |
|
|
392
391
|
| 分类选中态 | 灰色背景 `var(--sidebar-active)` | 正确 |
|
|
393
392
|
| 分类切换 | 右侧列表刷新 | 正确 |
|
|
394
393
|
| 计数徽章 | 每项右侧灰色 12px | 正确 |
|
|
@@ -480,7 +479,7 @@ pointer-events: none;
|
|
|
480
479
|
|
|
481
480
|
| 维度 | 标准列表 | 抽屉中列表 |
|
|
482
481
|
|------|----------|-----------|
|
|
483
|
-
| 容器 |
|
|
482
|
+
| 容器 | OpPageContainer | **Sheet** |
|
|
484
483
|
| 触发方式 | 直接访问 URL | **点击按钮/链接打开 Sheet** |
|
|
485
484
|
| 选择返回 | 跳转页面 | **选择后点击确定关闭 Sheet,返回选中数据** |
|
|
486
485
|
| 宽度 | 全宽/自适应 | **固定宽度 (600-900px)** |
|
|
@@ -521,7 +520,7 @@ pointer-events: none;
|
|
|
521
520
|
|
|
522
521
|
```
|
|
523
522
|
┌──────────┬──────────────────────────────────────────────┤
|
|
524
|
-
│
|
|
523
|
+
│ OpSidebar │ PageHeader: 标题(18px/medium) │
|
|
525
524
|
│ │ ActionToolbar: [创建] + [搜索🔍] [高级筛选▾] │
|
|
526
525
|
│ │ ┌─── AdvancedFilterPanel ───────────────┐ │
|
|
527
526
|
│ │ │ 条件1: [Select] [Input] │ │
|
|
@@ -562,11 +561,11 @@ pointer-events: none;
|
|
|
562
561
|
- 筛选条件清空后,FilterTag 区域隐藏(display: none)
|
|
563
562
|
- 支持"清空全部"操作
|
|
564
563
|
|
|
565
|
-
#### 与
|
|
564
|
+
#### 与 OpPageContainer 模式对照
|
|
566
565
|
|
|
567
566
|
高级筛选列表使用 **模式D+**:
|
|
568
567
|
```
|
|
569
|
-
|
|
568
|
+
PageShell → OpSidebar + OpPageContainer → PageHeader + ActionToolbar + AdvancedFilterPanel(可展开) + DataTable + BulkActionBar + Pagination
|
|
570
569
|
```
|
|
571
570
|
|
|
572
571
|
#### 验证差异项
|
|
@@ -588,7 +587,7 @@ PageContainer → ContentWrapper → PageHeader + ActionToolbar + AdvancedFilter
|
|
|
588
587
|
| 共享规则 | 路径 | 被引用子类型 |
|
|
589
588
|
|----------|------|-------------|
|
|
590
589
|
| 表格列元规则 | `_shared/column-meta-rules.md` | standard, l2-sidebar, expandable, drawer, view-toggle(列表视图) |
|
|
591
|
-
| SearchCombo 规范 | `
|
|
590
|
+
| SearchCombo 规范 | `rules/common-components.json` → SearchCombo | 全部子类型 |
|
|
592
591
|
| 业务卡片三件套规格 | `_shared/item-card-spec.md` | pure-card, standard-card, view-toggle |
|
|
593
592
|
|
|
594
593
|
> v7.9 变更:操作列规范(原 `_shared/action-column-spec.md`)和状态-操作模式(原 `_shared/state-action-pattern.md`)已合并到本文件 §6、§7。
|
|
@@ -619,7 +618,7 @@ PageContainer → ContentWrapper → PageHeader + ActionToolbar + AdvancedFilter
|
|
|
619
618
|
|
|
620
619
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 四阶段读取决策树
|
|
621
620
|
- 阶段①:`page-types.json` + `business-mapping.json`
|
|
622
|
-
- 阶段②:`page-frame.json` + `
|
|
621
|
+
- 阶段②:`page-frame.json` + `page-flow.json` + `common-components.json`(SearchCombo);卡片子类型追加读取 `patterns/card-list.md`;OpenTrek 标准列表追加读取 `patterns/standard-list-opentrek.md`
|
|
623
622
|
- 阶段②.5:`products/{产品}/columns.json` + `states.json`
|
|
624
623
|
- 阶段③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `styling.json` + `../../boundaries.md` + `../../foundations.md`
|
|
625
624
|
|
|
@@ -635,8 +634,8 @@ PageContainer → ContentWrapper → PageHeader + ActionToolbar + AdvancedFilter
|
|
|
635
634
|
|
|
636
635
|
| 检查项 | 检查点 | 目标 |
|
|
637
636
|
|--------|--------|------|
|
|
638
|
-
| 嵌套结构 |
|
|
639
|
-
| Card 内左右对齐 | 非 Table 组件 padding = 0(由
|
|
637
|
+
| 嵌套结构 | PageShell → OpSidebar + OpPageContainer → PageHeader/ActionToolbar/DataTable/Pagination | 100% |
|
|
638
|
+
| Card 内左右对齐 | 非 Table 组件 padding = 0(由 OpPageContainer 内白卡 p-6 提供);Table 首末列 paddingX = 20px | 100% |
|
|
640
639
|
| 必需组件 | PageHeader、ActionToolbar、Pagination + 子类型组件 | 100% |
|
|
641
640
|
| 禁止组件 | 无内联编辑、拖拽排序、无限滚动、悬浮操作栏、右键菜单 | 0 个 |
|
|
642
641
|
| 操作可用性 | 状态-操作矩阵匹配(§7) | 所有状态正确 |
|