# Checklist - [x] `database/db_seed.sql` 中客户管理子菜单:12 改名「客户档案管理」、14 改名「客户小程序授权管理」、删除 25/26、新增 27「空间拓扑与用电架构」(实际 id=32),id/父级/权限正确 - [x] `client/src/router/index.ts` 同步菜单标题,移除 building/room 路由,新增 topology 路由,无死链 - [x] 后端新增 `GET /customers/stats`,返回 total/statusCounts/levelCounts,并按登录人 salesman_id 过滤 - [x] `client/src/api/customer.ts` 提供 `getStats()` 且类型正确 - [x] 客户档案管理页重构符合 UI 风格:KPI 卡 + 搜索 + 表格,列/表单仅含数据库 `customer` 字段,无数据库不支持字段 - [x] 客户小程序授权管理页重构:标题为「客户小程序授权管理/定向邀请准入制」,列含微信绑定状态,操作含重置密码/解绑微信,无邀请类能力 - [x] 空间拓扑页:客户→建筑→房间 三层树渲染正确,节点新增/编辑/删除走现有 building/room API - [x] 废弃的 building/room 视图已处理,不再出现在菜单与路由 - [x] 前端类型检查通过(`npm run check` 0 错误),后端编译通过(`npm run build` 成功) - [ ] dev server 联调:菜单渲染、客户档案管理、小程序授权管理、空间拓扑增删改,salesman 数据权限一致(未在本会话启动 dev server 验证,如需可另行联调)