feat: 实现管理后台 W1-W3 假数据界面

This commit is contained in:
Nixevol
2026-09-30 07:02:33 +08:00
parent 8dde564517
commit 1cff321f2a
33 changed files with 4773 additions and 31 deletions
+30 -1
View File
@@ -389,7 +389,36 @@
## 后台网页 W
暂无。
1. **W1–W3 阶段使用内存假数据,不请求真实 `/api/admin`**
- 原条款:TASKS W1–W3「先按契约用假数据」;admin-api.md 第 11 节。
- 实际做法:`web/src/api/admin.ts` 统一导出接口函数,内部调用 `mock.ts`;`http.ts` 已实现带 `X-Nixmsg-Request: 1` 的真实请求封装,供 W4 切换。
- 原因:A 线管理接口尚未合入,页面与契约可并行开发。
- 备选:用 MSW 拦截 fetch;当前集中换 `admin.ts` 更简单。
- 假登录口令:`admin` / `adminpassword`(仅本地 mock,不进后端)。
2. **列表分页用页码映射 cursor 偏移**
- 原条款:admin-api 使用 `cursor`/`limit` 游标分页。
- 实际做法:假数据把 `page` 编成数字偏移 cursor(`String((page-1)*limit)`),`n-data-table` remote 分页照常。
- 原因:Naive UI 表格以页码交互;契约游标对前端透明即可。
- 备选:W4 若后端 cursor 非偏移编码,在 `admin.ts` 内适配,页面仍用页码。
3. **帮助图标不用独立图标库**
- 原条款:DEVELOPMENT 2.4 用 `n-tooltip`;协作规则要求只用 Naive UI。
- 实际做法:`HelpTip` 用带边框的 `?` 文字触发 tooltip,不引入 `@vicons/*`。
- 原因:避免第二套依赖;视觉已够用。
- 备选:若设计要求统一图标,可只加 `@vicons/ionicons5` 作图标资源(仍非第二套组件库)。
4. **操作日志页本期未做**
- 原条款:PRD F17 含管理操作日志;admin-api 写明改状态请求记日志,但未单列日志查询路由。
- 实际做法:W3 菜单不含操作日志页。
- 原因:契约无列表接口,无法按契约做假数据页。
- 备选:A 线补查询接口后 W4/后续补页。
5. **端「踢下线」放在行内操作,未单独成页**
- 原条款:PRD F17 含踢下线。
- 实际做法:端列表行操作调用 `POST .../kick`。
- 原因:与重置密码、解锁同级的行内动作更贴桌面工作流。
- 备选:无。
## SDK 一 S1