@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
|
@@ -42,10 +42,10 @@ description: >
|
|
|
42
42
|
| 属性 | 值 | 说明 |
|
|
43
43
|
|------|-----|------|
|
|
44
44
|
| layout.type | TWO_COL / SINGLE_COL | 见 `rules/page-frame.json` layoutSelectionRules |
|
|
45
|
-
| layout.frame | L2 | 详情页为 L2 级页面,自动继承
|
|
45
|
+
| layout.frame | L2 | 详情页为 L2 级页面,自动继承 OpSidebar + PageHeader 面包屑模式 |
|
|
46
46
|
| responsive | 768px 侧边栏折叠为抽屉,DescriptionList 列数从 4 降为 2 |
|
|
47
47
|
|
|
48
|
-
> **框架组件自动继承**:
|
|
48
|
+
> **框架组件自动继承**:OpSidebar、PageHeader 由 `rules/page-frame.json` 统一管理,L2 级页面自动继承。
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
@@ -55,7 +55,7 @@ description: >
|
|
|
55
55
|
|
|
56
56
|
| 组件 | 引用 | 层级 | 位置 | 说明 |
|
|
57
57
|
|------|------|------|------|------|
|
|
58
|
-
| PageHeader | — | ORGANISM | top | 面包屑模式 + 操作按钮组(详见
|
|
58
|
+
| PageHeader | — | ORGANISM | top | 面包屑模式 + 操作按钮组(详见 `common-components.json` → PageHeader) |
|
|
59
59
|
| DescriptionList | — | ORGANISM | center | 核心展示组件,支持 2/3/4 列布局 |
|
|
60
60
|
| DescriptionItem | — | ATOMIC | center | 单个键值对单元,6 种交互模式 |
|
|
61
61
|
|
|
@@ -86,7 +86,7 @@ description: >
|
|
|
86
86
|
| Form (ORGANISM) | 禁止在主内容区 | 编辑应通过 Sheet/Dialog/FormPage |
|
|
87
87
|
| DataTable | 禁止在主内容区 | 关联数据通过 Tabs 子面板展示 |
|
|
88
88
|
| Chart (ORGANISM) | 禁止替代 DescriptionList | 监控通过 ChartPanel,详见 patterns/monitor-detail.md |
|
|
89
|
-
| PageContainer | 禁止嵌套 | 见
|
|
89
|
+
| PageContainer / OpPageContainer | 禁止嵌套 | 见 page-frame.json |
|
|
90
90
|
| QueryFilter | 禁止出现 | 详情页无筛选需求 |
|
|
91
91
|
|
|
92
92
|
---
|
|
@@ -95,20 +95,19 @@ description: >
|
|
|
95
95
|
|
|
96
96
|
| 父子关系 | 状态 | 说明 |
|
|
97
97
|
|----------|------|------|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
| Card(白卡容器) → Card(白卡容器) | FORBID | 白卡容器为单例 |
|
|
98
|
+
| PageShell → OpSidebar + OpPageContainer | ALLOW | OpenTrek 标准页面框架(必需) |
|
|
99
|
+
| OpPageContainer → PageHeader | ALLOW | 标准结构(面包屑模式) |
|
|
100
|
+
| OpPageContainer → InfoCard | ALLOW | 摘要卡片 |
|
|
101
|
+
| OpPageContainer → Tabs | ALLOW | 分类 Tab |
|
|
102
|
+
| OpPageContainer → DescriptionList | ALLOW | 核心展示 |
|
|
103
|
+
| 跳过 OpPageContainer 直接挂载业务组件 | FORBID | 必须经过 OpPageContainer 包裹 |
|
|
104
|
+
| OpPageContainer → OpPageContainer | FORBID | 页面容器为单例 |
|
|
106
105
|
| DescriptionList → ListSection | ALLOW | 信息分组 |
|
|
107
106
|
| ListSection → DescriptionItem | ALLOW | 分组详情项 |
|
|
108
107
|
| Tabs → TabPane → DescriptionList | ALLOW | Tab 内展示详情 |
|
|
109
108
|
| Tabs → TabPane → DataTable | ALLOW | Tab 内展示关联资源 |
|
|
110
109
|
| PageHeader → ActionGroup | ALLOW | 操作按钮组 |
|
|
111
|
-
|
|
|
110
|
+
| OpSidebar → DescriptionList | FORBID | 描述列表不应在侧边栏 |
|
|
112
111
|
|
|
113
112
|
> 子类型特有嵌套约束见对应 `patterns/*.md`。
|
|
114
113
|
|
|
@@ -173,16 +172,16 @@ description: >
|
|
|
173
172
|
|
|
174
173
|
| 层级 | Token | 值 | 含义 |
|
|
175
174
|
|------|-------|----|------|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
175
|
+
| OpPageContainer 外层 | `py-5 pr-5` | **20px** | 上下/右 padding,左无 |
|
|
176
|
+
| OpPageContainer 内白卡 | `p-6` | **24px** | 内部统一内边距 |
|
|
178
177
|
| Card 内区块垂直间距 | `--card-gap` | 16px | 各区块纵向间距 |
|
|
179
178
|
| DescriptionList 内 | C26-DescriptionList | 见 component-specs.json | 行高与列宽 |
|
|
180
179
|
|
|
181
180
|
**派生约束**:
|
|
182
|
-
-
|
|
181
|
+
- OpPageContainer 内白卡 `p-6`(24px)统一提供内边距
|
|
183
182
|
- 子组件(DescriptionList / InfoCard / Tabs / PageHeader)**不再重复设置左右 padding**
|
|
184
183
|
|
|
185
|
-
### 7.2
|
|
184
|
+
### 7.2 OpPageContainer 内白卡表面规则(v7.6)
|
|
186
185
|
|
|
187
186
|
| 属性 | **v7.6(当前)** |
|
|
188
187
|
|------|----------------|
|
|
@@ -195,7 +194,7 @@ description: >
|
|
|
195
194
|
|
|
196
195
|
#### 模式 A:独立 Card 容器模式
|
|
197
196
|
|
|
198
|
-
|
|
197
|
+
跟随 OpPageContainer 内白卡应用 v7.6:`border: none` + `box-shadow: var(--shadow-sm)`
|
|
199
198
|
|
|
200
199
|
#### 模式 B:嵌入主卡内的分组区块模式
|
|
201
200
|
|
|
@@ -224,7 +223,7 @@ description: >
|
|
|
224
223
|
|
|
225
224
|
| 共享规则 | 路径 | 被引用子类型 |
|
|
226
225
|
|----------|------|-------------|
|
|
227
|
-
| PageHeader L1 标题 / L2 面包屑强约束 | `../../rules/
|
|
226
|
+
| PageHeader L1 标题 / L2 面包屑强约束 | `../../rules/common-components.json` → PageHeader | 全部 |
|
|
228
227
|
|
|
229
228
|
---
|
|
230
229
|
|
|
@@ -232,7 +231,7 @@ description: >
|
|
|
232
231
|
|
|
233
232
|
- **读取路径**:见根技能 `../../SKILL.md` §4.5 三阶段读取决策树
|
|
234
233
|
- 阶段①:`page-types.json` + `business-mapping.json`
|
|
235
|
-
- 阶段②:`page-frame.json` + `
|
|
234
|
+
- 阶段②:`page-frame.json` + `page-flow.json`;匹配子类型后追加 `patterns/{子类型}.md`
|
|
236
235
|
- 阶段③(生成 HTML 时):`design-tokens.json` + `design-tokens.css` + `component-specs.json` + `styling.json` + `../../boundaries.md` + `../../foundations.md`
|
|
237
236
|
|
|
238
237
|
> `rules/design-tokens.css` 是设计 Token 唯一真相源:生成 HTML 原型时需将 :root 变量块嵌入 `<style>`;React/TSX 需确保已 `@import` 引入。
|
|
@@ -246,13 +245,13 @@ description: >
|
|
|
246
245
|
| 检查项 | 检查点 | 目标 |
|
|
247
246
|
|--------|--------|------|
|
|
248
247
|
| 必需组件 | PageHeader、DescriptionList、DescriptionItem | 100% |
|
|
249
|
-
| 嵌套约束 |
|
|
248
|
+
| 嵌套约束 | PageShell → OpSidebar + OpPageContainer → PageHeader + 内容 | 无违规 |
|
|
250
249
|
| 禁止组件 | 无内联表单、DataTable 主内容区、QueryFilter | 0 个 |
|
|
251
|
-
| PageHeader |
|
|
252
|
-
| ContentCard 表面 (v7.6) |
|
|
250
|
+
| PageHeader | 面包屑模式合规(`common-components.json` → PageHeader.generationChecklist 16 项) | 全部通过 |
|
|
251
|
+
| ContentCard 表面 (v7.6) | OpPageContainer 内白卡无 1px border + shadow = var(--shadow-sm) | 0 违规 |
|
|
253
252
|
| InfoCard 表面 (v7.6) | 模式 A 跟随主卡;模式 B 仅 padding + border-bottom | 0 违规 |
|
|
254
|
-
| Card 间距 (v7.5) |
|
|
255
|
-
|
|
|
253
|
+
| Card 间距 (v7.5) | OpPageContainer 内白卡 p-6 (24px) | 正确 |
|
|
254
|
+
| OpPageContainer 间距 | padding = py-5 pr-5 (20px,左侧无 padding) | 正确 |
|
|
256
255
|
| 功能性分割线 | PageHeader / Tabs / Separator 的 border 保留 | 不被误删 |
|
|
257
256
|
| 操作按钮 | 前置条件、确认方式、异步处理 | 全部正确 |
|
|
258
257
|
| Tab 切换 | 懒加载、URL hash、Empty | 正确 |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 路由自 `../SKILL.md`
|
|
4
4
|
> 布局模式: 模式B + C 组合
|
|
5
5
|
> 核心组件: ApiEndpoint + ParameterTable + CodeBlock + DescriptionList
|
|
6
|
-
> PageHeader 规范: `../../../rules/
|
|
6
|
+
> PageHeader 规范: `../../../rules/common-components.json` → PageHeader
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -21,11 +21,7 @@
|
|
|
21
21
|
## 3. 标准布局骨架
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
|
|
25
|
-
↓
|
|
26
|
-
ContentWrapper
|
|
27
|
-
↓
|
|
28
|
-
Card(白卡容器)
|
|
24
|
+
PageShell → OpSidebar + OpPageContainer
|
|
29
25
|
├─ PageHeader (面包屑模式)
|
|
30
26
|
│ └─ 模型 API > API 列表 > 接口详情
|
|
31
27
|
│ [在线调试] [编辑] [×]
|
|
@@ -155,7 +151,7 @@ Card(白卡容器)
|
|
|
155
151
|
|
|
156
152
|
| 验证项 | 检查点 | 目标 |
|
|
157
153
|
|--------|--------|------|
|
|
158
|
-
| PageHeader | 面包屑模式合规(见 `
|
|
154
|
+
| PageHeader | 面包屑模式合规(见 `common-components.json` → PageHeader.generationChecklist) | 16 项全部通过 |
|
|
159
155
|
| ApiEndpoint | 方法 Badge 颜色正确,容器高度 48px | 正确 |
|
|
160
156
|
| ParameterTable | 嵌套缩进 24px/层,最多 3 层 | 正确 |
|
|
161
157
|
| CodeBlock | 多语言 Tab 切换,复制功能正常 | 正确 |
|
|
@@ -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 正确 | 全部正确 |
|