@agile-team/wl-skills-kit 2.1.6 → 2.1.8
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 +13 -10
- package/bin/wl-skills.js +1 -1
- package/files/.github/copilot-instructions.md +3 -3
- package/files/.github/guides/architecture.md +1 -1
- package/files/.github/skills/_registry.md +4 -4
- package/files/.github/skills/core/convention-audit/SKILL.md +1 -1
- package/files/.github/skills/ops/code-fix/SKILL.md +96 -0
- package/files/.github/skills/sync/menu-sync/env/guide.md +23 -7
- package/files/.github/standards/12-base-table.md +25 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@agile-team/wl-skills-kit)
|
|
4
4
|
|
|
5
|
-
**AI Skill 模板包 v2.1.
|
|
5
|
+
**AI Skill 模板包 v2.1.8** — 一条命令将 13 条编码规范、6 个 AI Skill、组件文档、领域样例导入 Vue 3 项目。
|
|
6
6
|
|
|
7
7
|
让 AI 编辑器(Copilot / Cursor / Windsurf / Claude Code / Cline / Kiro / Trae / 通用 Agents)**真正理解项目规范**,从原型/详设到完整页面代码全流程自动化。
|
|
8
8
|
|
|
@@ -99,7 +99,7 @@ wl-skills-kit/ ← 你正看的这个仓库
|
|
|
99
99
|
│ │ ├── 02-code-structure.md
|
|
100
100
|
│ │ ├── ... (共 13 条)
|
|
101
101
|
│ │ └── 13-platform-components.md
|
|
102
|
-
│ ├── skills/
|
|
102
|
+
│ ├── skills/ 8 个启用 Skill + 1 个 PLANNED 草稿
|
|
103
103
|
│ │ ├── _registry.md ★ 触发词 → SKILL 路径单一数据源
|
|
104
104
|
│ │ ├── _compat/ 多 AI 编辑器适配(配置 + headers)
|
|
105
105
|
│ │ ├── core/ 核心通用 Skill
|
|
@@ -110,10 +110,10 @@ wl-skills-kit/ ← 你正看的这个仓库
|
|
|
110
110
|
│ │ │ └── template-extract/ { SKILL.md, USAGE.md }
|
|
111
111
|
│ │ ├── sync/ 数据同步类
|
|
112
112
|
│ │ │ ├── menu-sync/ { SKILL.md, USAGE.md, env/ }
|
|
113
|
-
│ │ │ ├── dict-sync/
|
|
113
|
+
│ │ │ ├── dict-sync/ { SKILL.md, env/ }
|
|
114
114
|
│ │ │ └── permission-sync/ [PLANNED] SKILL.draft.md
|
|
115
115
|
│ │ ├── ops/ 运维类
|
|
116
|
-
│ │ │ └── code-fix/
|
|
116
|
+
│ │ │ └── code-fix/ { SKILL.md }
|
|
117
117
|
│ │ └── domain/ 领域专属(按需创建)
|
|
118
118
|
│ ├── guides/ 人读指南(usage.md / architecture.md)
|
|
119
119
|
│ └── reports/ AI 生成报告(追加不覆盖)
|
|
@@ -197,9 +197,9 @@ npx @agile-team/wl-skills-kit update
|
|
|
197
197
|
| `convention-audit` | ✅ 启用 | `skills/core/convention-audit/` | 13 条规范扫描 + 双报告 |
|
|
198
198
|
| `template-extract` | ✅ 启用 | `skills/core/template-extract/` | 现有页面 → 领域模板 |
|
|
199
199
|
| `menu-sync` | ✅ 启用 | `skills/sync/menu-sync/` | 菜单基线 ↔ 后端接口 |
|
|
200
|
-
| `dict-sync` |
|
|
200
|
+
| `dict-sync` | ✅ 启用 | `skills/sync/dict-sync/` | 字典基线 ↔ 后端接口 |
|
|
201
201
|
| `permission-sync` | ⏳ PLANNED | `skills/sync/permission-sync/` | 权限基线 ↔ 后端接口 |
|
|
202
|
-
| `code-fix` |
|
|
202
|
+
| `code-fix` | ✅ 启用 | `skills/ops/code-fix/` | 受控自动修复偏差 |
|
|
203
203
|
|
|
204
204
|
每个启用 Skill 同目录都有 **`SKILL.md`(AI 触发用)+ `USAGE.md`(团队成员阅读)**。
|
|
205
205
|
|
|
@@ -211,11 +211,14 @@ npx @agile-team/wl-skills-kit update
|
|
|
211
211
|
|
|
212
212
|
```typescript
|
|
213
213
|
// ✅ 正确:Date.now().toString(36) — 毫秒级唯一,永不重复,约 9 位 base-36
|
|
214
|
-
cid="mca-lhfge5hc"
|
|
215
|
-
cid: 'mca-customerName'
|
|
214
|
+
cid="mca-lhfge5hc" // 表格级:{页面首字母缩写}-{base36时间戳}
|
|
215
|
+
cid: 'mca-lhfge5hc-customerName' // 列级:{完整表格cid}-{fieldName}
|
|
216
|
+
cid: 'mca-lhfge5hc-sub1-customerName' // 子表列级:{完整子表cid}-{fieldName}
|
|
216
217
|
|
|
217
|
-
// ❌ 错误:截断十进制后6位(每11.5
|
|
218
|
+
// ❌ 错误:截断十进制后6位(每11.5天循环一次)
|
|
218
219
|
cid="mca-745831"
|
|
220
|
+
// ❌ 错误:列级只用缩写(同页面两张表都有steelCode → mca-steelCode 碰撞)
|
|
221
|
+
cid: 'mca-customerName'
|
|
219
222
|
```
|
|
220
223
|
|
|
221
224
|
**Pre-flight 中 AI 自动输出**:`✅ cid 已生成:mca-lhfge5hc(mmwr-customer-archive)`
|
|
@@ -274,7 +277,7 @@ cid="mca-745831"
|
|
|
274
277
|
```
|
|
275
278
|
"扫描 src/views/ 下所有页面,做规范审计,输出偏差报告" → convention-audit
|
|
276
279
|
→ 人工确认整改优先级(报告中标 🔴 / 🟡 / 🟢)
|
|
277
|
-
→ "对 {偏差文件} 做规范整改" →
|
|
280
|
+
→ "对 {偏差文件} 做规范整改" → code-fix
|
|
278
281
|
```
|
|
279
282
|
|
|
280
283
|
### 触发异常处理
|
package/bin/wl-skills.js
CHANGED
|
@@ -235,9 +235,9 @@ onMounted(() => select());
|
|
|
235
235
|
| menu-sync | ✅ 启用 | reports/SYS_MENU_INFO → 后端菜单接口 |
|
|
236
236
|
| convention-audit | ✅ 启用 | 13 条规范扫描 + 偏差报告 + 提取建议 |
|
|
237
237
|
| template-extract | ✅ 启用 | 现有页面 → 领域模板沉淀 |
|
|
238
|
-
| dict-sync |
|
|
238
|
+
| dict-sync | ✅ 启用 | 字典数据同步 |
|
|
239
239
|
| permission-sync | ⏳ PLANNED | 权限数据同步 |
|
|
240
|
-
| code-fix |
|
|
240
|
+
| code-fix | ✅ 启用 | 自动整改 🟢🟡 等级偏差 |
|
|
241
241
|
|
|
242
242
|
**执行规则**:
|
|
243
243
|
|
|
@@ -278,7 +278,7 @@ AI 生成的所有报告类文件统一写入 `.github/reports/`,**全部追
|
|
|
278
278
|
| 文件 | 写入方 | 读取方 |
|
|
279
279
|
| --------------------------------- | ------------------ | --------------------- |
|
|
280
280
|
| `reports/SYS_MENU_INFO.md` | page-codegen | menu-sync |
|
|
281
|
-
| `reports/SYS_DICT_INFO.md`
|
|
281
|
+
| `reports/SYS_DICT_INFO.md` | dict-collect | dict-sync |
|
|
282
282
|
| `reports/SYS_PERMISSION_INFO.md` [PLANNED] | permission-collect | permission-sync |
|
|
283
283
|
| `reports/规范审查报告.md` | convention-audit | 人工 → code-fix |
|
|
284
284
|
| `reports/组件提取建议.md` | convention-audit | 人工 → template-extract |
|
|
@@ -20,11 +20,11 @@ skills/
|
|
|
20
20
|
│
|
|
21
21
|
├── sync/ 数据同步类(与后端联动)
|
|
22
22
|
│ ├── menu-sync/
|
|
23
|
-
│ ├── dict-sync/
|
|
23
|
+
│ ├── dict-sync/
|
|
24
24
|
│ └── permission-sync/ [PLANNED]
|
|
25
25
|
│
|
|
26
26
|
├── ops/ 运维/构建类
|
|
27
|
-
│ └── code-fix/
|
|
27
|
+
│ └── code-fix/
|
|
28
28
|
│
|
|
29
29
|
└── domain/ 领域专属 Skill(按域扩展,初始为空)
|
|
30
30
|
```
|
|
@@ -46,9 +46,9 @@ skills/
|
|
|
46
46
|
| convention-audit | ✅ 启用 | `skills/core/convention-audit/SKILL.md` | 规范审计 / 代码审计 / 规范检查 / 对齐规范 / 规范偏差 / 接手新项目 / 存量代码分析 / 项目体检 |
|
|
47
47
|
| template-extract | ✅ 启用 | `skills/core/template-extract/SKILL.md` | 提取模板 / 抽取模板 / 沉淀模板 / 模板贡献 |
|
|
48
48
|
| menu-sync | ✅ 启用 | `skills/sync/menu-sync/SKILL.md` | 创建菜单 / 注册菜单 / 同步菜单 / 补菜单 |
|
|
49
|
-
| dict-sync |
|
|
49
|
+
| dict-sync | ✅ 启用 | `skills/sync/dict-sync/SKILL.md` | 同步字典 / 创建字典 / 刷新字典基线 / 字典对比 / 字典审计 |
|
|
50
50
|
| permission-sync | ⏳ PLANNED | `skills/sync/permission-sync/SKILL.draft.md` | (草稿,不参与调度) |
|
|
51
|
-
| code-fix |
|
|
51
|
+
| code-fix | ✅ 启用 | `skills/ops/code-fix/SKILL.md` | 自动修复 / 整改偏差 / 修复报告 / 规范整改 / 修复偏差 / code fix |
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
@@ -57,7 +57,7 @@ description: "Use when: auditing project source code against the 13 modular stan
|
|
|
57
57
|
| 09 | TypeScript | 滥用 any(>3 处/页) → 🟡 |
|
|
58
58
|
| 10 | Pinia | data.ts 内 import Store → 🔴 |
|
|
59
59
|
| 11 | 表单校验 | FORM_ROUTE 缺 validate / resetFields → 🔴 |
|
|
60
|
-
| 12 | BaseTable + cid | 用 el-table / 缺 render-type / cid 缺失或重复 → 🔴;cid 后缀使用旧格式(十进制截断后6位)→
|
|
60
|
+
| 12 | BaseTable + cid | 用 el-table / 缺 render-type / cid 缺失或重复 → 🔴;cid 后缀使用旧格式(十进制截断后6位)→ 🟡;列级 cid 只用缩写作前缀(同页面两张表同名列碰撞)→ 🔴 |
|
|
61
61
|
| 13 | 平台组件合规 | 用 el-form/el-table/el-date-picker 替代封装 → 🔴;3+ 复用 → 提取建议 |
|
|
62
62
|
|
|
63
63
|
---
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-fix
|
|
3
|
+
description: "Use when: fixing code convention issues found in convention-audit reports. Triggers on: 自动修复, 整改偏差, 修复报告, 规范整改, 修复偏差, code fix, 整改规范."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: 受控自动修复(code-fix)
|
|
7
|
+
|
|
8
|
+
读取 `reports/规范审查报告.md` 中的偏差条目,在用户确认 diff 后执行单条或分组修复。
|
|
9
|
+
|
|
10
|
+
> **前置**:必须先运行 `convention-audit` 生成审计报告,code-fix 依赖其输出。
|
|
11
|
+
> **范围**:仅修复 🟡 / 🟢 等级偏差;🔴 严重偏差必须人工或 page-codegen 重新生成。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 工作流
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
reports/规范审查报告.md(convention-audit 输出)
|
|
19
|
+
│
|
|
20
|
+
▼
|
|
21
|
+
[1] 用户从报告挑选 issueId(或 issueGroup),或说"列出可修复项"
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
[2] 解析 issue → 定位文件 + 行号 + 偏差类型
|
|
25
|
+
│
|
|
26
|
+
▼
|
|
27
|
+
[3] 选择修复策略:
|
|
28
|
+
├─ rule-based(如缺 :scoped、缺 cid 等)→ 直接按规则生成 patch
|
|
29
|
+
└─ ai-based(语义性偏差)→ AI 生成 patch
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
[4] Pre-flight 输出 diff 预览(人读,必须等待确认)
|
|
33
|
+
│
|
|
34
|
+
▼
|
|
35
|
+
[5] 用户 yes → 写入文件 + 在报告中标记该条目为 ✅ 已修复
|
|
36
|
+
用户 no → 跳过该 issue,回到挑选界面
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 受控原则(严格执行,不可绕过)
|
|
42
|
+
|
|
43
|
+
| 原则 | 说明 |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| **不修 🔴** | 严重偏差必须人工或 page-codegen 处理,code-fix 不介入 |
|
|
46
|
+
| **不破坏功能** | 只改报告点名的行,不顺手"重构"周边代码 |
|
|
47
|
+
| **不批量盲改** | 每个文件都先 diff 预览,禁止跳过用户确认 |
|
|
48
|
+
| **不生成新逻辑** | 只修偏差,不做功能补全(那是 page-codegen 的职责) |
|
|
49
|
+
| **范围明确** | 若用户引导修改业务逻辑,必须拒绝并说明原因 |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 偏差类型 → 修复策略
|
|
54
|
+
|
|
55
|
+
| 偏差类型 | 来源 standards | 策略 |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| EColumn 缺 cid | standards/12-base-table.md | rule-based |
|
|
58
|
+
| 列级 cid 只用缩写前缀(如 `mca-steelCode`) | standards/12-base-table.md | rule-based |
|
|
59
|
+
| scss 文件缺 `:scoped` 包裹 | standards/02-code-structure.md | rule-based |
|
|
60
|
+
| import 路径不规范 | standards/04-coding-basics.md | rule-based |
|
|
61
|
+
| `any` 滥用(> 3 处/页) | standards/09-typescript.md | ai-based |
|
|
62
|
+
| API_CONFIG URL 命名偏差 | api-contract.md | ai-based |
|
|
63
|
+
| 表格列定义与 api.md 字段不一致 | api-contract + data-ts | ai-based |
|
|
64
|
+
| 业务语义偏差(流程不对)| 多 standards 综合 | **不修复,标记人工** |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 触发命令形态
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
"修复 reports/规范审查报告.md 中的 issue#3" → 单条修复
|
|
72
|
+
"修复 reports/规范审查报告.md 中所有 scss 偏差" → 分组修复
|
|
73
|
+
"修复全部 rule-based 偏差,跳过 ai-based" → 受控批量
|
|
74
|
+
"列出可修复的 issue" → 仅列清单,不动任何文件
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Pre-flight 声明示例
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
🚀 已触发技能 ops/code-fix/SKILL.md → 受控自动修复偏差
|
|
83
|
+
✅ 已读取 reports/规范审查报告.md → 找到 12 条偏差(rule-based 8 条,ai-based 4 条)
|
|
84
|
+
✅ 当前目标:issue#3(EColumn 缺 cid)→ 文件 src/views/sale/order/data.ts L42
|
|
85
|
+
⚠️ 以下操作会修改文件,请在 diff 预览后确认
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 与其他 Skill 的关系
|
|
91
|
+
|
|
92
|
+
| Skill | 关系 |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| convention-audit | **前置**:必须先有审计报告,code-fix 才有输入 |
|
|
95
|
+
| page-codegen | 互斥:生成新页面用 codegen,不用 fix |
|
|
96
|
+
| template-extract | 无直接关系 |
|
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
# env.local.json 配置说明
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> 每位成员在本地维护自己的副本,首次使用时按本文档填写即可。
|
|
3
|
+
> 每位成员在本地维护自己的副本,已加入 `.gitignore`,**不会提交到远端仓库**。
|
|
5
4
|
|
|
6
5
|
---
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## 配置文件位置(优先使用新统一路径)
|
|
8
|
+
|
|
9
|
+
**新路径(v2.1.5+ 推荐)**:`.github/skills/sync/env.local.json`
|
|
10
|
+
**兼容路径(老版)**:`.github/skills/sync/menu-sync/env/env.local.json`
|
|
11
|
+
|
|
12
|
+
AI 优先读新路径,如不存在自动回落到兼容路径。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 配置格式(菜单/字典/权限三合一)
|
|
9
17
|
|
|
10
18
|
```json
|
|
11
19
|
{
|
|
12
20
|
"gatewayPath": "http://192.168.10.50:9000",
|
|
13
|
-
"parentMenuId": "1803456789012345678",
|
|
14
21
|
"sysAppNo": "QjQuXy1kbKxZyjhS5N2",
|
|
15
|
-
"token": "eyJhbGci..."
|
|
22
|
+
"token": "eyJhbGci...",
|
|
23
|
+
|
|
24
|
+
"menu": {
|
|
25
|
+
"parentMenuId": "1803456789012345678"
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
"dict": {
|
|
29
|
+
"moduleId": "7C909G0U2F8HI7E305LV0135LSJ3UBIO"
|
|
30
|
+
}
|
|
16
31
|
}
|
|
17
32
|
```
|
|
18
33
|
|
|
@@ -23,9 +38,10 @@
|
|
|
23
38
|
| 字段 | 说明 | 示例 |
|
|
24
39
|
|---|---|---|
|
|
25
40
|
| `gatewayPath` | 后端网关地址,含协议和端口,**末尾不加斜杠** | `http://192.168.10.50:9000` |
|
|
26
|
-
| `parentMenuId` | 目标父级目录的菜单数据库 ID(每套环境不同) | `1803456789012345678` |
|
|
27
41
|
| `sysAppNo` | 应用编码(非明文,从已有菜单接口响应中获取) | `QjQuXy1kbKxZyjhS5N2` |
|
|
28
42
|
| `token` | 当前登录用户的 Bearer Token,**不含 `bearer ` 前缀** | `eyJhbGci...` |
|
|
43
|
+
| `menu.parentMenuId` | 目标父级目录的菜单数据库 ID(每套环境不同) | `1803456789012345678` |
|
|
44
|
+
| `dict.moduleId` | 字典所属模块 ID(字典管理后台获取) | `7C909G0U2F8HI7E305LV0135LSJ3UBIO` |
|
|
29
45
|
|
|
30
46
|
---
|
|
31
47
|
|
|
@@ -35,7 +51,7 @@
|
|
|
35
51
|
|
|
36
52
|
询问后端同事,或查看浏览器 Network 面板中任意接口请求的 URL,取协议 + 域名/IP + 端口部分。
|
|
37
53
|
|
|
38
|
-
### parentMenuId
|
|
54
|
+
### menu.parentMenuId
|
|
39
55
|
|
|
40
56
|
**方法 A(推荐)**:系统管理后台 → 菜单管理 → 找到目标父级目录 → 点编辑/查看 → 复制菜单 ID
|
|
41
57
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<BaseTable
|
|
13
13
|
ref="tableRef"
|
|
14
14
|
render-type="agGrid"
|
|
15
|
-
cid="mca-
|
|
15
|
+
cid="mca-lhfge5hc"
|
|
16
16
|
:data="list"
|
|
17
17
|
:columns="columns"
|
|
18
18
|
showToolbar
|
|
@@ -58,27 +58,42 @@ AGGrid 通过 `cid` 持久化列配置(列宽、顺序、显示),**cid 必
|
|
|
58
58
|
### 列级 cid
|
|
59
59
|
|
|
60
60
|
```
|
|
61
|
-
格式:{
|
|
61
|
+
格式:{完整表格 cid}-{fieldName}
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
> ✅ 用完整表格 cid(而非仅缩写部分)作前缀,是防碌撞的关键。
|
|
65
|
+
> 同一页面两张表都有 `steelCode` 列时:
|
|
66
|
+
> - 主表(cid=`mca-lhfge5hc`):`mca-lhfge5hc-steelCode` ✅
|
|
67
|
+
> - 子表(cid=`mca-lhfge5hc-sub1`):`mca-lhfge5hc-sub1-steelCode` ✅
|
|
68
|
+
> - 如果用缩写作前缀:两张表同名列都会得到 `mca-steelCode` → 碰撞 ❌
|
|
69
|
+
|
|
64
70
|
```typescript
|
|
65
|
-
//
|
|
71
|
+
// 主表 cid="mca-lhfge5hc"
|
|
66
72
|
columnsDef(): TableColumnDesc<any>[] {
|
|
67
73
|
return [
|
|
68
74
|
{ type: 'selection' },
|
|
69
75
|
{ type: 'index' },
|
|
70
|
-
{ label: '取样', name: 'sampling', cid: 'mca-sampling', width: 70 },
|
|
71
|
-
{ label: '线上公告', name: 'onlineAnnouncement', cid: 'mca-onlineAnnouncement', width: 70 },
|
|
76
|
+
{ label: '取样', name: 'sampling', cid: 'mca-lhfge5hc-sampling', width: 70 },
|
|
77
|
+
{ label: '线上公告', name: 'onlineAnnouncement', cid: 'mca-lhfge5hc-onlineAnnouncement', width: 70 },
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// 子表 cid="mca-lhfge5hc-sub1"
|
|
82
|
+
subColumnsDef(): TableColumnDesc<any>[] {
|
|
83
|
+
return [
|
|
84
|
+
{ type: 'index' },
|
|
85
|
+
{ label: '钢种编码', name: 'steelCode', cid: 'mca-lhfge5hc-sub1-steelCode', width: 100 },
|
|
86
|
+
{ label: '规格', name: 'spec', cid: 'mca-lhfge5hc-sub1-spec', width: 80 },
|
|
72
87
|
]
|
|
73
88
|
}
|
|
74
|
-
```
|
|
75
89
|
|
|
76
90
|
---
|
|
77
91
|
|
|
78
92
|
## 禁止事项
|
|
79
93
|
|
|
80
94
|
- ❌ 随机短字符串 `cid="ipiCfsb"`(AI 重新生成时极易碰撞)
|
|
81
|
-
- ❌
|
|
95
|
+
- ❌ 纴字段名 `cid: "sampling"`(不同页面/不同表格同名字段必碰撞)
|
|
96
|
+
- ❌ 列级 cid 只用缩写 `cid: 'mca-steelCode'`(同页面两张表都有 steelCode 时碰撞)
|
|
82
97
|
- ❌ 省略 cid(列配置持久化完全失效)
|
|
83
98
|
- ❌ 跨页面复用同一 cid
|
|
84
99
|
|
|
@@ -88,7 +103,7 @@ columnsDef(): TableColumnDesc<any>[] {
|
|
|
88
103
|
|
|
89
104
|
```
|
|
90
105
|
✅ cid 已生成:mca-lhfge5hc(mmwr-customer-archive)
|
|
91
|
-
✅ 列级 cid 前缀:mca-
|
|
106
|
+
✅ 列级 cid 前缀:mca-lhfge5hc-(完整表格 cid 加连接符)
|
|
92
107
|
```
|
|
93
108
|
|
|
94
109
|
---
|
|
@@ -115,8 +130,8 @@ columnsDef(): TableColumnDesc<any>[] {
|
|
|
115
130
|
return [
|
|
116
131
|
{ type: 'selection' },
|
|
117
132
|
{ type: 'index' },
|
|
118
|
-
{ label: '客户名称', name: 'customerName', cid: 'mca-customerName', minWidth: 120 },
|
|
119
|
-
{ label: '状态', name: 'status', cid: 'mca-status', minWidth: 80 },
|
|
133
|
+
{ label: '客户名称', name: 'customerName', cid: 'mca-lhfge5hc-customerName', minWidth: 120 },
|
|
134
|
+
{ label: '状态', name: 'status', cid: 'mca-lhfge5hc-status', minWidth: 80 },
|
|
120
135
|
]
|
|
121
136
|
}
|
|
122
137
|
```
|