# 删除 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`,清理导航入口与过期注释。 **改动(纯前端)**: 1. `yunkes/src/router/index.ts`:移除 `/accounts` 路由记录;新增 `/accounts` → `/staff` 重定向(放在 customers 路由附近)。 2. 删除 `yunkes/src/views/AccountList.vue`。 3. `yunkes/src/layouts/MainLayout.vue`:移除指向 `/accounts` 的 ``。 4. `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`)—— StaffList `loadTab` 依赖,**不删**。 - 后端 `GET /api/accounts`、`Account` 模型—— 不动。 **不在本 plan**: - StaffList 本身的改动(仅注释)。 - 后端任何改动。 ## 2. 关键事实(plan 核实,grep `AccountList|/accounts|'accounts'`) - `router/index.ts:25-29`:`/accounts` route(name 'accounts', component AccountList.vue)。 - `MainLayout.vue:126`:``。 - `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 -b` exit 0(无对 AccountList 的悬空引用)。 - **浏览器实测**(本地,无云客): - 访问 `/accounts` → URL 变 `/staff`、StaffList 渲染(客户端重定向,非 HTTP 301)。 - 导航菜单无「账号」入口;其它菜单项不变。 - StaffList 正常加载(`getAccounts` 仍工作)。 - grep 全仓 `AccountList` 无 UI 残留引用(`api/index.ts` 的 `getAccounts`/`/accounts` 是后端调用,不算 UI 残留)。 ## 5. 风险 - **悬空引用**:若有遗漏的 `AccountList` import/`name:'accounts'` → vue-tsc 报错(plan grep 兜底)。 - **重定向 vs 路由匹配**:Vue Router 同路径 redirect + 无 component 即可;`/accounts` redirect 到 `name:'staff'`。