feat(admin): 新增全套运营管理功能,修复核心路由bug及后端seed问题

修复Vue Admin布局中RouterView未绑定唯一key的问题,解决RBAC系统资源页面切换后内容不刷新的ISSUE-001故障,新增routeViewKey工具函数区分路由实例
完善路由配置,新增admin空路径路由,修复路由命名空路径告警
新增媒体管理、运维发布/重置页面,补全全站路由注册与动态路由过滤逻辑
新增玩法、线索、管家、系统资源管理的全套工具函数、业务组件及单元测试用例
修复后端app/seed.py中媒体资源重复检测未考虑会话内pending资源的bug,新增对应测试验证修复逻辑
修正alembic迁移版本0015的依赖关系,删除废弃的旧迁移文件
优化后端系统接口的字典序列化逻辑,简化重复代码
添加QA验收报告与相关测试截图,完善项目测试覆盖
This commit is contained in:
duanshuwen committed 2026-08-26 18:48:48 +08:00
1 parent fa6fd2a8eb
commit efab6d1398
73 files changed
+3963 -788

No files matched your search

+16 -7
View File
@@ -17,13 +17,13 @@
| --- | --- | --- | --- | --- | --- |
| 登录、刷新、退出 | `/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` 已读取全量配置;编辑/排序待迁移 | `/api/public/home`、`/api/public/site-config` | 读契约保持,编辑待验收 |
| 玩法分类与路线 | `/api/admin/wanfa/categories` 及分类/路线 CRUD | 已有 | `WanfaPage` 已读取分类和路线;写操作待迁移 | `/api/public/wanfa/categories` | 读流程已接入,写流程待迁移 |
| 路线详情 | `/api/admin/details` 及详情 CRUD | React 现有玩法流程依赖 | Vue API 类型和页面待补齐 | `/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 已有上传 | Vue 页面和上传流程待迁移 | 通过站点配置间接依赖 | 待迁移 |
| 发布、重置 | `/api/admin/publish`、`reset-guizhou-content` | React 现有入口/能力 | Vue 按权限增加二次确认后迁移 | 发布结果影响 Public API | 待迁移,执行前需要人工确认 |
| 首页与站点配置 | `/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 动态菜单、组件白名单和系统资源读取已接入 | 无 | 后端/读页面已接入,完整按钮授权待验收 |
@@ -37,3 +37,12 @@
## 删除 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 验收全部完成,并经人工确认后再处理。