@teamix-evo/skills 0.5.0 → 0.6.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/package.json +2 -2
- package/src/teamix-evo-design-opentrek/SKILL.md +210 -42
- package/src/teamix-evo-design-opentrek/boundaries.md +3 -3
- package/src/teamix-evo-design-opentrek/components.md +41 -40
- package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-1.html +1069 -0
- package/src/teamix-evo-design-opentrek/examples/detail-ai-gateway-instance.html +941 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-api-doc.html +906 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-config.html +993 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page-monitor.html +1339 -0
- package/src/teamix-evo-design-opentrek/examples/detail-page.html +933 -0
- package/src/teamix-evo-design-opentrek/examples/settings-page.html +1119 -0
- package/src/teamix-evo-design-opentrek/examples/standard-card-list.html +1094 -0
- package/src/teamix-evo-design-opentrek/examples/standard-table-list.html +1361 -0
- package/src/teamix-evo-design-opentrek/examples/wizard-form-page.html +877 -0
- package/src/teamix-evo-design-opentrek/flows.md +85 -12
- package/src/teamix-evo-design-opentrek/foundations.md +9 -9
- package/src/teamix-evo-design-opentrek/generation-flow.md +15 -3
- package/src/teamix-evo-design-opentrek/pages/detail-page/SKILL.md +260 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/api-doc-detail.md +163 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/comparison-detail.md +100 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/monitor-detail.md +190 -0
- package/src/teamix-evo-design-opentrek/pages/detail-page/patterns/resource-detail.md +148 -0
- package/src/teamix-evo-design-opentrek/pages/form-page/SKILL.md +362 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/SKILL.md +286 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/action-column-spec.md +60 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/column-meta-rules.md +117 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/search-combo-spec.md +194 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/_shared/state-action-pattern.md +51 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/advanced-filter-list.md +94 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/card-list.md +558 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/drawer-list.md +76 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/expandable-list.md +70 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/l2-sidebar-list.md +73 -0
- package/src/teamix-evo-design-opentrek/pages/list-page/patterns/standard-list.md +198 -0
- package/src/teamix-evo-design-opentrek/patterns/color-mapping.md +1 -1
- package/src/teamix-evo-design-opentrek/patterns/detail-page.md +217 -152
- package/src/teamix-evo-design-opentrek/patterns/form-page.md +437 -231
- package/src/teamix-evo-design-opentrek/patterns/list-page.md +220 -292
- package/src/teamix-evo-design-opentrek/patterns/page-types.md +40 -130
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AGENT RUNTIME.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI GATEWAY.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_AI STUDIO.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_DEV-2.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_LOGO.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/_assets/OP_OPS.svg +1 -0
- package/src/teamix-evo-design-opentrek/rules/boundaries.rules.json +3 -3
- package/src/teamix-evo-design-opentrek/rules/business-mapping.json +124 -0
- package/src/teamix-evo-design-opentrek/rules/common-components.json +924 -0
- package/src/teamix-evo-design-opentrek/rules/component-specs.json +1083 -0
- package/src/teamix-evo-design-opentrek/rules/design-tokens.css +433 -0
- package/src/teamix-evo-design-opentrek/rules/design-tokens.json +2798 -0
- package/src/teamix-evo-design-opentrek/rules/layout-rules.json +218 -0
- package/src/teamix-evo-design-opentrek/rules/page-flow.json +351 -0
- package/src/teamix-evo-design-opentrek/rules/page-frame.json +241 -0
- package/src/teamix-evo-design-opentrek/rules/page-header-spec.md +123 -0
- package/src/teamix-evo-design-opentrek/rules/page-types.json +206 -0
- package/src/teamix-evo-design-opentrek/rules/sidebar-spec.md +217 -0
- package/src/teamix-evo-design-opentrek/rules/styling.json +188 -0
- package/src/teamix-evo-design-opentrek/rules/token-mapping.md +284 -0
- package/src/teamix-evo-design-uni-manager/SKILL.md +1 -1
- package/src/teamix-evo-design-uni-manager/boundaries.md +3 -3
- package/src/teamix-evo-design-uni-manager/brand.md +1 -1
- package/src/teamix-evo-design-uni-manager/components.md +30 -28
- package/src/teamix-evo-design-uni-manager/foundations.md +21 -21
- package/src/teamix-evo-design-uni-manager/generation-flow.md +3 -1
- package/src/teamix-evo-design-uni-manager/patterns/detail-page.md +1 -1
- package/src/teamix-evo-design-uni-manager/patterns/form-page.md +18 -18
- package/src/teamix-evo-design-uni-manager/patterns/list-page.md +29 -29
- package/src/teamix-evo-design-uni-manager/patterns/page-types.md +11 -11
- package/src/teamix-evo-design-uni-manager/philosophy.md +1 -1
- package/src/teamix-evo-design-uni-manager/rules/boundaries.rules.json +3 -3
- package/src/teamix-evo-design-opentrek/patterns/sidebar.md +0 -122
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# 对比型详情页 (comparison-detail)
|
|
2
|
+
|
|
3
|
+
> 路由自 `../SKILL.md`
|
|
4
|
+
> 布局模式: 模式B
|
|
5
|
+
> 核心组件: PageHeader(面包屑) + 双栏/多栏 DescriptionList
|
|
6
|
+
> PageHeader 规范: `../../../rules/page-header-spec.md`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 识别关键词
|
|
11
|
+
|
|
12
|
+
`"对比"` / `"比较"` / `"差异"` / `"版本对比"` / `"规格对比"`
|
|
13
|
+
|
|
14
|
+
## 2. 核心特征
|
|
15
|
+
|
|
16
|
+
- 双栏或多栏 DescriptionList 并列对照
|
|
17
|
+
- 高亮差异项(字段值不同时标记)
|
|
18
|
+
- 适用场景:版本对比、规格对比、配置变更前后对照
|
|
19
|
+
|
|
20
|
+
## 3. 标准布局骨架
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
PageContainer
|
|
24
|
+
↓
|
|
25
|
+
ContentWrapper
|
|
26
|
+
↓
|
|
27
|
+
Card(白卡容器)
|
|
28
|
+
├─ PageHeader (面包屑模式)
|
|
29
|
+
│ └─ 配置管理 > 版本对比
|
|
30
|
+
│ [应用版本B] [返回]
|
|
31
|
+
│
|
|
32
|
+
├─ ComparisonHeader — 对比标题栏
|
|
33
|
+
│ └─ [版本 A (当前)] vs [版本 B (待应用)]
|
|
34
|
+
│
|
|
35
|
+
├─ DescriptionList (双栏对照模式)
|
|
36
|
+
│ ┌───────────────────┬───────────────────┐
|
|
37
|
+
│ │ 字段名 版本 A │ 字段名 版本 B │
|
|
38
|
+
│ ├───────────────────┼───────────────────┤
|
|
39
|
+
│ │ 实例规格 2C4G │ 实例规格 4C8G ★ │ ← 差异高亮
|
|
40
|
+
│ │ 存储空间 100GB │ 存储空间 200GB ★ │
|
|
41
|
+
│ │ 网络类型 VPC │ 网络类型 VPC │ ← 相同项
|
|
42
|
+
│ │ 备份策略 自动 │ 备份策略 手动 ★ │
|
|
43
|
+
│ └───────────────────┴───────────────────┘
|
|
44
|
+
│
|
|
45
|
+
└─ (无 Footer)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 4. 必需组件
|
|
49
|
+
|
|
50
|
+
| 组件 | 说明 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| PageHeader | 面包屑模式 |
|
|
53
|
+
| DescriptionList | 双栏对照展示 |
|
|
54
|
+
| DescriptionItem | 键值对单元 |
|
|
55
|
+
|
|
56
|
+
## 5. 条件组件
|
|
57
|
+
|
|
58
|
+
| 组件 | 条件 | 说明 |
|
|
59
|
+
|------|------|------|
|
|
60
|
+
| Badge | 标记差异项 | “已变更” 标识 |
|
|
61
|
+
| Tooltip | 字段悬浮提示 | — |
|
|
62
|
+
| Alert | 变更影响说明 | 顶部警告 |
|
|
63
|
+
| ConfigDiff | 配置文件级对比 | 代码级 diff 展示(详规格见 `resource-detail.md` §7) |
|
|
64
|
+
|
|
65
|
+
## 6. 差异高亮规则
|
|
66
|
+
|
|
67
|
+
| 场景 | 视觉处理 |
|
|
68
|
+
|------|----------|
|
|
69
|
+
| 字段值不同 | 变更后值使用 `hsl(var(--primary))` 颜色 + 右侧 ★ 标记 |
|
|
70
|
+
| 字段新增 | 背景 `hsl(var(--success-bg))` + Badge "新增" |
|
|
71
|
+
| 字段删除 | 文字 `hsl(var(--destructive))` + 删除线 |
|
|
72
|
+
| 字段相同 | 默认样式,无特殊标记 |
|
|
73
|
+
|
|
74
|
+
## 7. 交互规范
|
|
75
|
+
|
|
76
|
+
| 操作 | 触发方式 | 行为 |
|
|
77
|
+
|------|---------|------|
|
|
78
|
+
| 应用变更 | 点击 PageHeader "应用版本B" | Dialog 确认 → 执行变更 |
|
|
79
|
+
| 返回 | 点击面包屑/返回按钮 | 返回原页面 |
|
|
80
|
+
| 仅查看差异 | Toggle 开关 | 隐藏相同项,仅显示差异行 |
|
|
81
|
+
| 展开详情 | 点击 DescriptionItem | 展开字段变更说明 |
|
|
82
|
+
|
|
83
|
+
## 8. 嵌套约束
|
|
84
|
+
|
|
85
|
+
| 父子关系 | 状态 | 说明 |
|
|
86
|
+
|----------|------|------|
|
|
87
|
+
| Card → DescriptionList(双栏) | ✅ ALLOW | 并列对照 |
|
|
88
|
+
| Card → ConfigDiff | ✅ ALLOW | 代码级 diff |
|
|
89
|
+
| DescriptionList → DescriptionList | ❌ FORBID | 不嵌套 |
|
|
90
|
+
|
|
91
|
+
## 9. 验证清单
|
|
92
|
+
|
|
93
|
+
> 通用检查项见 `../../../docs/validation-workflow.md`。此处仅列出对比型详情模式差异项。
|
|
94
|
+
|
|
95
|
+
| 验证项 | 检查点 | 目标 |
|
|
96
|
+
|--------|--------|------|
|
|
97
|
+
| PageHeader | 面包屑模式合规(见 `rules/page-header-spec.md`) | 15 项全部通过 |
|
|
98
|
+
| 双栏对齐 | 两栏宽度相等,字段名对齐 | 正确 |
|
|
99
|
+
| 差异高亮 | 变更项有明确视觉标识 | 正确 |
|
|
100
|
+
| 仅差异视图 | Toggle 后隐藏相同项 | 正确 |
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# 监控详情页 (monitor-detail)
|
|
2
|
+
|
|
3
|
+
> 路由自 `../SKILL.md`
|
|
4
|
+
> 布局模式: 模式B + C 组合
|
|
5
|
+
> 核心组件: MetricCard + ChartPanel + AlertList + TimeRangeSelector
|
|
6
|
+
> PageHeader 规范: `../../../rules/page-header-spec.md`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 识别关键词
|
|
11
|
+
|
|
12
|
+
`"监控"` / `"指标"` / `"性能"` / `"告警"` / `"Metrics"` / `"Dashboard"`
|
|
13
|
+
|
|
14
|
+
## 2. 核心特征
|
|
15
|
+
|
|
16
|
+
- MetricCard 指标卡(请求量/成功率/延迟/Token消耗)
|
|
17
|
+
- ChartPanel 图表面板(折线图/柱状图/面积图)
|
|
18
|
+
- AlertList 告警列表
|
|
19
|
+
- TimeRangeSelector 时间范围选择
|
|
20
|
+
- **代表场景**:实例监控、模型调用监控、MCP 监控、服务健康度
|
|
21
|
+
|
|
22
|
+
## 3. 标准布局骨架
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
PageContainer
|
|
26
|
+
↓
|
|
27
|
+
ContentWrapper
|
|
28
|
+
↓
|
|
29
|
+
Card(白卡容器)
|
|
30
|
+
├─ PageHeader (面包屑模式)
|
|
31
|
+
│ └─ 实例管理 > 实例详情 > 监控
|
|
32
|
+
│ [TimeRangeSelector] [⟳ 刷新]
|
|
33
|
+
│
|
|
34
|
+
├─ MetricCard Row (× 4)
|
|
35
|
+
│ └─ [请求总量 12.5K ↑23%] [成功率 99.2% ↑] [平均延迟 128ms ↓] [Token消耗 1.2M ↑]
|
|
36
|
+
│
|
|
37
|
+
├─ ChartPanel — 全宽请求趋势图
|
|
38
|
+
│ └─ 折线图: X=时间 Y=请求数
|
|
39
|
+
│
|
|
40
|
+
├─ Tabs
|
|
41
|
+
│ ├─ 性能指标
|
|
42
|
+
│ │ └─ ChartPanel Grid (2×2)
|
|
43
|
+
│ │ ├─ 延迟分布(柱状图)
|
|
44
|
+
│ │ ├─ 吞吐量(折线图)
|
|
45
|
+
│ │ ├─ 错误率(面积图)
|
|
46
|
+
│ │ └─ Token 消耗(折线图)
|
|
47
|
+
│ ├─ 告警记录
|
|
48
|
+
│ │ └─ AlertList — 告警列表 + 严重度标识
|
|
49
|
+
│ └─ 调用明细
|
|
50
|
+
│ └─ DataTable — 最近调用记录(时间/模型/状态/延迟/Token)
|
|
51
|
+
│
|
|
52
|
+
└─ (无 Footer)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 4. 必需组件
|
|
56
|
+
|
|
57
|
+
| 组件 | 引用 | 说明 |
|
|
58
|
+
|------|------|------|
|
|
59
|
+
| PageHeader | — | 面包屑模式 |
|
|
60
|
+
| MetricCard | — | 关键指标数值展示 |
|
|
61
|
+
| ChartPanel | — | 图表容器 |
|
|
62
|
+
| TimeRangeSelector | — | 时间范围快捷选择 |
|
|
63
|
+
|
|
64
|
+
## 5. 条件组件
|
|
65
|
+
|
|
66
|
+
| 组件 | 引用 | 条件 | 说明 |
|
|
67
|
+
|------|------|------|------|
|
|
68
|
+
| Tabs | — | 多维度监控时 | 性能指标/告警/调用明细 |
|
|
69
|
+
| AlertList | — | 有告警功能时 | 告警事件列表 |
|
|
70
|
+
| DataTable | — | 仅在 Tab 内 | 调用明细表 |
|
|
71
|
+
| Badge | — | 状态标识 | — |
|
|
72
|
+
| Tooltip | — | 数据点提示 | — |
|
|
73
|
+
| Skeleton | — | 加载态 | — |
|
|
74
|
+
|
|
75
|
+
## 6. 嵌套约束
|
|
76
|
+
|
|
77
|
+
| 父子关系 | 状态 | 说明 |
|
|
78
|
+
|----------|------|------|
|
|
79
|
+
| Card → MetricCard Row | ✅ ALLOW | 紧跟 PageHeader 之后,横排 |
|
|
80
|
+
| Card → ChartPanel | ✅ ALLOW | 全宽图表 |
|
|
81
|
+
| Tabs → ChartPanel Grid | ✅ ALLOW | Tab 内 2×2 图表网格 |
|
|
82
|
+
| Tabs → AlertList | ✅ ALLOW | Tab 内告警列表 |
|
|
83
|
+
| Tabs → DataTable | ✅ ALLOW | Tab 内调用明细表 |
|
|
84
|
+
| MetricCard → ChartPanel | ❌ FORBID | MetricCard 为原子卡片 |
|
|
85
|
+
| ChartPanel → ChartPanel | ❌ FORBID | 不可嵌套 |
|
|
86
|
+
|
|
87
|
+
## 7. 交互规范
|
|
88
|
+
|
|
89
|
+
| 操作 | 触发方式 | 行为 |
|
|
90
|
+
|------|---------|------|
|
|
91
|
+
| 切换时间范围 | 点击 TimeRangeSelector | 全页数据刷新(MetricCard + Chart + AlertList) |
|
|
92
|
+
| 刷新数据 | 点击刷新按钮 | 当前时间范围内全量刷新 |
|
|
93
|
+
| 图表缩放 | 拖拽选区 / 滚轮 | 局部放大时间段 |
|
|
94
|
+
| 查看告警详情 | 点击 AlertList 条目 | 展开告警详情(Sheet 或内联展开) |
|
|
95
|
+
| 确认告警 | 点击确认按钮 | Dialog 确认 → 告警状态变更 |
|
|
96
|
+
| 导出数据 | 点击图表右上角导出 | 导出 CSV/PNG |
|
|
97
|
+
|
|
98
|
+
## 8. 边界情况
|
|
99
|
+
|
|
100
|
+
| 场景 | 处理方式 |
|
|
101
|
+
|------|----------|
|
|
102
|
+
| 无监控数据 | ChartPanel 展示 Empty + "等待数据上报" |
|
|
103
|
+
| 数据加载中 | MetricCard 骨架屏 + ChartPanel Skeleton |
|
|
104
|
+
| 时间范围无数据 | 图表展示空折线 + "所选时间段无数据" |
|
|
105
|
+
| 告警列表为空 | AlertList 展示 "暂无告警,一切正常 ✓" |
|
|
106
|
+
| 指标异常 | MetricCard 值变红 + 闪烁提示 |
|
|
107
|
+
| 图表数据点过多 | 自动聚合(1h→分钟级, 7d→小时级) |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 9. 专用业务组件规格
|
|
112
|
+
|
|
113
|
+
### MetricCard — 指标数据卡
|
|
114
|
+
|
|
115
|
+
| 属性 | 规格 |
|
|
116
|
+
|------|------|
|
|
117
|
+
| **用途** | 单个关键指标数值展示 |
|
|
118
|
+
| **卡片尺寸** | flex: 1, 最小宽度 200px, 高度 96px |
|
|
119
|
+
| **内边距** | 16px 20px |
|
|
120
|
+
| **背景** | `hsl(var(--gray-muted))` |
|
|
121
|
+
| **圆角** | `var(--radius-md)` = 8px |
|
|
122
|
+
| **标题** | 12px/400, `hsl(var(--muted-foreground))` |
|
|
123
|
+
| **数值** | 24px/600, `hsl(var(--gray-primary))` |
|
|
124
|
+
| **单位** | 14px/400, `hsl(var(--muted-foreground))`,紧跟数值 |
|
|
125
|
+
| **趋势箭头** | ↑=`hsl(var(--success))`, ↓=`hsl(var(--destructive))`, →=`hsl(var(--muted-foreground))` |
|
|
126
|
+
| **趋势百分比** | 12px,颜色同箭头 |
|
|
127
|
+
| **迷你图(sparkline)** | 底部可选,高度 24px,线宽 1.5px,颜色同趋势 |
|
|
128
|
+
| **横排布局** | `display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px` |
|
|
129
|
+
| **响应式** | ≤1200px: repeat(2, 1fr),≤768px: 1fr |
|
|
130
|
+
|
|
131
|
+
### ChartPanel — 图表面板
|
|
132
|
+
|
|
133
|
+
| 属性 | 规格 |
|
|
134
|
+
|------|------|
|
|
135
|
+
| **用途** | 图表容器(折线图/柱状图/面积图) |
|
|
136
|
+
| **容器高度** | 全宽单图 280px,Grid 内 220px |
|
|
137
|
+
| **内边距** | 16px |
|
|
138
|
+
| **背景** | transparent(继承 Card 背景) |
|
|
139
|
+
| **圆角** | `var(--radius-md)` = 8px(有背景时) |
|
|
140
|
+
| **标题栏** | 上方,14px/500 标题 + 右侧操作(导出/全屏) |
|
|
141
|
+
| **坐标轴文字** | 11px, `hsl(var(--muted-foreground))` |
|
|
142
|
+
| **网格线** | `hsl(var(--gray-line))`, 虚线, 0.5px |
|
|
143
|
+
| **折线颜色** | `hsl(var(--primary))` 主线,多线时从调色板取 |
|
|
144
|
+
| **Loading 态** | Skeleton 占位,脉冲动画 |
|
|
145
|
+
| **Empty 态** | 居中 "暂无数据" + 图表图标 |
|
|
146
|
+
| **Grid 布局** | `display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px` |
|
|
147
|
+
|
|
148
|
+
### AlertList — 告警列表
|
|
149
|
+
|
|
150
|
+
| 属性 | 规格 |
|
|
151
|
+
|------|------|
|
|
152
|
+
| **用途** | 告警事件列表展示 |
|
|
153
|
+
| **条目高度** | 最小 56px |
|
|
154
|
+
| **条目内边距** | 12px 16px |
|
|
155
|
+
| **条目间距** | 无间距,用 border-bottom 分隔 |
|
|
156
|
+
| **严重度图标** | 左侧 20px 圆点 — Critical=`hsl(var(--destructive))`红, Warning=`hsl(var(--warning))`橙, Info=`hsl(var(--primary))`蓝 |
|
|
157
|
+
| **标题** | 13px/500, `hsl(var(--gray-primary))` |
|
|
158
|
+
| **时间** | 12px/400, `hsl(var(--muted-foreground))` |
|
|
159
|
+
| **描述** | 12px/400, `hsl(var(--gray-secondary-foreground))`,最多 2 行 |
|
|
160
|
+
| **操作** | 右侧 "确认" 按钮(Ghost),hover 显示 |
|
|
161
|
+
| **空态** | "暂无告警,系统运行正常" + 绿色 ✓ 图标 |
|
|
162
|
+
|
|
163
|
+
### TimeRangeSelector — 时间范围选择器
|
|
164
|
+
|
|
165
|
+
| 属性 | 规格 |
|
|
166
|
+
|------|------|
|
|
167
|
+
| **用途** | 时间范围快捷选择 + 自定义范围 |
|
|
168
|
+
| **容器形式** | SegmentedControl 样式(连续按钮组) |
|
|
169
|
+
| **高度** | 32px |
|
|
170
|
+
| **预设选项** | 1h / 6h / 24h / 7d / 30d |
|
|
171
|
+
| **选项字号** | 12px/500 |
|
|
172
|
+
| **选中态** | 背景 `hsl(var(--primary))`, 文字白色 |
|
|
173
|
+
| **未选中态** | 背景 transparent, 文字 `hsl(var(--gray-secondary-foreground))` |
|
|
174
|
+
| **圆角** | `var(--radius-md)` = 8px(外层),内部按钮无圆角(首尾除外) |
|
|
175
|
+
| **自定义范围** | 最右侧日历图标,点击弹出 DateRangePicker |
|
|
176
|
+
| **位置** | PageHeader 右侧,与刷新按钮同行 |
|
|
177
|
+
|
|
178
|
+
## 10. 验证清单
|
|
179
|
+
|
|
180
|
+
> 通用检查项见 `../../../docs/validation-workflow.md`。此处仅列出监控详情模式差异项。
|
|
181
|
+
|
|
182
|
+
| 验证项 | 检查点 | 目标 |
|
|
183
|
+
|--------|--------|------|
|
|
184
|
+
| PageHeader | 面包屑模式合规(见 `rules/page-header-spec.md`) | 15 项全部通过 |
|
|
185
|
+
| MetricCard 横排 | grid 4列布局,gap 12px | 正确 |
|
|
186
|
+
| TimeRangeSelector | PageHeader 右侧,SegmentedControl 样式 | 正确 |
|
|
187
|
+
| ChartPanel Grid | 2×2 网格,gap 16px | 正确 |
|
|
188
|
+
| 时间切换联动 | 切换后全页数据刷新 | 正确 |
|
|
189
|
+
| 告警严重度 | Critical=红, Warning=橙, Info=蓝 | 正确 |
|
|
190
|
+
| 空态处理 | 无数据时各组件正确降级 | 正确 |
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# 资源详情页 (resource-detail)
|
|
2
|
+
|
|
3
|
+
> 路由自 `../SKILL.md`
|
|
4
|
+
> 布局模式: 模式B + C 组合(Card 分组 + Tabs 分组)
|
|
5
|
+
> 核心组件: PageHeader(面包屑) + InfoCard + DescriptionList + Tabs
|
|
6
|
+
> PageHeader 规范: `../../../rules/page-header-spec.md`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 识别关键词
|
|
11
|
+
|
|
12
|
+
`"实例详情"` / `"资源"` / `"详情"` / `"查看"` / `"信息"`
|
|
13
|
+
|
|
14
|
+
## 2. 核心特征
|
|
15
|
+
|
|
16
|
+
- InfoCard 顶部摘要(组织/资源集/创建人/创建时间)
|
|
17
|
+
- ChartPanel 监控概览(可选;规格遵循 monitor-detail.md §9)
|
|
18
|
+
- Tabs 多维度信息切换(实例详情/监控/云盘/安全组/快照等)
|
|
19
|
+
- DescriptionList 结构化键值对展示
|
|
20
|
+
- 操作按钮组(编辑/删除/续费/更多)
|
|
21
|
+
|
|
22
|
+
## 3. 标准布局骨架(含 Sidebar)
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
┌──────────┬──────────────────────────────────────────────┐
|
|
26
|
+
│ │ PageContainer │
|
|
27
|
+
│ Sidebar │ ┌─ Card(白卡容器) ───────────────────────┐ │
|
|
28
|
+
│ │ │ PageHeader (仅面包屑,禁止标题) │ │
|
|
29
|
+
│ │ │ 实例与镜像 > 实例列表 > 实例详情 │ │
|
|
30
|
+
│ │ │ [创建镜像] [续费] [更多] [×] │ │
|
|
31
|
+
│ │ │ InfoCard ─ 基本信息 │ │
|
|
32
|
+
│ │ │ 组织 | 资源集 | 创建人 | 创建时间 │ │
|
|
33
|
+
│ │ │ InfoCard ─ 监控 │ │
|
|
34
|
+
│ │ │ [CPU使用率折线图] [内存使用率折线图] │ │
|
|
35
|
+
│ │ │ Tabs │ │
|
|
36
|
+
│ │ │ [实例详情] [监控] [云盘] [安全组] [快照] │ │
|
|
37
|
+
│ │ │ DescriptionList ─ 基本信息 │ │
|
|
38
|
+
│ │ │ 架构: X86 地域: cn-beijing │ │
|
|
39
|
+
│ │ │ 实例ID: i-xxx 实例名称: test-ecs │ │
|
|
40
|
+
│ │ │ 实例规格: ecs.c6.large 状态: 运行中 │ │
|
|
41
|
+
│ │ │ DescriptionList ─ 配置信息 │ │
|
|
42
|
+
│ │ │ vCPU: 2 内存: 4 GiB │ │
|
|
43
|
+
│ │ │ 系统盘: 高效云盘 40GiB OS: Linux 3... │ │
|
|
44
|
+
│ │ │ DescriptionList ─ 网络信息 │ │
|
|
45
|
+
│ │ │ VPC: vpc-xxx 交换机: vsw-xxx │ │
|
|
46
|
+
│ │ │ 私有IP: 172.16.x.x EIP: eip-xxx │ │
|
|
47
|
+
│ │ └────────────────────────────────────────┘ │
|
|
48
|
+
└──────────┴──────────────────────────────────────────────┘
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 4. 简洁模式(无 Sidebar)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
┌─────────────────────────────────────────────────────────┐
|
|
55
|
+
│ ┌─ Card(白卡容器) ──────────────────────────────────┐ │
|
|
56
|
+
│ │ PageHeader (仅面包屑,禁止标题) │ │
|
|
57
|
+
│ │ 用户列表 > 张三 [编辑] [删除] │ │
|
|
58
|
+
│ │ DescriptionList (column: 2) │ │
|
|
59
|
+
│ │ 姓名: 张三 邮箱: zhangsan@example.com │ │
|
|
60
|
+
│ │ 角色: 管理员 状态: 启用 │ │
|
|
61
|
+
│ │ 创建时间: 2026-01-15 更新时间: 2026-04-20 │ │
|
|
62
|
+
│ └───────────────────────────────────────────────────┘ │
|
|
63
|
+
└─────────────────────────────────────────────────────────┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 5. 必需组件
|
|
67
|
+
|
|
68
|
+
| 组件 | 引用 | 位置 | 说明 |
|
|
69
|
+
|------|------|------|------|
|
|
70
|
+
| PageHeader | — | top | 面包屑模式 + 操作按钮组 |
|
|
71
|
+
| DescriptionList | — | center | 核心展示组件,支持 2/3/4 列 |
|
|
72
|
+
| DescriptionItem | — | center | 单个键值对单元 |
|
|
73
|
+
|
|
74
|
+
## 6. 条件组件
|
|
75
|
+
|
|
76
|
+
| 组件 | 引用 | 条件 | 说明 |
|
|
77
|
+
|------|------|------|------|
|
|
78
|
+
| InfoCard | — | 需展示摘要信息 | 顶部摘要(组织/资源集/创建人) |
|
|
79
|
+
| Tabs | — | 信息分多类展示 | 实例详情/监控/云盘等 Tab |
|
|
80
|
+
| ChartPanel | — | 资源详情页监控区 | CPU/内存/网络监控图表(详规格见 `monitor-detail.md` §9) |
|
|
81
|
+
| StatCard | — | 详情页概览区 | 三段式统计卡(label/value/subtitle) |
|
|
82
|
+
| OverviewStatGrid | — | 多张 StatCard | StatCard 响应式网格容器 |
|
|
83
|
+
|
|
84
|
+
## 7. 专用业务组件
|
|
85
|
+
|
|
86
|
+
### ConfigDiff — 配置对比
|
|
87
|
+
|
|
88
|
+
| 属性 | 规格 |
|
|
89
|
+
|------|------|
|
|
90
|
+
| **用途** | 两个配置版本的 diff 对比展示 |
|
|
91
|
+
| **模式** | inline(单栏标记差异) / split(双栏并排) |
|
|
92
|
+
| **默认模式** | split |
|
|
93
|
+
| **容器高度** | 自适应内容,最大 600px(超出滚动) |
|
|
94
|
+
| **添加行背景** | `hsl(var(--success-bg))` |
|
|
95
|
+
| **删除行背景** | `hsl(0 72% 96%)` (浅红) |
|
|
96
|
+
| **行号** | 双栏各自独立行号 |
|
|
97
|
+
| **顶部信息栏** | 左=旧版本号+时间,右=新版本号+时间,高度 36px |
|
|
98
|
+
| **字体** | monospace, 13px |
|
|
99
|
+
| **统计栏** | 底部显示 "+N行 / -M行" |
|
|
100
|
+
|
|
101
|
+
### VersionHistory — 版本历史
|
|
102
|
+
|
|
103
|
+
| 属性 | 规格 |
|
|
104
|
+
|------|------|
|
|
105
|
+
| **用途** | 版本变更时间线,支持回滚操作 |
|
|
106
|
+
| **布局** | 垂直时间线(左侧圆点 + 连线 + 右侧内容) |
|
|
107
|
+
| **时间线圆点** | 8px 圆,当前版本=`hsl(var(--primary))`,历史=`hsl(var(--gray-line))` |
|
|
108
|
+
| **连线** | 1px solid `hsl(var(--gray-line))`,圆点间距 |
|
|
109
|
+
| **条目高度** | 最小 56px |
|
|
110
|
+
| **条目内容** | 版本号(14px/500) + 操作人 + 时间(12px/--muted-foreground) + 变更摘要 |
|
|
111
|
+
| **回滚按钮** | hover 时显示,Ghost 样式,12px "回滚到此版本" |
|
|
112
|
+
| **当前版本标记** | Badge "当前" (primary 色) |
|
|
113
|
+
| **紧凑模式** | compact=true 时条目高度 40px,隐藏变更摘要 |
|
|
114
|
+
|
|
115
|
+
## 8. 嵌套约束(资源详情页特有)
|
|
116
|
+
|
|
117
|
+
| 父子关系 | 状态 | 说明 |
|
|
118
|
+
|----------|------|------|
|
|
119
|
+
| Card → InfoCard | ✅ ALLOW | 摘要卡片 |
|
|
120
|
+
| Card → Tabs | ✅ ALLOW | 分类 Tab |
|
|
121
|
+
| InfoCard → DescriptionList | ✅ ALLOW | 摘要区基本信息 |
|
|
122
|
+
| InfoCard → ChartPanel | ✅ ALLOW | 摘要区监控图表(详规格见 monitor-detail.md §9) |
|
|
123
|
+
| Tabs → TabPane → DescriptionList | ✅ ALLOW | Tab 内展示详情 |
|
|
124
|
+
| Tabs → TabPane → DataTable | ✅ ALLOW | Tab 内展示关联资源列表 |
|
|
125
|
+
|
|
126
|
+
## 9. 与 PageContainer 模式对照
|
|
127
|
+
|
|
128
|
+
资源详情页使用 **模式B(Card 分组)+ 模式C(Tabs 分组)组合**:
|
|
129
|
+
```
|
|
130
|
+
PageContainer → ContentWrapper → Card → PageHeader(面包屑模式) + InfoCard + Tabs → TabPane[DescriptionList]
|
|
131
|
+
```
|
|
132
|
+
简洁详情页退化为 **模式B**:
|
|
133
|
+
```
|
|
134
|
+
PageContainer → ContentWrapper → Card → PageHeader(面包屑模式) + DescriptionList
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 10. 验证清单
|
|
138
|
+
|
|
139
|
+
> 通用检查项见 `../../../docs/validation-workflow.md`。此处仅列出资源详情模式差异项。
|
|
140
|
+
|
|
141
|
+
| 验证项 | 检查点 | 目标 |
|
|
142
|
+
|--------|--------|------|
|
|
143
|
+
| PageHeader | 面包屑模式合规(见 `rules/page-header-spec.md`) | 15 项全部通过 |
|
|
144
|
+
| InfoCard 表面 | 独立 Card 模式跟随 v7.6;嵌入模式仅 padding + border-bottom | 正确 |
|
|
145
|
+
| ChartPanel | 资源页嵌入监控图表时遵循 monitor-detail.md §9 规格 | 正确 |
|
|
146
|
+
| DescriptionList | 列数(默认2)、字段截断+Tooltip、空值"-"占位 | 正确 |
|
|
147
|
+
| Tab 切换 | 懒加载、URL hash 同步、Empty 状态 | 正确 |
|
|
148
|
+
| 返回约定 | 面包屑父级项可点击返回 + 关闭按钮(×) | 正确 |
|