@qilitt-mickey/vue3-temp-skill 1.1.43 → 1.1.45
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/SKILL.md +1 -0
- package/bin/cli.js +1 -1
- package/mapping/component/button.json +8 -3
- package/mapping/component/card.json +31 -0
- package/mapping/component/input.json +4 -1
- package/mapping/component/pagination.json +34 -0
- package/mapping/component/tag.json +2 -1
- package/mapping/scenes/admin/content.json +34 -6
- package/mapping/scenes/admin/layout.json +15 -5
- package/package.json +1 -1
- package/parser/fixtures/changeset-registry-gap.json +29 -0
- package/parser/fixtures/changeset-v32-fields.json +9 -2
- package/parser/fixtures/registry-bad.json +11 -0
- package/parser/fixtures/registry-sample.json +15 -0
- package/parser/index.js +416 -31
- package/parser/regression.js +30 -6
- package/parser/validator.js +4 -4
- package/references/cobalt-admin-restore.changeset.json +468 -0
- package/references/code-quality.md +8 -3
- package/references/design-apply.md +74 -13
package/parser/validator.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* 1. 字段完整性(必须字段存在且类型正确)
|
|
6
6
|
* 2. 枚举合法性(type/forms 值域)
|
|
7
7
|
* 3. 层级一致性(children 引用的 ID 必须存在于同级或同场景映射集)
|
|
8
|
-
* 4.
|
|
8
|
+
* 4. 三字段结构:anchors(kind/layer 枚举 + target 必填)、
|
|
9
9
|
* preconditions(非空字符串数组)、priority(strategy 枚举)
|
|
10
10
|
*
|
|
11
11
|
* 说明:selector / anchors.target 的「挂载点存在性」需要在**目标项目源码**里查证,
|
|
@@ -101,7 +101,7 @@ export function validateMappingDataset(dataset) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
// anchors(
|
|
104
|
+
// anchors( §3.2):条目可承载的全部通道,含落点层级 layer
|
|
105
105
|
if (entry.anchors !== undefined) {
|
|
106
106
|
if (!Array.isArray(entry.anchors)) {
|
|
107
107
|
errors.push(`[${file}] ${id}.anchors 必须为数组`);
|
|
@@ -130,7 +130,7 @@ export function validateMappingDataset(dataset) {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
// preconditions(
|
|
133
|
+
// preconditions( §3.2):几何 / 取值成立的宿主前提,非空字符串数组
|
|
134
134
|
if (entry.preconditions !== undefined) {
|
|
135
135
|
if (!Array.isArray(entry.preconditions) || entry.preconditions.length === 0) {
|
|
136
136
|
errors.push(`[${file}] ${id}.preconditions 必须为非空字符串数组`);
|
|
@@ -143,7 +143,7 @@ export function validateMappingDataset(dataset) {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
// priority(
|
|
146
|
+
// priority( §4.6.4):覆写优先级策略
|
|
147
147
|
if (entry.priority !== undefined) {
|
|
148
148
|
if (typeof entry.priority !== "object" || entry.priority === null) {
|
|
149
149
|
errors.push(`[${file}] ${id}.priority 必须为对象`);
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "design.changeset/1.0",
|
|
3
|
+
"changeset_version": "1.0.0",
|
|
4
|
+
"mapping_version": "1.0.0",
|
|
5
|
+
"scene": "admin",
|
|
6
|
+
"layout_type": "vertical",
|
|
7
|
+
"global": {
|
|
8
|
+
"brand_primary": "钴蓝-5"
|
|
9
|
+
},
|
|
10
|
+
"changes": [
|
|
11
|
+
{
|
|
12
|
+
"id": "admin.layout.sidebar",
|
|
13
|
+
"style": {
|
|
14
|
+
"width": "208px",
|
|
15
|
+
"collapsed_width": "64px",
|
|
16
|
+
"bg": "#001529"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "admin.layout.sidebar.logo_area",
|
|
21
|
+
"style": {
|
|
22
|
+
"height": "54px",
|
|
23
|
+
"title_font_size": "16px",
|
|
24
|
+
"title_font_weight": "中等",
|
|
25
|
+
"title_color": "#FFFFFF"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "admin.layout.sidebar.menu",
|
|
30
|
+
"form": "pill",
|
|
31
|
+
"style": {
|
|
32
|
+
"padding_y": "8px",
|
|
33
|
+
"item_height": "40px",
|
|
34
|
+
"font_size": "14px",
|
|
35
|
+
"font_weight": "常规",
|
|
36
|
+
"text_color": "rgba(255,255,255,0.65)",
|
|
37
|
+
"menu_hover_bg": "rgba(255,255,255,0.08)",
|
|
38
|
+
"menu_active_bg": "钴蓝-5",
|
|
39
|
+
"menu_active_indicator": "钴蓝-5"
|
|
40
|
+
},
|
|
41
|
+
"priority": { "strategy": "deep_qualified" }
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "admin.layout.sidebar.collapse_trigger",
|
|
45
|
+
"visible": false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "admin.layout.header",
|
|
49
|
+
"style": {
|
|
50
|
+
"height": "54px",
|
|
51
|
+
"padding_x": "24px",
|
|
52
|
+
"bg": "#FFFFFF",
|
|
53
|
+
"border_color": "#F0F0F0"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "admin.layout.header.collapse_trigger",
|
|
58
|
+
"form": "header_inline",
|
|
59
|
+
"style": {
|
|
60
|
+
"btn_width": "40px",
|
|
61
|
+
"btn_height": "40px",
|
|
62
|
+
"icon_size": "16px",
|
|
63
|
+
"border_radius": "6px"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "admin.layout.header.logo_area",
|
|
68
|
+
"visible": false
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "admin.layout.header.breadcrumb",
|
|
72
|
+
"visible": false,
|
|
73
|
+
"priority": { "strategy": "deep_qualified" }
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "admin.layout.header.lang_switch",
|
|
77
|
+
"form": "inline_switch",
|
|
78
|
+
"style": {
|
|
79
|
+
"gap": "2px",
|
|
80
|
+
"icon_size": "16px",
|
|
81
|
+
"text_color": "#000000A6"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "admin.layout.header.fullscreen",
|
|
86
|
+
"style": {
|
|
87
|
+
"icon_size": "16px",
|
|
88
|
+
"width": "32px"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "admin.layout.header.setting_button",
|
|
93
|
+
"style": {
|
|
94
|
+
"icon_size": "16px",
|
|
95
|
+
"hover_bg": "#FAFAFA",
|
|
96
|
+
"text_color": "#000000A6"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "admin.layout.header.user_profile",
|
|
101
|
+
"form": "greeting_avatar_name",
|
|
102
|
+
"style": {
|
|
103
|
+
"avatar_width": "28px",
|
|
104
|
+
"avatar_height": "28px",
|
|
105
|
+
"avatar_radius": "9999px",
|
|
106
|
+
"name_font_size": "14px",
|
|
107
|
+
"name_font_weight": "中等",
|
|
108
|
+
"greeting_font_size": "14px",
|
|
109
|
+
"gap": "12px",
|
|
110
|
+
"text_color": "#000000E6",
|
|
111
|
+
"hover_bg": "#FAFAFA"
|
|
112
|
+
},
|
|
113
|
+
"structure_ops": [{ "op": "add_node", "node": "问候区" }]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "admin.layout.tabs",
|
|
117
|
+
"form": "flat",
|
|
118
|
+
"style": {
|
|
119
|
+
"height": "40px",
|
|
120
|
+
"bg": "#FFFFFF",
|
|
121
|
+
"border_bottom": "1px solid #F0F0F0",
|
|
122
|
+
"padding_inline": "0px"
|
|
123
|
+
},
|
|
124
|
+
"priority": { "strategy": "deep_qualified" }
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "admin.layout.tabs.home_tab",
|
|
128
|
+
"form": "icon_only",
|
|
129
|
+
"style": {
|
|
130
|
+
"width": "40px",
|
|
131
|
+
"height": "40px",
|
|
132
|
+
"icon_size": "16px",
|
|
133
|
+
"icon_color": "钴蓝-5"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "admin.layout.tabs.item",
|
|
138
|
+
"form": "text_only",
|
|
139
|
+
"style": {
|
|
140
|
+
"card_height": "40px",
|
|
141
|
+
"padding_x": "12px",
|
|
142
|
+
"title_gap": "6px",
|
|
143
|
+
"close_size": "12px",
|
|
144
|
+
"close_opacity": "0.45",
|
|
145
|
+
"close_hover_color": "#FF4D4F",
|
|
146
|
+
"divider_color": "#F0F0F0"
|
|
147
|
+
},
|
|
148
|
+
"priority": { "strategy": "deep_qualified" }
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "admin.layout.tabs.item_active",
|
|
152
|
+
"form": "text_color_only",
|
|
153
|
+
"style": {
|
|
154
|
+
"text_color": "钴蓝-5",
|
|
155
|
+
"font_weight": "中等"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "admin.layout.tabs.divider",
|
|
160
|
+
"style": {
|
|
161
|
+
"width": "1px",
|
|
162
|
+
"height": "100%",
|
|
163
|
+
"bg": "#F0F0F0",
|
|
164
|
+
"opacity": "1"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": "admin.layout.tabs.context_menu",
|
|
169
|
+
"style": {
|
|
170
|
+
"width": "120px",
|
|
171
|
+
"border_color": "#F0F0F0",
|
|
172
|
+
"radius": "6px"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "admin.content.container",
|
|
177
|
+
"form": "fixed"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "admin.layout.content",
|
|
181
|
+
"style": {
|
|
182
|
+
"padding": "24px"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "component.card.base",
|
|
187
|
+
"style": {
|
|
188
|
+
"bg_color": "#FFFFFF",
|
|
189
|
+
"radius": "8px",
|
|
190
|
+
"border_color": "transparent",
|
|
191
|
+
"box_shadow": "0 2px 8px rgba(0,0,0,0.06)",
|
|
192
|
+
"padding_x": "0px",
|
|
193
|
+
"padding_y": "0px"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"id": "admin.content.page_header",
|
|
198
|
+
"style": {
|
|
199
|
+
"margin_bottom": "1px solid #F0F0F0",
|
|
200
|
+
"title_size": "20px",
|
|
201
|
+
"title_weight": "加粗",
|
|
202
|
+
"desc_size": "14px",
|
|
203
|
+
"desc_color": "#000000A6",
|
|
204
|
+
"actions_gap": "8px",
|
|
205
|
+
"padding_x": "20px",
|
|
206
|
+
"padding_y": "20px"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"id": "admin.content.filter_area",
|
|
211
|
+
"style": {
|
|
212
|
+
"radius": "6px",
|
|
213
|
+
"padding_y": "20px",
|
|
214
|
+
"padding_x": "20px",
|
|
215
|
+
"margin_bottom": "1px solid #F0F0F0",
|
|
216
|
+
"bg": "#FFFFFF",
|
|
217
|
+
"border_color": "#F0F0F0",
|
|
218
|
+
"font_size": "14px",
|
|
219
|
+
"text_color": "#000000E6",
|
|
220
|
+
"text_align": "右对齐",
|
|
221
|
+
"icon_size": "16px",
|
|
222
|
+
"gap": "20px"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"id": "admin.content.table.operation_bar",
|
|
227
|
+
"style": {
|
|
228
|
+
"gap": "8px",
|
|
229
|
+
"padding_y": "20px 20px 8px",
|
|
230
|
+
"btn_height": "32px",
|
|
231
|
+
"btn_radius": "6px",
|
|
232
|
+
"btn_font_size": "14px",
|
|
233
|
+
"font_size": "14px",
|
|
234
|
+
"font_weight": "常规",
|
|
235
|
+
"text_color": "#000000E6"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"id": "admin.content.table.area",
|
|
240
|
+
"style": {
|
|
241
|
+
"radius": "8px",
|
|
242
|
+
"header_bg": "#FAFAFA",
|
|
243
|
+
"header_text": "#000000E6",
|
|
244
|
+
"row_hover_bg": "#FAFAFA",
|
|
245
|
+
"bg_color": "#FFFFFF"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"id": "admin.content.table.header_cell",
|
|
250
|
+
"layer": { "padding": "host", "text_align": "inner" },
|
|
251
|
+
"style": {
|
|
252
|
+
"height": "48px",
|
|
253
|
+
"padding": "16px",
|
|
254
|
+
"bg": "#FAFAFA",
|
|
255
|
+
"font_size": "14px",
|
|
256
|
+
"font_weight": "中等",
|
|
257
|
+
"text_color": "#000000E6",
|
|
258
|
+
"text_align": "左对齐",
|
|
259
|
+
"border_bottom": "1px solid #F0F0F0",
|
|
260
|
+
"nowrap": "禁止换行",
|
|
261
|
+
"gap": "8px",
|
|
262
|
+
"icon_size": "16px"
|
|
263
|
+
},
|
|
264
|
+
"priority": { "strategy": "self_plus_important" }
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "admin.content.table.cell",
|
|
268
|
+
"layer": "host",
|
|
269
|
+
"style": {
|
|
270
|
+
"padding": "16px",
|
|
271
|
+
"height": "55px",
|
|
272
|
+
"font_size": "14px",
|
|
273
|
+
"font_weight": "常规",
|
|
274
|
+
"text_color": "#000000E6",
|
|
275
|
+
"border_bottom": "1px solid #F0F0F0",
|
|
276
|
+
"vertical_align": "居中",
|
|
277
|
+
"nowrap": "禁止换行"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "admin.content.table.cell_status",
|
|
282
|
+
"form": "filled",
|
|
283
|
+
"style": {
|
|
284
|
+
"bg": "#F6FFED",
|
|
285
|
+
"border_color": "#D9F7BE",
|
|
286
|
+
"text_color": "#52C41A",
|
|
287
|
+
"font_size": "12px",
|
|
288
|
+
"radius": "6px",
|
|
289
|
+
"icon_size": "16px"
|
|
290
|
+
},
|
|
291
|
+
"structure_ops": [{ "op": "render_branch", "node": "状态列" }]
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"id": "admin.content.table.cell_amount",
|
|
295
|
+
"layer": "inner",
|
|
296
|
+
"style": {
|
|
297
|
+
"align": "右对齐"
|
|
298
|
+
},
|
|
299
|
+
"structure_ops": [{ "op": "bind_source", "node": "金额列", "source": "列类名" }]
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"id": "admin.content.table.operation_column",
|
|
303
|
+
"style": {
|
|
304
|
+
"link_color": "钴蓝-5",
|
|
305
|
+
"danger_color": "#FF4D4F",
|
|
306
|
+
"divider_color": "#F0F0F0",
|
|
307
|
+
"align": "居中",
|
|
308
|
+
"min_width": "160px",
|
|
309
|
+
"column_width": "160px",
|
|
310
|
+
"nowrap": "禁止换行",
|
|
311
|
+
"bg": "#FFFFFF",
|
|
312
|
+
"box_shadow": "-2px 0 4px rgba(0,0,0,0.06)",
|
|
313
|
+
"font_size": "14px",
|
|
314
|
+
"gap": "8px",
|
|
315
|
+
"radius": "6px",
|
|
316
|
+
"vertical_align": "居中"
|
|
317
|
+
},
|
|
318
|
+
"structure_ops": [
|
|
319
|
+
{ "op": "render_branch", "node": "操作列图标" },
|
|
320
|
+
{ "op": "add_node", "node": "操作列分隔线" }
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"id": "admin.content.pagination",
|
|
325
|
+
"style": {
|
|
326
|
+
"font_size": "14px",
|
|
327
|
+
"text_color": "#000000A6",
|
|
328
|
+
"gap": "8px",
|
|
329
|
+
"margin_bottom": "20px",
|
|
330
|
+
"padding_y": "8px 20px",
|
|
331
|
+
"active_bg": "钴蓝-5",
|
|
332
|
+
"active_color": "#FFFFFF",
|
|
333
|
+
"border_color": "#D9D9D9",
|
|
334
|
+
"hover_color": "钴蓝-5"
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"id": "admin.content.empty_state",
|
|
339
|
+
"style": {
|
|
340
|
+
"font_size": "14px",
|
|
341
|
+
"text_color": "#000000A6",
|
|
342
|
+
"icon_size": "40px",
|
|
343
|
+
"padding": "40px"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"id": "component.button.primary",
|
|
348
|
+
"style": {
|
|
349
|
+
"bg_color": "钴蓝-5",
|
|
350
|
+
"text_color": "#FFFFFF",
|
|
351
|
+
"border_color": "钴蓝-5",
|
|
352
|
+
"font_weight": "常规",
|
|
353
|
+
"padding_x": "15px",
|
|
354
|
+
"height": "32px",
|
|
355
|
+
"radius": "6px"
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"id": "component.button.default",
|
|
360
|
+
"style": {
|
|
361
|
+
"bg_color": "#FFFFFF",
|
|
362
|
+
"text_color": "#000000E6",
|
|
363
|
+
"border_color": "#D9D9D9",
|
|
364
|
+
"font_weight": "常规",
|
|
365
|
+
"padding_x": "15px",
|
|
366
|
+
"height": "32px",
|
|
367
|
+
"radius": "6px"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"id": "component.button.danger",
|
|
372
|
+
"style": {
|
|
373
|
+
"bg_color": "#FF4D4F",
|
|
374
|
+
"text_color": "#FFFFFF",
|
|
375
|
+
"border_color": "#FF4D4F",
|
|
376
|
+
"font_weight": "常规",
|
|
377
|
+
"padding_x": "12px",
|
|
378
|
+
"height": "32px",
|
|
379
|
+
"radius": "6px"
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"id": "component.tag.status",
|
|
384
|
+
"form": "filled",
|
|
385
|
+
"style": {
|
|
386
|
+
"bg_color": "#F6FFED",
|
|
387
|
+
"text_color": "#52C41A",
|
|
388
|
+
"border_color": "#D9F7BE",
|
|
389
|
+
"font_size": "12px",
|
|
390
|
+
"radius": "6px",
|
|
391
|
+
"icon_size": "16px"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"id": "component.input.base",
|
|
396
|
+
"style": {
|
|
397
|
+
"bg_color": "#FFFFFF",
|
|
398
|
+
"text_color": "#000000E6",
|
|
399
|
+
"border_color": "#D9D9D9",
|
|
400
|
+
"radius": "6px",
|
|
401
|
+
"height": "32px",
|
|
402
|
+
"font_size": "14px",
|
|
403
|
+
"icon_size": "16px",
|
|
404
|
+
"padding_x": "12px"
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"id": "component.pagination.base",
|
|
409
|
+
"style": {
|
|
410
|
+
"height": "32px",
|
|
411
|
+
"gap": "8px",
|
|
412
|
+
"radius": "6px",
|
|
413
|
+
"active_bg": "钴蓝-5",
|
|
414
|
+
"active_color": "#FFFFFF",
|
|
415
|
+
"border_color": "#D9D9D9",
|
|
416
|
+
"text_color": "#000000E6",
|
|
417
|
+
"hover_color": "钴蓝-5",
|
|
418
|
+
"icon_size": "16px"
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
],
|
|
422
|
+
"oracle": {
|
|
423
|
+
"mockup": "project-ui-design/references/page-specs/styles/default/scenes/admin/mockups/list-page/运单管理-钴蓝.html",
|
|
424
|
+
"sids": [
|
|
425
|
+
"admin.layout.sidebar",
|
|
426
|
+
"admin.layout.sidebar.logo_area",
|
|
427
|
+
"admin.layout.sidebar.menu",
|
|
428
|
+
"admin.layout.header",
|
|
429
|
+
"admin.layout.header.collapse_trigger",
|
|
430
|
+
"admin.layout.header.lang_switch",
|
|
431
|
+
"admin.layout.header.fullscreen",
|
|
432
|
+
"admin.layout.header.setting_button",
|
|
433
|
+
"admin.layout.header.user_profile",
|
|
434
|
+
"admin.layout.tabs",
|
|
435
|
+
"admin.layout.tabs.home_tab",
|
|
436
|
+
"admin.layout.tabs.item",
|
|
437
|
+
"admin.layout.tabs.item_active",
|
|
438
|
+
"admin.layout.tabs.divider",
|
|
439
|
+
"admin.layout.content",
|
|
440
|
+
"admin.content.container",
|
|
441
|
+
"component.card.base",
|
|
442
|
+
"admin.content.page_header",
|
|
443
|
+
"admin.content.filter_area",
|
|
444
|
+
"admin.content.table.operation_bar",
|
|
445
|
+
"admin.content.table.area",
|
|
446
|
+
"admin.content.table.header_cell",
|
|
447
|
+
"admin.content.table.cell",
|
|
448
|
+
"admin.content.table.cell_status",
|
|
449
|
+
"admin.content.table.cell_amount",
|
|
450
|
+
"admin.content.table.operation_column",
|
|
451
|
+
"admin.content.pagination",
|
|
452
|
+
"component.button.primary",
|
|
453
|
+
"component.button.default",
|
|
454
|
+
"component.button.danger",
|
|
455
|
+
"component.tag.status",
|
|
456
|
+
"component.input.base",
|
|
457
|
+
"component.pagination.base"
|
|
458
|
+
]
|
|
459
|
+
},
|
|
460
|
+
"coverage": {
|
|
461
|
+
"registry": "project-ui-design/references/page-specs/styles/default/scenes/admin/restore-registry.json",
|
|
462
|
+
"registrable": 186,
|
|
463
|
+
"applicable": 186,
|
|
464
|
+
"covered": 186,
|
|
465
|
+
"gaps": []
|
|
466
|
+
},
|
|
467
|
+
"notes": "钴蓝主题 admin 列表页完整还原变更集(首版,待 verify 验收)。值优先取效果图精确字面量;官方主色走语义值 钴蓝-5。侧栏为深色 #001529(钴蓝主题壳层约定)。cell_thumb 列本页未出现故未声明;sidebar.collapse_trigger / header.logo_area 按出厂中性收口(visible:false)。"
|
|
468
|
+
}
|
|
@@ -22,7 +22,7 @@ tags: [code-review, quality, checklist, lint, typescript, vue3, security, perfor
|
|
|
22
22
|
- 闸门:已执行 code-quality(生成后)
|
|
23
23
|
- 改动文件:`path/a`、`path/b`、…
|
|
24
24
|
- 清单:选型 ✅ / 类型 ✅ / 组件 ✅ / API ✅ / 安全 ✅ / 业务 ✅ / 列表→详情 ✅或N/A / 列表布局 ✅或N/A / 风格 ✅
|
|
25
|
-
- 设计落地:通道活性 ✅ / 锚点契约 ✅ / 结构施工 ✅或N/A / 覆写提权 ✅ / 渲染态验收 ✅或N/A(无 oracle 时 N/A)
|
|
25
|
+
- 设计落地:通道活性 ✅ / 锚点契约 ✅ / 结构施工 ✅或N/A / 覆写提权 ✅ / 登记表覆盖率 ✅或N/A / 渲染态验收 ✅或N/A(无 oracle 时 N/A)
|
|
26
26
|
- 硬失败:无 | 已拦截并修正:…
|
|
27
27
|
- 已修正:…(无则写「无」)
|
|
28
28
|
- 命令:`pnpm lint:fix` → …;`pnpm type-check` → …
|
|
@@ -47,6 +47,8 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
47
47
|
| 新菜单路由 | 父级无 `icon` 或业务页二次挂 `Layout` | `icons` + `core-kernel` |
|
|
48
48
|
| 列表查询区 `el-form` / 查询按钮 | 写了 `size="small"`(紧凑主题用户未要求) | 不写 size,用 default=`--control-height` |
|
|
49
49
|
| 本轮新增 addon 并引用对应 `Re*` / Vant / 微信 | 已装包但 `tsconfig exclude` 仍含该路径,或 `addon-enable` 要求的 build/src 未改 | 按 **`addon-enable.md`** 对应章节恢复后重跑 type-check |
|
|
50
|
+
| 设计层(`design-shell.scss` / 页面 `scoped`)新增规则 | 与对手**同权重**(对手为组件 `<style scoped>` 时平手即失效——组件样式在全局之后注入),或对手带 `!important` 而本条没带 | 按 `priority.strategy` 提权;**数权重,不许目测** |
|
|
51
|
+
| 变更集带 `oracle` | `oracle.mockup` 与本次主题/页面不一致(跨主题复用效果图),或 `oracle.sids` 与 `changes[]` 未双向闭合(存在欠声明 / 无基线点位) | 回流设计侧补齐后再开工,禁止直接施工 |
|
|
50
52
|
| `element-plus.scss` / `sidebar.scss` 等样式消费层 | `var(--font-size-*)` 用于 `line-height` / `height` 等非字号属性 | 查 TSB:`classifyToken` + `PROPERTY_FORBIDDEN`;`line-height` → `--line-height` 或 `--el-menu-item-height` |
|
|
51
53
|
| `element-plus.scss` 内视觉规则(shadow/hover/transition) | 出现非令牌引用的裸 hex / px / rgba 值 | 全部改为 `var()` 引用令牌 |
|
|
52
54
|
| 视觉规则新增 | `dark.scss` 缺少对应暗色覆盖 | 每条新规则在 `html.dark` 内有对应覆盖 |
|
|
@@ -54,6 +56,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
54
56
|
| 同上 | `apply_via` 为 `class_name` / `attribute` / `slot_content` / `data_source` 之一,却只写了 CSS 而没改结构/绑定 | 按 `structure_ops` 施工(改模板 / 绑 `class-name` / 改 formatter / 挂 `data-*`),CSS 换不掉数据驱动点位 |
|
|
55
57
|
| 同上 | 全局覆写与组件 `scoped` 同权重生效失败(收口 `visible:false` / opacity / 几何覆盖不生效) | 按 `priority` 声明提权(`scope_qualified` / `self_plus_important` / `deep_qualified`),不得靠「后置加载」赌注入顺序 |
|
|
56
58
|
| 同上 | 词典 `selector` / `css_vars` 指向的选择器在真实 DOM 不存在(死通道 / 死令牌) | 跑 `node parser/index.js audit` 复核;死令牌双删、死通道补消费者挂载点 |
|
|
59
|
+
| 同上 | 变更集带登记表时 `C < A`(有规范子项未落进 `changes[]` / `visible` / `pending`)——组级台账过了但组内子项被静默丢失 | 跑 `node parser/index.js match --registry`;缺口逐条点名回流设计侧,**禁止采信自报的 `coverage` 数字**(parser 当场重算) |
|
|
57
60
|
|
|
58
61
|
## 选型与硬约束
|
|
59
62
|
|
|
@@ -142,7 +145,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
142
145
|
- [ ] 变更集外点位零改动(diff 只含变更集提到的文件/选择器)
|
|
143
146
|
- [ ] `visible: false` 模块代码仍存在(只隐藏不删除)
|
|
144
147
|
- [ ] 未修改 `src/components/` Re* 组件库源码(底线一);未改业务逻辑层 API/状态/事件(底线二)
|
|
145
|
-
- [ ] 两层样式全部落在条目 `style_scope`
|
|
148
|
+
- [ ] 两层样式全部落在条目 `style_scope` 作用域内,无全局泄漏;`!important` 仅用于 `priority.strategy=self_plus_important` 或「对手为组件 scoped 且提权后实测仍平手」两种情形,且带理由注释
|
|
146
149
|
- [ ] 无内联硬编码色值;全部走 CSS 变量(css_vars 层)或 `:deep()` 隔离(custom_style_map 层)
|
|
147
150
|
- [ ] 新增视觉规则在 `dark.scss` `html.dark` 有对应覆盖
|
|
148
151
|
- [ ] 能力缺口(词典缺 ID / 缺字段枚举 / 缺 form)已当场落地并写临时映射,未进清单;`缺口清单` 只含意图缺口(设计侧未给值 / 值非法)且已注明回流设计侧;mapping 临时新增后 `node parser/index.js build --dry` 通过
|
|
@@ -150,11 +153,13 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
150
153
|
- [ ] **映射通道活性**:本轮用到的词典条目,其 `selector` / `css_vars` 在真实 DOM 可命中、CSS 变量有消费者(已跑 `audit` 或逐条核对,无死通道 / 死令牌)
|
|
151
154
|
- [ ] **锚点契约**:变更集 `anchor` 声明的锚点存在;`layer=inner` 的点位已解析到内层文本盒(`.cell` / 文本节点宿主),未错落在宿主盒上
|
|
152
155
|
- [ ] **结构施工**:`apply_via` 非 `style_override` 的点位已按 `structure_ops` 改结构/绑定(`class-name` / formatter / `data-*` / 渲染分支),未只用 CSS 冒充落地;申报了结构增量施工
|
|
153
|
-
- [ ]
|
|
156
|
+
- [ ] **覆写提权 / 同权重失效检查**:`priority` 声明的每条规则都**数过权重**——对手为组件 `<style scoped>` 时本条必须严格更高(**平手即判失效**并提权);对手带 `!important` 时本条必须同样 `!important`,或改走通道变量。收口(`display:none` 等)与几何覆盖必须实测生效,未被组件 `scoped` 反压
|
|
154
157
|
- [ ] **模板源码注释中性**:对模板文件的改动中,注释只描述「这段代码做什么」;语义 ID / 协议步骤号 / 缺口·自举·申报等面向 AI 的纪律条款不得写入模板源码注释(一律留在技能侧文档)
|
|
155
158
|
|
|
156
159
|
### 渲染态验收(变更集含 `oracle` / 效果图有 `data-sid` 时强制)
|
|
157
160
|
|
|
161
|
+
- [ ] **oracle 基线可用**:`oracle.mockup` 与本次主题、页面一致(未复用异主题效果图);`oracle.sids` 与 `changes[]` 双向闭合(无欠声明点位、无「已声明却无基线」点位)——`parser match` 已自动报出,未报错才算通过
|
|
162
|
+
- [ ] **登记表覆盖率闭合**(变更集带登记表时):`match --registry` 输出 `C = A`、无缺口,且无「效果图标注缺口」(恒存在子项在效果图上都有同名 `data-sid`)
|
|
158
163
|
- [ ] 项目同名 `data-sid` 元素已渲染,抽取 computed style 与效果图期望值逐点 diff
|
|
159
164
|
- [ ] diff 结果无未解释缺口;有缺口者已按三类(选择器落空 / 权重被压 / 语境错位)归因并修正,未用 `!important` 掩盖
|
|
160
165
|
- [ ] 验收结果写入最终回复(命中 / 缺口 / 归因 / 修正),不得只报「已完成」
|