@qilitt-mickey/vue3-temp-skill 1.1.34 → 1.1.35
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 +16 -14
- package/SKILL.md +4 -2
- package/bin/cli.js +18 -4
- package/package.json +2 -1
- package/references/addon-enable.md +1 -1
- package/references/api-check.md +1 -1
- package/references/auth-pages.md +1 -1
- package/references/base-code-dict.md +1 -1
- package/references/chart-echarts.md +1 -1
- package/references/code-quality.md +1 -1
- package/references/core-kernel.md +1 -1
- package/references/crud-pages.md +244 -244
- package/references/data-compare.md +1 -1
- package/references/data-mapping.md +1 -1
- package/references/data-screen.md +1 -1
- package/references/data-writeback.md +1 -1
- package/references/design-handoff.md +25 -35
- package/references/design-system.md +1 -1
- package/references/design-verify.md +27 -2
- package/references/detail-page.md +1 -1
- package/references/directives-advanced.md +7 -7
- package/references/download-export.md +1 -1
- package/references/feedback-loading.md +1 -1
- package/references/feedback-ui.md +1 -1
- package/references/file-management.md +7 -7
- package/references/flowchart-g6.md +1 -1
- package/references/form-advanced.md +1 -1
- package/references/graph-relation.md +7 -7
- package/references/http-api.md +1 -1
- package/references/i18n-localization.md +1 -1
- package/references/icons.md +1 -1
- package/references/layout-theme.md +1 -1
- package/references/mobile-h5.md +1 -1
- package/references/particles.md +7 -7
- package/references/permission-auth.md +1 -1
- package/references/project-inventory.md +1 -1
- package/references/qrcode-barcode.md +1 -1
- package/references/rich-text.md +1 -1
- package/references/seamless-scroll.md +1 -1
- package/references/table-vxe.md +1 -1
- package/references/tree-table.md +7 -7
- package/references/ui-components.md +1 -1
- package/references/verify-captcha.md +1 -1
- package/references/websocket-realtime.md +7 -7
- package/references/wechat-js.md +1 -1
- package/references/workflow-bpmn.md +1 -1
- package/scripts/check.mjs +6 -0
- package/scripts/field-schema-audit.mjs +246 -0
- package/scripts/handoff.mjs +388 -22
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: design-handoff
|
|
3
3
|
description: 收到 design-handoff/v1 JSON 后,按逐文件修改清单执行。配置→令牌→框架组件→样式→页面代码,5 步 51 项。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist]
|
|
@@ -7,11 +7,7 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
7
7
|
|
|
8
8
|
# 设计落地修改清单
|
|
9
9
|
|
|
10
|
-
> 收到 `design-handoff/v1` JSON
|
|
11
|
-
> 每一项标注:JSON 来源 → 项目文件 → 修改内容 → 验证点。
|
|
12
|
-
> 模板源码保持出厂状态,所有修改在 AI 生成/修改代码时完成。
|
|
13
|
-
>
|
|
14
|
-
> 1:1 还原要求见下方 F1-F27(框架组件)和 P1-P7(页面代码)步骤。
|
|
10
|
+
> 收到 `design-handoff/v1` JSON 后逐项执行。每项标注「JSON 来源 → 项目文件 → 修改内容 → 验证」。模板源码保持出厂状态,修改在 AI 生成/修改代码时完成。
|
|
15
11
|
|
|
16
12
|
## 设计产出落盘范围
|
|
17
13
|
|
|
@@ -48,13 +44,9 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
48
44
|
4. **设计输出未覆盖的区域 → 保持项目已有实现**,仅同步令牌(色彩/字体/圆角等)
|
|
49
45
|
5. **隐藏/移除功能性元素时**:在回复中明确列出被移除的元素,供用户确认是否需要补回
|
|
50
46
|
|
|
51
|
-
## 触发
|
|
52
|
-
|
|
53
|
-
会话中存在 `design-handoff/v1` JSON,或存在设计 HTML 且用户要求按设计适配工程代码 → 自动执行完整 C/T/F/Co/S/P,禁止只改主色或只改令牌。
|
|
54
|
-
|
|
55
47
|
## 规范识别回执(动手前必出)
|
|
56
48
|
|
|
57
|
-
> 动手前先
|
|
49
|
+
> 动手前先 `handoff plan` 生成实施 diff(读 JSON + 扫描项目),可选 `handoff init` 保存当次规格;状态默认存于项目内 `.design-handoff/`(通用,不依赖宿主目录)。
|
|
58
50
|
|
|
59
51
|
```markdown
|
|
60
52
|
## 规范识别回执
|
|
@@ -65,8 +57,11 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
65
57
|
- 主色阶:完整 10 级
|
|
66
58
|
- 侧栏:{shell.sidebar}
|
|
67
59
|
- 顶栏元素(JSON):{structureRequirements.frameworkShell.header 逐项列出}
|
|
60
|
+
- 顶栏分组(JSON):左 {frameworkShell.headerGroups.left} / 右 {frameworkShell.headerGroups.right}
|
|
61
|
+
- 页签位置(JSON):{shell.tabPlacement}(independent-row / inside-header)
|
|
62
|
+
- 布局类型(JSON):{meta.layoutKind}(admin / portal)→ 侧栏呈现 {frameworkShell.sider.present}
|
|
68
63
|
- 交互规格(JSON):tabsActive.underline / tableOperate.showIcon / menuActive.fullWidth 等
|
|
69
|
-
- 将改文件:platform-config.json / design-tokens.scss / navbar / sidebar / tabs / ReTableBar / ReTableOperate / element-plus.scss / 业务页面
|
|
64
|
+
- 将改文件:platform-config.json / design-tokens.scss / navbar / sidebar(若 present) / tabs / ReTableBar / ReTableOperate / element-plus.scss / 业务页面
|
|
70
65
|
```
|
|
71
66
|
|
|
72
67
|
---
|
|
@@ -123,9 +118,9 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
123
118
|
|
|
124
119
|
| # | JSON 来源 | 项目文件 | 修改内容 | 验证 |
|
|
125
120
|
|---|---------|---------|---------|------|
|
|
126
|
-
| F1 | `structureRequirements.frameworkShell.header` | `src/layout/components/lay-navbar/index.vue` |
|
|
121
|
+
| F1 | `structureRequirements.frameworkShell.header` + `frameworkShell.headerGroups.left` + `frameworkShell.headerGroups.right` | `src/layout/components/lay-navbar/index.vue` | 顶栏组成按 `headerGroups.left`/`right` 分左右两组(左组含折叠按钮,右组为语言/全屏/欢迎/头像等功能项);**设计中未体现的元素必须移除**(设置/通知/全屏/搜索/面包屑等) | 元素与设计完全一致,不多不少 |
|
|
127
122
|
| F2 | `interactionSpecs.languageSwitch` | navbar/ 语言切换组件 | **改为内联文字**(中 / EN),竖线分隔。激活态品牌色文字,非激活次要色。**禁止下拉框** | 语言切换为内联文字 |
|
|
128
|
-
| F3 | `structureRequirements.frameworkShell.headerLayout` | navbar/index.vue | flex
|
|
123
|
+
| F3 | `frameworkShell.headerGroups.left` + `frameworkShell.headerGroups.right` + `structureRequirements.frameworkShell.headerLayout` | navbar/index.vue | flex 两端对齐:左组(含折叠按钮)flex-start,右组(语言/全屏/欢迎/头像)flex-end;`layoutKind=portal` 时无侧栏则**折叠按钮隐藏** | 顶栏左右分组与设计一致 |
|
|
129
124
|
| F4 | `interactionSpecs.menuActive` → 头像区 | navbar/ 欢迎区 | 悬停态:头像微浮起 + 欢迎文字变品牌色 | hover 效果与设计一致 |
|
|
130
125
|
| F5 | `frameworkShell.header` 元素清单 | navbar/index.vue | **设置按钮**:设计无则 `display:none` 或删除组件引用 | 设置按钮不出现 |
|
|
131
126
|
| F6 | `frameworkShell.header` 元素清单 | navbar/index.vue | **通知/消息按钮**:设计无则隐藏 | 通知图标不出现 |
|
|
@@ -135,12 +130,14 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
135
130
|
|
|
136
131
|
### 3.2 侧栏 sidebar
|
|
137
132
|
|
|
133
|
+
> **条件守卫**:`frameworkShell.sider.present === false`(或 `meta.layoutKind === "portal"`)时,**跳过 F10-F18 全部侧栏步骤**,并同步:顶栏改为全宽(`left:0; right:100%`)、内容区 `margin-left:0`、折叠按钮隐藏(`headerGroups.left` 移除 `collapse`)。无侧栏布局不得残留任何侧栏 DOM/样式。
|
|
134
|
+
|
|
138
135
|
| # | JSON 来源 | 项目文件 | 修改内容 | 验证 |
|
|
139
136
|
|---|---------|---------|---------|------|
|
|
140
137
|
| F10 | `structureRequirements.frameworkShell.sidebar.logoArea` | `src/layout/components/sidebar/` | Logo 区:品牌色方块 + 白字首字(尺寸/圆角按 JSON 值),非默认彩色图标 | Logo 风格统一 |
|
|
141
|
-
| F11 | `
|
|
138
|
+
| F11 | `geometry.menuItemHeight` | sidebar/ + `element-plus.scss` | 菜单项高度按 JSON 值 | 间距有呼吸感 |
|
|
142
139
|
| F12 | `interactionSpecs.menuActive` | sidebar/ + `element-plus.scss` | **菜单激活态**:品牌色极浅底 + 右侧强调条 + 品牌色文字。**禁止纯蓝底白字** | 激活态视觉锚点清晰 |
|
|
143
|
-
| F13 | `
|
|
140
|
+
| F13 | `geometry.siderCollapsedWidth` | sidebar/ 折叠态 | 仅图标,宽度按 `geometry.siderCollapsedWidth` | 折叠宽度与设计一致 |
|
|
144
141
|
| F14 | `shell.sidebar` → 深色侧栏 | `theme.scss` / `sidebar.scss` | 侧栏背景色按 JSON/令牌库值(深色),非出厂白色 | 侧栏深色 |
|
|
145
142
|
| F15 | `frameworkShell.sidebar.collapseButtonPosition` | sidebar/ | **折叠按钮位置**:设计在顶部则放 Logo 区;设计在底部则放侧栏底部 | 折叠按钮位置与设计一致 |
|
|
146
143
|
| F16 | `frameworkShell.sidebar.bottomCollapse` | sidebar/ | **底部折叠按钮**:设计无则 **必须隐藏**(`display:none` 或删除底部触发器),折叠功能移至顶部 | 侧栏底部无折叠按钮 |
|
|
@@ -152,10 +149,11 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
152
149
|
| # | JSON 来源 | 项目文件 | 修改内容 | 验证 |
|
|
153
150
|
|---|---------|---------|---------|------|
|
|
154
151
|
| F19 | `shell.showModel` | `src/layout/components/tabs/` + `element-plus.scss` | 页签风格按设计值实现(line: 底部强调线;card: 卡片式;chrome: 谷歌式) | 风格与设计一致 |
|
|
152
|
+
| F19.1 | `shell.tabPlacement` | `src/layout/components/lay-tag/index.vue` + `element-plus.scss` | 页签位置由 JSON 驱动,禁止写死:**`independent-row`**=sticky 吸顶在顶栏正下方(`top: headerHeight`)、全宽(`left/right` 与顶栏一致),**禁止 `position:relative` 嵌入顶栏导致遮挡导航**;**`inside-header`**=嵌入顶栏右侧与功能组并排 | 页签位置与设计一致、不遮挡导航 |
|
|
155
153
|
| F20 | `structureRequirements.frameworkShell.tabs.homeTab` | tabs/ | 首页页签固定左侧,**不可关闭** | 首页页签行为正确 |
|
|
156
154
|
| F21 | `interactionSpecs.tabsActive` | `element-plus.scss` | 激活页签:品牌色文字 + 底部强调线(line 风格) | 激活态视觉与设计一致 |
|
|
157
|
-
| F22 | `interactionSpecs.
|
|
158
|
-
| F23 | `
|
|
155
|
+
| F22 | `interactionSpecs.tabsActive.underline` | `element-plus.scss` | **页签下划线居中**:`line` 模式下激活下划线与文字等宽、严格居中,禁止偏左/偏右 | 横线视觉居中 |
|
|
156
|
+
| F23 | `geometry.tabsHeight` | tabs/ + `design-tokens.scss` | 页签高度严格按 `--tabs-height`,内部 flex 垂直居中 | 文字垂直居中 |
|
|
159
157
|
| F24 | `interactionSpecs.tabsClose` | `element-plus.scss` | 关闭按钮始终可见,hover 变色(按 JSON `interactionSpecs.tabsClose` 值) | 关闭按钮行为正确 |
|
|
160
158
|
| F25 | `frameworkShell.tabs.contextMenu` | tabs/ | 右键菜单:刷新/关闭/关闭其他/关闭左侧/关闭右侧/全部关闭 | 右键菜单项与设计一致 |
|
|
161
159
|
|
|
@@ -403,14 +401,14 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
403
401
|
| 输入框聚焦 | `interactionSpecs.inputFocus` | `.el-input__wrapper:focus-within` | 输入框聚焦有光环 |
|
|
404
402
|
| 表格行 hover | `interactionSpecs.tableRowHover` | `.el-table tbody tr:hover` | 行 hover 有品牌色感 |
|
|
405
403
|
| 表头 | `visual.tableHeaderBorderBottom` | `.el-table thead th` | 表头有层次感 |
|
|
406
|
-
| 菜单激活 | `visual.
|
|
404
|
+
| 菜单激活 | `visual.menuActiveIndicator` | `.el-menu-item.is-active` | 菜单激活有锚点 |
|
|
407
405
|
| 分页激活 | `interactionSpecs.paginationActive` | `.el-pagination .is-active` | 分页激活页有品牌色 |
|
|
408
406
|
| 全局过渡 | `visual.transitionBase` | `*` (transition) | 交互有平滑感 |
|
|
409
407
|
| 暗色覆盖 | — | `html.dark` 下以上选择器 | 暗色模式完整 |
|
|
410
408
|
| 展开收起 hover | `interactionSpecs.collapseBtnHover` | `.vts-collapse-btn:hover` | hover 文字不变浅 |
|
|
411
409
|
| 操作列 hover | `interactionSpecs.actionBtnHover` | `.vts-table-area .el-button--text:hover` | 操作列 hover 文字加深 |
|
|
412
410
|
| 页签关闭 hover | `interactionSpecs.tabsCloseHover` | `.el-tabs__item .el-icon-close:hover` | 关闭按钮 hover 有反馈 |
|
|
413
|
-
| 页签下划线 | `interactionSpecs.
|
|
411
|
+
| 页签下划线 | `interactionSpecs.tabsActive.underline` | `.el-tabs__active-bar` | 横线居中 |
|
|
414
412
|
| 下拉选项 hover | `interactionSpecs.selectOptionHover` | `.el-select-dropdown__item.hover` | 下拉项 hover 有品牌色感 |
|
|
415
413
|
| 复选框 hover | `interactionSpecs.checkboxHover` | `.el-checkbox__inner:hover` | 复选框 hover 有反馈 |
|
|
416
414
|
| 开关过渡 | `interactionSpecs.switchTransition` | `.el-switch` | 开关切换有动画 |
|
|
@@ -509,6 +507,8 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
509
507
|
| 页面 | `structureRequirements.elementHideList` 项仍在代码中 | 硬失败:隐藏/删除 |
|
|
510
508
|
| 页面 | 状态 Tag 与 `interactionSpecs.statusTag` 不一致 | 硬失败:按 JSON 修正 |
|
|
511
509
|
| 页面 | `structureRequirements` 或 `interactionSpecs` 段未实现 | 硬失败:按 F1-F27 / P1-P7 + JSON 补充 |
|
|
510
|
+
| 页签位置 | `shell.tabPlacement=independent-row` 但页签 `position:relative` 嵌入顶栏(遮挡导航) | 硬失败:改为 sticky 独立成行,禁止嵌入顶栏 |
|
|
511
|
+
| 布局 | `meta.layoutKind=portal` / `frameworkShell.sider.present=false` 但侧栏仍呈现 | 硬失败:移除侧栏,顶栏全宽,内容区 `margin-left:0` |
|
|
512
512
|
|
|
513
513
|
### 8.3 配置 / 令牌 / 样式硬失败(与 JSON 字段对照)
|
|
514
514
|
|
|
@@ -760,18 +760,8 @@ tags: [handoff, design-tokens, upstream, artifacts, json, modification-checklist
|
|
|
760
760
|
|
|
761
761
|
---
|
|
762
762
|
|
|
763
|
-
###
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
4. **共享组件修改**(Co1-Co12)
|
|
769
|
-
5. **元素自查隐藏**(第四章)
|
|
770
|
-
6. **样式修改**(S1)
|
|
771
|
-
7. **页面代码生成**(P1-P7)
|
|
772
|
-
8. **设计还原度验证** — 加载 `design-verify.md`,执行 10.1-10.7 区域级验证 + 10.7.5 CSS 冲突检测 + 10.8 逐属性 CSS 校验 + 10.9 设计变更同步(如有)
|
|
773
|
-
9. **功能完整性核查**(第十一章)—— 检查功能坏没坏
|
|
774
|
-
10. **code-quality 闸门**
|
|
775
|
-
11. **输出报告**(设计还原度验证报告 + CSS 冲突检测报告 + 逐属性校验报告 + 功能完整性核查报告)
|
|
776
|
-
|
|
777
|
-
> ⚠️ **四条腿走路**:区域级还原度(10.1-10.7)+ CSS 结构级冲突检测(10.7.5)+ 属性级逐条校验(10.8-10.9)+ 功能完整性(第十一章)缺一不可。只改对样式但功能坏了 = 失败;功能正常但样式有偏差 = 也失败;区域级通过但属性级有遗漏 = 同样失败;属性级通过但 CSS 冲突导致生效值不确定 = 同样失败。四者全部通过才算完成。
|
|
763
|
+
### 执行顺序(单页 / 项目级通用)
|
|
764
|
+
|
|
765
|
+
C1-C8 → T1-T12 → F1-F27 → Co1-Co12 → 第四章隐藏 → S1 → P1-P7 → 设计还原度验证(`design-verify.md`)→ 功能完整性核查(第十一章)→ code-quality 闸门 → 输出报告。项目级模式在 C/T/F/Co/隐藏/S 各步全局一次,再遍历全部路由逐页执行 P1-P7。
|
|
766
|
+
|
|
767
|
+
> 还原度五支柱(缺一不可):区域级还原(第十章)+ CSS 结构级冲突检测(10.7.5)+ 属性级逐条校验(10.8-10.9)+ 几何自洽校验(`handoff geometry` 第 5 条腿:页签是否独立成行/通栏、门户是否无侧栏)+ 功能完整性(第十一章)。
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: design-system
|
|
3
3
|
description: 项目设计系统静态说明。描述令牌体系、主题系统、暗色模式、布局框架、EP 定制规则、加载顺序和禁止清单,供 AI 查阅。落地流程见 design-handoff.md,还原度验证见 design-verify.md。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [design-system, design-tokens, element-plus, theme, css-variables, dark-mode]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: design-verify
|
|
3
3
|
description: 设计还原度验证 — 区域级验证(10.1-10.7) + 逐属性CSS校验(10.8) + 设计变更增量同步(10.9)。C/T/F/Co/S/P 执行完成后按本文件逐项验证。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [handoff, verify, css-audit, design-sync, hard-fail]
|
|
@@ -27,6 +27,8 @@ tags: [handoff, verify, css-audit, design-sync, hard-fail]
|
|
|
27
27
|
10.8 逐属性 CSS 校验(从设计源文件提取属性 → 逐条比对项目代码 → 回读校验)
|
|
28
28
|
↓
|
|
29
29
|
10.9 设计变更增量同步(仅设计变更时执行)
|
|
30
|
+
↓
|
|
31
|
+
10.10 几何自洽校验(第 5 条腿:`handoff geometry` 断言盒子关系,不依赖截图)
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
---
|
|
@@ -35,7 +37,7 @@ tags: [handoff, verify, css-audit, design-sync, hard-fail]
|
|
|
35
37
|
|
|
36
38
|
> **验证真相源顺序**:当次 handoff JSON(`structureRequirements` + `interactionSpecs`)> 设计 HTML > 设计 skill references > 模板出厂默认值。
|
|
37
39
|
|
|
38
|
-
1. 读取 session
|
|
40
|
+
1. 读取 session(项目内 `.design-handoff/handoff.json`)或会话中的 handoff JSON
|
|
39
41
|
2. 从 JSON 展开**本次验证清单**(非 skill 静态表):
|
|
40
42
|
- `frameworkShell.header` → 顶栏元素逐项
|
|
41
43
|
- `interactionSpecs.tabsActive.underline` → 决定是否检查下划线
|
|
@@ -420,6 +422,29 @@ AI 在执行设计还原度验证时,按以下步骤操作:
|
|
|
420
422
|
- 变更项已正确落地
|
|
421
423
|
- 未变项未被误改
|
|
422
424
|
|
|
425
|
+
## 10.10 几何自洽校验(第 5 条腿 · 盒子关系,不依赖截图)
|
|
426
|
+
|
|
427
|
+
> 区域级(10.2-10.7)+ 结构级(10.7.5)+ 属性级(10.8)检查的是"值对不对",但**不检查盒子之间的重叠/通栏关系**——这正是用户截图里"页签遮挡导航""页签未通栏"这类毛病的来源。
|
|
428
|
+
> 本节用 `handoff geometry` 纯静态断言(读 `design-tokens.scss` + 实际 CSS 的盒模型),**不依赖截图**,符合无多模态约束。
|
|
429
|
+
|
|
430
|
+
**触发**:C/T/F/Co/S/P 完成后、功能核查前执行。
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
node scripts/handoff.mjs geometry --project <项目> [--design-json <handoff.json>]
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
**断言项**(以当次 JSON 为准):
|
|
437
|
+
|
|
438
|
+
| 断言 | 期望 | 命中失败含义 |
|
|
439
|
+
|------|------|------|
|
|
440
|
+
| 顶栏高度令牌 == 设计几何 | `--header-height` == `geometry.headerHeight` | 令牌未写或写错 |
|
|
441
|
+
| 页签独立成行(independent-row) | 页签 `position: sticky` 且**非 `relative` 嵌入顶栏** | `position:relative` 嵌入顶栏 = 遮挡导航根因 |
|
|
442
|
+
| 页签 top == 顶栏高度 | 吸顶贴顶栏正下方,不与导航重叠 | 页签压住导航 |
|
|
443
|
+
| 门户布局:侧栏不呈现 | `layoutKind=portal`/`sider.present=false` 时无侧栏 DOM/样式 | 残留侧栏 |
|
|
444
|
+
| 门户布局:内容区 margin-left==0 | 无侧栏时左偏移为 0 | 内容区被侧栏宽度挤偏 |
|
|
445
|
+
|
|
446
|
+
**结论**:任一 ✗ = 硬失败,回到对应 F 步骤修正后重跑,直到零冲突。
|
|
447
|
+
|
|
423
448
|
### 10.9.4 同步报告
|
|
424
449
|
|
|
425
450
|
```markdown
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: v-copy 一键复制、v-auto-font 标题字号自适应
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [一键复制, 标题字号自适应, v-copy, v-auto-font, 复制, 字号自适应]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: directives-advanced
|
|
3
|
+
description: v-copy 一键复制、v-auto-font 标题字号自适应
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [一键复制, 标题字号自适应, v-copy, v-auto-font, 复制, 字号自适应]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# 高级自定义指令(复制 / 自适应字号)
|
|
9
9
|
|
|
10
10
|
> 按本文件示例编写,复用项目已有 `v-copy` / `v-auto-font`,勿另起一套复制或字号自适应实现。
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: ReAttachment 附件管理:上传、下载、删除、数据适配、表单校验
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [附件, ReAttachment, ReFileViewer, 预览, 上传, 文件上传, 图片上传, 断点续传, 分片上传, 打印, 截图, 视频播放, 音频, 文件预览]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: file-management
|
|
3
|
+
description: ReAttachment 附件管理:上传、下载、删除、数据适配、表单校验
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [附件, ReAttachment, ReFileViewer, 预览, 上传, 文件上传, 图片上传, 断点续传, 分片上传, 打印, 截图, 视频播放, 音频, 文件预览]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# 文件管理与预览
|
|
9
9
|
|
|
10
10
|
> 按下列示例编写。
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: form-advanced
|
|
3
3
|
description: 弹窗(ReDialog / ReDialogResize)、远程下拉、级联、锚点、卡片选择、地址解析等高级表单能力。图标选择完整规范见 icons 模块。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [form, dialog, ReDialog, ReDialogResize, ReSelectQuery, ReCascader, iconPicker, anchor, address-parse, 抽屉, 步骤条, 折叠面板, 穿梭框, 分步表单, 联动, 动态表单, 日历, 时间选择, 日期选择, 下拉选择, 拖动, 拖拽排序]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: relation-graph-vue3 知识图谱页面结构、节点/连线类型
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [图谱, relation-graph, 关系图, 知识图谱, 关系网络]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: graph-relation
|
|
3
|
+
description: relation-graph-vue3 知识图谱页面结构、节点/连线类型
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [图谱, relation-graph, 关系图, 知识图谱, 关系网络]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# 知识图谱(relation-graph)
|
|
9
9
|
|
|
10
10
|
> 必须使用选型表中的 `relation-graph-vue3`,勿改用 D3 / vis.js 等同类库。按下列示例编写。
|
package/references/http-api.md
CHANGED
package/references/icons.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: icons
|
|
3
3
|
description: 规范项目图标体系(本地 SVG 雪碧图、Iconify ep/ri、全局 svg-icon、ReIconPicker、菜单 meta.icon、UnoCSS presetIcons、svg?component)。在新增/选用图标、改菜单图标、图标选择器或内网离线图标时调用。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [vue3, icon, svg-icon, ReSvgIcon, ReIconPicker, iconify, ep, ri, unocss, menu-icon]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: layout-theme
|
|
3
3
|
description: 布局、主题色、暗黑模式、侧栏配色、Design Tokens、UnoCSS、响应式。修改布局/主题/颜色时加载。上游设计产出落地见 design-handoff / design-verify / design-system。
|
|
4
4
|
scope: project
|
|
5
5
|
tags: [vue3, layout, theme, dark-mode, css-variables, design-tokens, element-plus, vant, dual-ui, unocss, chroma-js, 标签页, 面包屑, tabs, breadcrumb]
|
package/references/mobile-h5.md
CHANGED
package/references/particles.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: tsParticles 登录背景粒子、@tsparticles/slim、particlesOptions
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [粒子, tsparticles, 登录背景粒子, 粒子动画]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: particles
|
|
3
|
+
description: tsParticles 登录背景粒子、@tsparticles/slim、particlesOptions
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [粒子, tsparticles, 登录背景粒子, 粒子动画]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# 粒子特效(tsParticles)
|
|
9
9
|
|
|
10
10
|
> 按本文件示例编写,复用项目已有 `@tsparticles/*` 注册与 `src/utils/particles.ts` 配置,勿另起一套粒子实现,勿引入 `particles.js`。
|
package/references/rich-text.md
CHANGED
package/references/table-vxe.md
CHANGED
package/references/tree-table.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: handleTree/buildHierarchyTree 和 el-table 树形表格、树与表格联动
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [树表, ReTreeLine, handleTree, 树形, 树状, 层级表格, 组织架构, 部门树, 树形列表, 树状表格]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: tree-table
|
|
3
|
+
description: handleTree/buildHierarchyTree 和 el-table 树形表格、树与表格联动
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [树表, ReTreeLine, handleTree, 树形, 树状, 层级表格, 组织架构, 部门树, 树形列表, 树状表格]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# 树形表格与树结构
|
|
9
9
|
|
|
10
10
|
> 使用 `handleTree` / `ReTreeLine` + `el-table` tree,按本示例编写。
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
description: WebSocket 实时通信架构 utils/websocket + useWebSocket
|
|
4
|
-
scope: project
|
|
5
|
-
tags: [websocket, ws, 实时, 消息推送, 实时推送, 在线状态]
|
|
6
|
-
---
|
|
7
|
-
|
|
1
|
+
---
|
|
2
|
+
name: websocket-realtime
|
|
3
|
+
description: WebSocket 实时通信架构 utils/websocket + useWebSocket
|
|
4
|
+
scope: project
|
|
5
|
+
tags: [websocket, ws, 实时, 消息推送, 实时推送, 在线状态]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
8
|
# WebSocket 实时通信
|
|
9
9
|
|
|
10
10
|
> 使用 `utils/websocket` + `useWebSocket`,勿另起一套 WS 管理器。
|
package/references/wechat-js.md
CHANGED
package/scripts/check.mjs
CHANGED
|
@@ -30,6 +30,11 @@ const checks = [
|
|
|
30
30
|
desc: "高频 Demo 场景能力组命中验证",
|
|
31
31
|
cmd: () => run("python", "scripts/match.py", ["--batch"]),
|
|
32
32
|
},
|
|
33
|
+
{
|
|
34
|
+
name: "协议字段对账",
|
|
35
|
+
desc: "design-handoff.md 引用 vs handoff-output.md schema,无幽灵字段",
|
|
36
|
+
cmd: () => run(NODE, "scripts/field-schema-audit.mjs"),
|
|
37
|
+
},
|
|
33
38
|
];
|
|
34
39
|
|
|
35
40
|
function run(runner, script, args = []) {
|
|
@@ -60,6 +65,7 @@ for (const check of checks) {
|
|
|
60
65
|
const summary =
|
|
61
66
|
lines.find((l) => /^OK \d+\/\d+ scenarios/.test(l.trim())) ||
|
|
62
67
|
lines.find((l) => l.includes("校验通过")) ||
|
|
68
|
+
lines.find((l) => l.includes("幽灵字段")) ||
|
|
63
69
|
lines[lines.length - 1];
|
|
64
70
|
console.log(`\u2713 ${summary?.trim() || "OK"}`);
|
|
65
71
|
passed++;
|