@qilitt-mickey/vue3-temp-skill 1.1.15 → 1.1.16
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 +1 -1
- package/references/code-quality.md +2 -2
- package/references/crud-pages.md +31 -1
- package/references/design-handoff.md +22 -15
- package/references/design-system.md +1 -1
- package/references/directives-advanced.md +1 -1
- package/references/layout-theme.md +3 -2
- package/references/project-inventory.md +1 -1
package/package.json
CHANGED
|
@@ -37,7 +37,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
37
37
|
| `toDetail` / 独立 `*Detail` 路由 | 路由无 `activePath`,或 `showLink` 非 `false` | `detail-page` 三件套 |
|
|
38
38
|
| 同上 | 默认场景缺 `keepAlive`/`moreTags`(业务未声明不要缓存) | 样板默认写出;不要缓存再删 |
|
|
39
39
|
| 同上 | 详情页无 `initToDetail`,或 `name` 与路由不一致 | 对齐 `defineOptions` |
|
|
40
|
-
| 列表页 | 无 `el-card.vts-page-card` / `100vh` 减顶栏定高 / 无 `tableHeight` / 分页在 ReTableBar 外 | `crud-pages` L1–
|
|
40
|
+
| 列表页 | 无 `el-card.vts-page-card` / `100vh` 减顶栏定高 / 无 `tableHeight` / 分页在 ReTableBar 外 / 操作列手写多按钮未用 `ReTableOperate` | `crud-pages` L1–L9 |
|
|
41
41
|
| `src/api/**` | 绕过 `@/utils/http`,或虚构 `/api` 前缀,或响应当 `success`/`code` | `http-api` |
|
|
42
42
|
| 下载/导出 API | 无 `responseType: "blob"` | `http-api` / `download-export` |
|
|
43
43
|
| 删除/危险操作 | 无确认框 | `feedback-loading` |
|
|
@@ -103,7 +103,7 @@ lint / type-check **过了也不能放过**下列项。发现即改代码,禁
|
|
|
103
103
|
- [ ] 规范识别回执;令牌 / `platform-config.json` / 侧栏主题一致
|
|
104
104
|
- [ ] 已建 `design-tokens.scss`;`index.scss` 中其 `@use` 最前
|
|
105
105
|
- [ ] 冲突清单已逐条处理(见 `design-system`)
|
|
106
|
-
- [ ] 有上游设计产出时已读 `design-handoff`:JSON 优先;按**全量令牌核对表 A~E**回填或回执「保留出厂」;`ShowModel
|
|
106
|
+
- [ ] 有上游设计产出时已读 `design-handoff`:JSON 优先;按**全量令牌核对表 A~E**回填或回执「保留出厂」;`ShowModel` 写 JSON 值(设计默认常 `line`);错误色 `#F5222D`;弹窗/壳层改令牌即生效
|
|
107
107
|
- [ ] **无**设计落地时未改出厂主色 / ShowModel / 壳层 / 弹窗几何默认
|
|
108
108
|
- [ ] 组件尺寸三档已落地并桥接 `--el-component-size*`;缺档落到 default;未全局强制 `size="small"`;**查询区不写 size**(三档对照表 ≠ 查询区要用 small)
|
|
109
109
|
|
package/references/crud-pages.md
CHANGED
|
@@ -45,10 +45,11 @@ useTableSearch(formQuery, searchFn, url)
|
|
|
45
45
|
| L2 | 不要写 `height: calc(100vh - …)` / 不要用 JS 测顶栏定高(壳层 + `.vts-page-card` 已填满) |
|
|
46
46
|
| L3 | 查询区 `bg-bg_color p-5`;展示区 `ReTableBar class="bg-bg_color"` |
|
|
47
47
|
| L4 | `ReGrid` `:gap="[0,20]"` + cols;表单项 `w-[100%] !mr-0`;`@should-show-collapse` |
|
|
48
|
-
| L5 |
|
|
48
|
+
| L5 | 查询区 `<ReGridItem suffix>`(查询 / 重置 / 展开收起) |
|
|
49
49
|
| L6 | 表格绑 `ref="multipleTableRef"` + `tableHeight`;分页在 `ReTableBar` `#default` 内、表格下方 |
|
|
50
50
|
| L7 | `RePagination`:`:pagination` + `@handle-current-change` / `@handle-size-change` |
|
|
51
51
|
| L8 | 查询与表之间的额外模块包一根元素绑 `otherRef`(须在表格上方,高度计入 `tableTop`) |
|
|
52
|
+
| L9 | 表格操作列 `ReTableOperate :list`;按钮过多用 `limit`(默认 **3**)自动「更多」下拉,见下文专节 |
|
|
52
53
|
|
|
53
54
|
```vue
|
|
54
55
|
<script setup lang="ts">
|
|
@@ -238,6 +239,34 @@ function handleSizeChange(size: number) {
|
|
|
238
239
|
|
|
239
240
|
补充:`ReTableOperate` 用 `:list`;`defineOptions.name` === 路由 `name`;`svgLoading` 来自 `useApp()`;列表定高走壳层令牌 + `vts-page-card`。
|
|
240
241
|
|
|
242
|
+
## 操作列按钮过多(ReTableOperate · 强制)
|
|
243
|
+
|
|
244
|
+
落点:`src/components/ReTableOperate`。列表行操作**必须**用本组件,禁止手写一排 `el-button` / 自造「更多」菜单。
|
|
245
|
+
|
|
246
|
+
### 行为(与模版一致)
|
|
247
|
+
|
|
248
|
+
| 项 | 约定 |
|
|
249
|
+
|----|------|
|
|
250
|
+
| `limit` | 默认 **`3`**:可见按钮总数阈值(含「更多」槽位) |
|
|
251
|
+
| ≤ `limit` | 全部以文字按钮平铺 |
|
|
252
|
+
| > `limit` | 前 **`limit - 1`** 个平铺,其余进 **「更多」** `el-dropdown` |
|
|
253
|
+
| 过滤顺序 | 先 `auth`(`hasAuth`)→ 再 `show(row)` → 再按 `limit` 折叠 |
|
|
254
|
+
| `size` | 组件默认 `small`(行内紧凑);可按列改 |
|
|
255
|
+
|
|
256
|
+
示例:`limit=3` 且有 5 个可见按钮 → 平铺 2 个 +「更多」(内含后 3 个)。
|
|
257
|
+
|
|
258
|
+
```vue
|
|
259
|
+
<!-- 默认折叠阈值 3 -->
|
|
260
|
+
<ReTableOperate :list="operateButtons" :row="row" :index="$index" />
|
|
261
|
+
|
|
262
|
+
<!-- 需要多露几个时再改,勿低于 2(否则「更多」几乎占满) -->
|
|
263
|
+
<ReTableOperate :list="operateButtons" :row="row" :index="$index" :limit="4" />
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
`OperateButton` 常用字段:`label`、`type`、`icon`、`auth`、`show`、`disabled`、`onClick`(见组件 `type.ts`)。危险操作用 `type: 'danger'`;权限写 `auth`,勿在列模板里 `v-if` 角色。
|
|
267
|
+
|
|
268
|
+
操作列 `width`:按钮多时适当加宽(如 160~220),仍依赖 `limit` 折叠,禁止无限加宽硬塞。
|
|
269
|
+
|
|
241
270
|
## 列表 → 详情/编辑
|
|
242
271
|
|
|
243
272
|
有独立详情/编辑路由时:**必须同时命中并深读 `detail-page`**。禁止只抄下面的 `toDetail` 就交卷。
|
|
@@ -349,4 +378,5 @@ async function onSubmit() {
|
|
|
349
378
|
| 只写 `toDetail`、详情路由缺 `activePath` | 三件套整段落盘(见 detail-page) |
|
|
350
379
|
| 裸 `router.push` 开详情 | `toDetail` + meta(见 detail-page) |
|
|
351
380
|
| `ReTableOperate :buttons` | `:list` |
|
|
381
|
+
| 操作列手写多颗 `el-button` / 自造更多菜单 | `ReTableOperate`;过多靠 `limit`(默认 3)进「更多」 |
|
|
352
382
|
| `@show-collapse` | `@should-show-collapse` |
|
|
@@ -14,7 +14,8 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
14
14
|
| **未调用设计 / 无 handoff** | 保持模版出厂令牌与 `platform-config`(主色 `#409EFF`、壳 64/208/40、margin 8、`ShowModel: chrome` 等)。**禁止**为「看起来像设计」而改出厂 |
|
|
15
15
|
| **有 design-handoff/v1 或用户要求按设计落地** | 以**设计规范**为准全量回填 `design-tokens` + 配置;设计 JSON/规范未给出的字段**保留出厂**;代码层须已消费 `var(--token)`,改令牌即全局生效 |
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
跨编辑器一致:设计侧 `handoff-output.md`(**JSON 字段形状**)+ 本文件(**→ 模版映射**)+ 模版 `design-tokens.scss` 注释对齐。
|
|
18
|
+
**分工**:设计师只改视觉规范正文,不维护本映射表;规范装进不了现有 JSON 时,由研发扩 `handoff-output` Schema 并同步改本文件。禁止只改文档不改令牌、或只改裸 px 不改令牌。
|
|
18
19
|
|
|
19
20
|
## 触发
|
|
20
21
|
|
|
@@ -64,10 +65,13 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
64
65
|
| `shell.sidebar` | `platform-config.json` → `Theme` + 侧栏令牌 | `dark-gradient` → 深色侧栏主题(如 `default`)+ 写入 `--sidebar-*`;`light` → 浅色侧栏,勿套深色渐变 |
|
|
65
66
|
| `shell.dataTheme` | `html[data-theme]` / 配置 | 有则用;无则按 sidebar/contentMode 推断,写回执 |
|
|
66
67
|
| `shell.contentMode` | 内容区默认亮暗 | 与 DarkMode / 用户确认对齐 |
|
|
67
|
-
| `shell.showModel` | `platform-config.json` → **`ShowModel`** |
|
|
68
|
+
| `shell.showModel` | `platform-config.json` → **`ShowModel`** | **以 JSON 为准**写入(设计当前默认 **`line`**;旧稿可能为 `card`) |
|
|
68
69
|
| `shell.contentMargin` | `--layout-content-padding`(及桥接 `--vts-margin`) | 数字 px,如 `24`(模版出厂常为 **8**;**有 handoff 才覆盖**) |
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
写入 `ShowModel` 后同步 `$storage.configure.showModel`(或 bump `Version` 清缓存)。
|
|
72
|
+
- **`card`**:写 `--vts-tag-card-*`(见 geometry)
|
|
73
|
+
- **`line`**:无容器文字页签(见 `notes` / `homeTabSize` / `tagDividerWidth`);模版若尚未实现该枚举 → 回执「待实现 line」,**禁止**静默改成 `card`;可先落令牌与配置,页签样式单开任务
|
|
74
|
+
- **`chrome` / `smart`**:仅当 JSON 明确要求时写入
|
|
71
75
|
|
|
72
76
|
### `geometry` → 令牌
|
|
73
77
|
|
|
@@ -78,9 +82,11 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
78
82
|
| `siderWidth` | `--sidebar-width` / `--layout-sider-width` |
|
|
79
83
|
| `siderCollapsedWidth` | `--sidebar-collapsed-width` / `--layout-sider-collapsed-width` |
|
|
80
84
|
| `contentPadding` / `shell.contentMargin` | `--layout-content-padding` → `--vts-margin`(不一致时以 `contentMargin` 为准并回执) |
|
|
81
|
-
| `tagCardHeight` | `--vts-tag-card-height
|
|
82
|
-
| `tagCardRadius` | `--vts-tag-card-radius
|
|
83
|
-
| `tagCardGap` | `--vts-tag-card-gap
|
|
85
|
+
| `tagCardHeight` | `--vts-tag-card-height`(`showModel=card`) |
|
|
86
|
+
| `tagCardRadius` | `--vts-tag-card-radius`(`showModel=card`) |
|
|
87
|
+
| `tagCardGap` | `--vts-tag-card-gap`(`showModel=card`) |
|
|
88
|
+
| `homeTabSize` | 首页纯图标页签边长(`showModel=line`,常见 40) |
|
|
89
|
+
| `tagDividerWidth` | 页签间竖分割线宽(`showModel=line`,常见 1) |
|
|
84
90
|
|
|
85
91
|
可选(设计组件规范提及或 handoff.notes 给出时写入):
|
|
86
92
|
|
|
@@ -147,12 +153,13 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
147
153
|
|
|
148
154
|
### 页签风格(ShowModel)
|
|
149
155
|
|
|
150
|
-
|
|
156
|
+
模版出厂常见:`smart` / `chrome` / `card`。设计 handoff 当前默认 **`line`**(无容器文字页签,见上游 `handoff-output.md`)。
|
|
151
157
|
|
|
152
158
|
| 场景 | `ShowModel` |
|
|
153
159
|
|------|-------------|
|
|
154
|
-
| 模版出厂、未落地设计 |
|
|
155
|
-
|
|
|
160
|
+
| 模版出厂、未落地设计 | 保持项目现有值,**勿强行改** |
|
|
161
|
+
| 设计 handoff 落地 | **写入 JSON 的 `shell.showModel`**(默认 `line`;旧 JSON 可能为 `card`) |
|
|
162
|
+
| JSON=`line` 且模版无实现 | 回执待实现;勿改写成 `card` |
|
|
156
163
|
| 用户在设置面板手动切换 | 以用户选择为准 |
|
|
157
164
|
|
|
158
165
|
侧栏派生(`shell.sidebar === "dark-gradient"` 时):
|
|
@@ -180,7 +187,7 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
180
187
|
## 规范识别回执
|
|
181
188
|
- 来源形态:design-handoff/v1 JSON | 交接块 | 令牌 CSS | 混合
|
|
182
189
|
- 主题:{themeName} / {themeId} / 主色 {brandPrimary}
|
|
183
|
-
- ShowModel:card(将写入)| 保持现有
|
|
190
|
+
- ShowModel:{json.showModel,如 line/card}(将写入)| 保持现有 | line 待实现
|
|
184
191
|
- 几何:header {n} / tabs {n} / margin {n}
|
|
185
192
|
- 主色阶:完整 10 级 | 仅 brand(待确认色阶)
|
|
186
193
|
- 侧栏:dark-gradient | light
|
|
@@ -195,7 +202,7 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
195
202
|
2. 规范识别回执
|
|
196
203
|
3. A→E(按映射表写)
|
|
197
204
|
4. F 冲突核对
|
|
198
|
-
5. 验证侧栏 / 主色 /
|
|
205
|
+
5. 验证侧栏 / 主色 / 页签(按 JSON `showModel`)/ 内容边距
|
|
199
206
|
6. 提醒清 `localStorage`(改了 `EpThemeColor` / `ShowModel` / `Version` 时)
|
|
200
207
|
7. 若同轮还有业务需求 → 再写/改 views(仅样式任务则到此结束)
|
|
201
208
|
|
|
@@ -211,7 +218,7 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
211
218
|
- 侧栏:深色渐变 | 浅色
|
|
212
219
|
- 内容区默认:亮色 | 暗黑
|
|
213
220
|
- 主色:`#HEX`
|
|
214
|
-
- ShowModel
|
|
221
|
+
- ShowModel:以设计为准(当前规范默认 `line`;旧稿 `card`)| `smart` | `chrome`(未落地设计时保留模版默认)
|
|
215
222
|
|
|
216
223
|
设计令牌 CSS 须含主色阶,并**建议含组件尺寸三档**:
|
|
217
224
|
|
|
@@ -251,8 +258,8 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
251
258
|
| 侧栏宽 / 收起 | `--sidebar-width` / `--sidebar-collapsed-width` | 208 / 64 |
|
|
252
259
|
| 内容区内边距 | `--layout-content-padding` → `--vts-margin` | 出厂 8;设计常 24 |
|
|
253
260
|
| 页脚高 | `--layout-footer-height` | 48 |
|
|
254
|
-
| 页签风格 | `ShowModel
|
|
255
|
-
|
|
|
261
|
+
| 页签风格 | `ShowModel` = JSON `shell.showModel`(默认 `line`;`card` 时写 `--vts-tag-card-*`) | 未落地勿改 |
|
|
262
|
+
| 页签关闭/错误色 | `--error-color` / `--error-6`;`card` 时尚有 `--vts-tag-card-close-*` | `#F5222D` |
|
|
256
263
|
|
|
257
264
|
### B. 色板与文字
|
|
258
265
|
|
|
@@ -302,7 +309,7 @@ tags: [handoff, design-tokens, upstream, artifacts, json]
|
|
|
302
309
|
|
|
303
310
|
| 条件 | 处理 |
|
|
304
311
|
|------|------|
|
|
305
|
-
|
|
|
312
|
+
| 用户要求按设计落地,但未写入 JSON 中的 `shell.showModel` | 硬失败:按 JSON 补写配置(默认常为 `line`) |
|
|
306
313
|
| JSON 有 `primaryScale` 但未写入 `--primary-0..9` | 硬失败 |
|
|
307
314
|
| 用 `#F56C6C` 或未映射的 EP danger 代替 `tokens.error` | 硬失败:改为 `#F5222D` / `--error-color` |
|
|
308
315
|
| 改了 `--layout-content-padding` / `--vts-margin` 后列表仍用 `100vh` 减顶栏定高 | 硬失败:迁 flex/`vts-page-card` |
|
|
@@ -405,7 +405,7 @@ tags: [design-system, design-tokens, antd, semi, arco, vuetify, findesign, eleme
|
|
|
405
405
|
| `sidebar.scss` | 侧栏执行 | 背景用 `background: var(--vts-theme-menu-bg)`(支持渐变);激活块 `--vts-theme-menu-active-bg`;边框 `--vts-sidebar-border-color` |
|
|
406
406
|
| `dark.scss` | 暗黑侧栏 | **禁止** `sidebar-container { background-color: var(--el-bg-color) }` 压盖渐变;改用 `background: var(--vts-theme-menu-bg)` |
|
|
407
407
|
| `platform-config.json` | 顶栏/主题 | `EpThemeColor` = 规范 primary-5;深色侧栏时 `Theme: default`(或对应 data-theme) |
|
|
408
|
-
| `layout/components/lay-tag` | 页签栏高度 / 风格 | 高度走 `--vts-tabs-height
|
|
408
|
+
| `layout/components/lay-tag` | 页签栏高度 / 风格 | 高度走 `--vts-tabs-height`;设计落地写 JSON `ShowModel`(默认 `line`;`card` 时用 `--vts-tag-card-*`) |
|
|
409
409
|
| `layout/components/lay-navbar` 等 | 顶栏内容区 | 行高/高度跟随 `--vts-bar-height`,禁止残留 `h-38` 等旧模版裸值 |
|
|
410
410
|
|
|
411
411
|
4. 暗黑模式:在 `dark.scss` 内为新增令牌补暗色覆盖(`--vts-table-header-bg`、`--vts-message-bg`、`--vts-dialog-bg` 等),遵守 `layout-theme` 第三节规则。
|
|
@@ -109,7 +109,7 @@ src/directives/
|
|
|
109
109
|
|
|
110
110
|
## 关键约定
|
|
111
111
|
|
|
112
|
-
1. 权限指令优先使用 `v-auth`;列表行操作优先使用 `ReTableOperate` 的 `auth`
|
|
112
|
+
1. 权限指令优先使用 `v-auth`;列表行操作优先使用 `ReTableOperate` 的 `auth` 字段(按钮过多用组件 `limit` 默认 3 折叠进「更多」,见 `crud-pages`)。
|
|
113
113
|
2. `v-copy` 的值更新后自动同步,不需要手动重新绑定。
|
|
114
114
|
3. `v-auto-font` 依赖 `ResizeObserver` 监听容器宽度变化。
|
|
115
115
|
4. `v-compare` 全套能力按 **data-compare** 模块生成,禁止编造数值比较数组语法。
|
|
@@ -336,7 +336,7 @@ $sideBarWidth: var(--sidebar-width, 208px);
|
|
|
336
336
|
1. 页面组件通过 `<router-view>` 嵌套在布局内渲染。
|
|
337
337
|
2. 布局切换通过 store 中的 `layout` 字段控制。
|
|
338
338
|
3. 侧边栏菜单数据来源于路由配置中的 `meta` 信息。
|
|
339
|
-
4. 标签页(TagsView
|
|
339
|
+
4. 标签页(TagsView):出厂常见 `smart` / `chrome` / `card`;由 `configure.showModel` / `platform-config.json` 的 `ShowModel` 控制。设计 handoff 当前默认 **`line`**(无容器文字页签,见 `design-handoff`);旧设计稿可能仍为 `card`。
|
|
340
340
|
|
|
341
341
|
### 页签风格(ShowModel)
|
|
342
342
|
|
|
@@ -345,8 +345,9 @@ $sideBarWidth: var(--sidebar-width, 208px);
|
|
|
345
345
|
| `smart` | 灵动 | 底部指示条动画 |
|
|
346
346
|
| `chrome` | 谷歌 | Chrome 梯形页签(模版常见出厂) |
|
|
347
347
|
| `card` | 卡片 | 关闭钮绝对定位不占位;显现时用不透明页签底盖字;再 hover 关闭钮:圆形底 `--layout-bg`/`--bg-layout` + 图标 `--error-6`/`--error-color`=`#F5222D`(勿用 EP `#F56C6C` 偏橘) |
|
|
348
|
+
| `line` | 线型/文字 | 设计规范当前默认:无容器、高满栏、分割线、关闭始终可见、首页纯图标;**模版实现前** handoff 仍写入该值并回执待实现 |
|
|
348
349
|
|
|
349
|
-
|
|
350
|
+
`card` 改色/几何优先改 `--vts-tag-card-*`(见 `index.scss` `:root`),勿再复制一套选择器。`line` 实现后另挂对应令牌,勿冒充 `card`。
|
|
350
351
|
|
|
351
352
|
### 顶栏 / 页签高度
|
|
352
353
|
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
| **ReSmsCode** | 短信倒计时 | `ReSmsCode/` | `verify-captcha` |
|
|
203
203
|
| **ReSvgIcon** | SVG / Iconify | `ReSvgIcon/` | `icons` |
|
|
204
204
|
| **ReTableBar** | 表格工具栏 | `ReTableBar/` | `crud-pages` |
|
|
205
|
-
| **ReTableOperate** |
|
|
205
|
+
| **ReTableOperate** | 行操作(`limit` 默认 3,超出进「更多」) | `ReTableOperate/` | `crud-pages` |
|
|
206
206
|
| **ReText** | 文本省略 | `ReText/` | `layout-theme` |
|
|
207
207
|
| **ReTimeLine** | 时间轴 | `ReTimeLine/` | `detail-page` / 业务 |
|
|
208
208
|
| **ReTreeLine** | 树连线 | `ReTreeLine/` | `tree-table` |
|