82f7505298
Co-Authored-By: Claude <noreply@anthropic.com>
2.9 KiB
2.9 KiB
删除 AccountList 页(/accounts → /staff 重定向)设计
日期:2026-08-08|分支:
feat/yunke-data-mirror|总 spec 收尾(§「AccountList 删除清单」L115-122) 背景:AccountList(/accounts)与 StaffList(/staff)内容重复,云客无此页。总 spec 定:删路由+文件+导航入口,/accounts→/staff客户端重定向;保留后端GET /api/accounts与前端getAccounts()(StaffList 依赖)。
1. 目标与范围
目标:删除冗余的 AccountList 页,/accounts 客户端重定向到 /staff,清理导航入口与过期注释。
改动(纯前端):
yunkes/src/router/index.ts:移除/accounts路由记录;新增/accounts→/staff重定向(放在 customers 路由附近)。- 删除
yunkes/src/views/AccountList.vue。 yunkes/src/layouts/MainLayout.vue:移除指向/accounts的<el-menu-item>。yunkes/src/views/StaffList.vue:更新 2 处注释("reused from AccountList.vue" → "reused from accountFields.ts")—— drawer 实际来自accountFields.ts,与 AccountList.vue 无文件依赖。
不动(保留数据层):
yunkes/src/api/index.ts的getAccounts()(→ 后端/api/accounts)—— StaffListloadTab依赖,不删。- 后端
GET /api/accounts、Account模型—— 不动。
不在本 plan:
- StaffList 本身的改动(仅注释)。
- 后端任何改动。
2. 关键事实(plan 核实,grep AccountList|/accounts|'accounts')
router/index.ts:25-29:/accountsroute(name 'accounts', component AccountList.vue)。MainLayout.vue:126:<el-menu-item index="/accounts">。StaffList.vue:27, 836:注释提及 AccountList.vue。api/index.ts:123:getAccounts调/accounts(后端,保留)。- 无其它 UI 引用(无
router.push({name:'accounts'})、无其它/accounts链接)。 /重定向到customers;catch-all/:pathMatch(.*)*→ customers。
3. 文件清单
- 改
yunkes/src/router/index.ts(删 route + 加 redirect)。 - 删
yunkes/src/views/AccountList.vue。 - 改
yunkes/src/layouts/MainLayout.vue(删 menu-item)。 - 改
yunkes/src/views/StaffList.vue(2 处注释)。 - 不改
api/index.ts、后端。
4. 验收
vue-tsc -bexit 0(无对 AccountList 的悬空引用)。- 浏览器实测(本地,无云客):
- 访问
/accounts→ URL 变/staff、StaffList 渲染(客户端重定向,非 HTTP 301)。 - 导航菜单无「账号」入口;其它菜单项不变。
- StaffList 正常加载(
getAccounts仍工作)。 - grep 全仓
AccountList无 UI 残留引用(api/index.ts的getAccounts//accounts是后端调用,不算 UI 残留)。
- 访问
5. 风险
- 悬空引用:若有遗漏的
AccountListimport/name:'accounts'→ vue-tsc 报错(plan grep 兜底)。 - 重定向 vs 路由匹配:Vue Router 同路径 redirect + 无 component 即可;
/accountsredirect 到name:'staff'。