修复Vue Admin布局中RouterView未绑定唯一key的问题,解决RBAC系统资源页面切换后内容不刷新的ISSUE-001故障,新增routeViewKey工具函数区分路由实例 完善路由配置,新增admin空路径路由,修复路由命名空路径告警 新增媒体管理、运维发布/重置页面,补全全站路由注册与动态路由过滤逻辑 新增玩法、线索、管家、系统资源管理的全套工具函数、业务组件及单元测试用例 修复后端app/seed.py中媒体资源重复检测未考虑会话内pending资源的bug,新增对应测试验证修复逻辑 修正alembic迁移版本0015的依赖关系,删除废弃的旧迁移文件 优化后端系统接口的字典序列化逻辑,简化重复代码 添加QA验收报告与相关测试截图,完善项目测试覆盖
5.6 KiB
5.6 KiB
WonderQ Admin 业务功能矩阵
本文档是 A+B 并行重构的第一阶段基线。矩阵以当前后端路由、契约文档、React 页面和 MiniAPP 公共接口为准;“已接入”只表示代码已具备,不代表已经完成人工验收。
端与路径
| 端 | 目录 | 当前路径 | 迁移策略 |
|---|---|---|---|
| 后端 | WonderQ-Admin |
/api |
保持 Docker Compose、PostgreSQL、Redis、JWT 和 {code,msg,data} 契约 |
| Vue 管理端 | WonderQ-Admin-UI-Vue |
本地 /admin/,生产 /admin |
新权限壳和业务切片逐项迁移 |
| React 管理端 | WonderQ-Admin-UI |
本地 5602,生产 /admin-legacy |
过渡运行,已接入 Refresh Token 自动刷新 |
| 前台 | WonderQ-MiniAPP |
H5/微信小程序 | 不整体重写,只验证 Public API 兼容 |
业务覆盖矩阵
| 业务切片 | 后端接口/数据 | React 过渡端 | Vue 迁移端 | MiniAPP 依赖 | 当前验收状态 |
|---|---|---|---|---|---|
| 登录、刷新、退出 | /api/admin/auth/login、refresh、logout、/api/admin/me |
兼容旧 token/user 字段,401 自动刷新 |
登录页、内存 Access Token、HttpOnly Refresh Cookie | 无 | 自动化通过,待浏览器人工验收 |
| 仪表盘 | /api/admin/dashboard |
已有 | DashboardPage 已接入 |
无 | 读流程已接入 |
| 首页与站点配置 | /api/admin/site-config 及模块 CRUD、排序 |
已有 | HomePage 已迁移全部 7 类站点模块的读写、删除和可用模块排序;单例模块禁止重复创建 |
/api/public/home、/api/public/site-config |
契约、表单校验、接口回归和页面入口已通过,真实数据写入待人工确认 |
| 玩法分类与路线 | /api/admin/wanfa/categories 及分类/路线 CRUD |
已有 | WanfaPage 已迁移分类/路线新增、编辑、删除、排序和非空分类删除保护 |
/api/public/wanfa/categories |
契约、接口回归和页面入口已通过,真实数据写入待人工确认 |
| 路线详情 | /api/admin/details 及详情 CRUD |
React 现有玩法流程依赖 | 已集成到 Vue 路线编辑器,支持详情字段、数组文案、管家关联、启用状态和图片上传/排序 | /api/public/details/{key} |
契约、接口回归和页面入口已通过,真实数据写入待人工确认 |
| 管家 | /api/admin/concierge/advisors 及 CRUD |
已有 | ConciergePage 已接入新增、编辑、启停、排序、删除和头像/二维码上传 |
/api/public/concierge/advisors、详情顾问信息 |
契约、表单校验和页面入口已通过,真实写入待人工确认 |
| 需求线索 | /api/admin/leads、状态更新 |
已有筛选和状态流转 | LeadsPage 已接入类型、状态、关键词筛选、详情查看和六态状态写入 |
/api/public/leads |
契约、有效会话下的列表/筛选/详情页面验收已通过,真实状态写入待人工确认 |
| 媒体 | /api/admin/media-assets、上传 |
React 已有上传 | MediaPage 已接入素材列表、分组、批量上传和图片校验;玩法/管家继续复用上传入口 |
通过站点配置间接依赖 | 契约、列表和上传入口已通过,真实上传待人工确认 |
| 发布、重置 | /api/admin/publish、reset-guizhou-content |
React 现有入口/能力 | OperationsToolsPage 已接入发布和重置,均有权限控制、进行中禁用和二次确认 |
发布结果影响 Public API | 入口和确认闸门已通过,执行前必须人工确认 |
| RBAC 用户 | /api/admin/system/users |
旧角色字段继续兼容 | 系统资源入口已接入读取 | 无 | 后端/读页面已接入,编辑待迁移 |
| RBAC 角色、菜单、部门 | /api/admin/system/roles、menus、depts |
旧端不删除 | Vue 动态菜单、组件白名单和系统资源读取已接入 | 无 | 后端/读页面已接入,完整按钮授权待验收 |
隐藏和横向能力清单
- Admin API 还包括模块新增、更新、删除、排序,以及详情、玩法、管家、首页内容的审计日志。
- 迁移不能只检查可见菜单;
media-assets、publish、reset-guizhou-content、仪表盘统计和所有排序接口必须在验收记录中逐项确认。 - Public API 的首页、玩法、详情、管家、线索和用车需求依赖继续由 MiniAPP 访问;Admin API 不向 MiniAPP 暴露。
- 新 RBAC 迁移为
0025_admin_rbac,资源归属迁移为0026_admin_ownership。两者只提交迁移文件,不在本阶段自动升级数据库。
删除 React 的闸门
只有当矩阵中 Vue 列全部变为“已接入并人工验收”,并且登录刷新、权限、数据范围、Redis 故障、Public API 回归和 Docker 验证记录齐全后,才可以征求确认切换 /admin 与删除 /admin-legacy。
阶段验收记录(2026-08-26)
- 线索状态:已在 Vue 管理端将真实线索从“待处理”改为“已联系”,再恢复为“待处理”,写入和恢复均成功。
- 发布与重置:发布成功;重置成功,Public API 和 MiniAPP 已读取重置后的站点内容。
- RBAC:用户、角色、菜单、部门均完成真实编辑写入并恢复原值,编辑成功提示和最终列表值正常。
- 媒体上传:按当前验收顺序暂缓,放到最后;此前验证发现 OSS 返回 403,尚未形成素材记录。
- 自动化回归:Vue 15 个测试文件、25 个测试通过,TypeScript 检查和生产构建通过;后端 134 个测试通过,7 个既有 Alembic 兼容性测试失败,未涉及本轮站点重置和 RBAC 改动。
- React 删除:未执行。需待媒体上传、登录刷新、权限/数据范围、Redis 异常、Public API 和 Docker 验收全部完成,并经人工确认后再处理。