Files
yingqing/docs/todo/admin-后台-完成报告.md
T
seaislee1209andClaude Opus 4.8 e702cb7433 docs(admin): 平台 Admin 后台 + 注册邀请码 Phase 0-9 完成报告
10 个 Phase 全落地;总验证 105/112 后端测试过(6 FAIL+1 ERROR 全为进场前既有 image_edit mock,零新增回归);
e2e p0-p9 全过 + 0 console error;tsc+build 绿。未 push。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 22:54:18 +08:00

43 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 平台 Admin 后台 + 注册邀请码 · 完成报告
> 计划:`gleaming-sleeping-ullman.md`(Phase 09 全做)· 落地日期 2026-06-19 · 全程本地 commit、**未 push**。
> 测试服 MySQL 已 apply 全部 migration;平台超管 `admin/admin123` 已建。
## 一句话
平台超管后台(10 个 Phase)+ 注册邀请码优先逻辑**全部落地**,每个 Phase 都过了「后端单测 + 无头浏览器 e2e + tsc/build + 0 console error」四层测试,本地 10 个 commit 存档。
## 总验证结果
| 项 | 结果 |
| --- | --- |
| 后端单测(accounts+adminpanel+billing) | ✅ 全绿(adminpanel 53 + accounts 22 + billing 全过) |
| 全后端套件 112 测试 | ✅ 105 过;6 FAIL+1 ERROR **全为进场前既有**(apps.projects 3+1、apps.ai 3 —— image_edit/base-asset provider 路由 mock,Phase 4 已 git-stash 比对 HEAD 同样失败)→ **零新增回归** |
| 前端 `tsc --noEmit` + `npm run build` | ✅ 全绿 |
| 无头 e2e `_admin-p0..p9.mjs` | ✅ 10 个全过 + **0 console error** |
| 回归红线(登录/注册/团管/生成链路) | ✅ 零回归(accounts 全绿;billing reserve_credit 改动 guarded;生成 builder 无配置回落写死值) |
## 各 Phase ✅
| Phase | 内容 | 单测 | e2e | commit |
| --- | --- | --- | --- | --- |
| 0 | 平台超管基础(is_platform_admin + 权限类 + create_platform_admin + AdminAuditLog + 后台外壳/路由 gating) | 11 ✅ | p0 ✅ | 443023a |
| 1 | 注册邀请码逻辑(kind 分流 + validate-invite + 码必填 + 注册页码优先重做) | 22 ✅ | p1 ✅ | 3f85475 |
| 2 | 邀请码发放管理(apps/adminpanel + 发开团队码/列跨团队/撤销) | 31 ✅ | p2 ✅ | 45a4cea |
| 3 | 平台团队 + 用户管理(列/启停/详情/强制改密 + 团队停用拦登录) | 41 ✅ | p3 ✅ | 6560633 |
| 4 | 质量词 Admin(QualityWord + 生成侧读配置零回落) | 45 ✅ | p4 ✅ | 01d4f23 |
| 5 | 火山人像审核队列(跨团队 person 资产 + 批量送审/轮询) | 28 ✅ | p5 ✅ | 5aab8a5 |
| 6 | AI 任务监控 + 成本异常(列/筛/详情抽屉/失败重投) | 36 ✅ | p6 ✅ | ca1e50d |
| 7 | 计费审计 + 4 层额度策略(流水/调额/策略 CRUD + 拦截) | 70 ✅ | p7 ✅ | 39b4467 |
| 8 | 模型供应商管理(provider/model CRUD + 启停/定价/设默认) | 51 ✅ | p8 ✅ | 4ce7e95 |
| 9 | 收尾治理(全局项目监控 + 数据完整性体检) | 53 ✅ | p9 ✅ | cdfcffc |
## 关键产物
- **后端**:新 app `apps/adminpanel/`(`/api/admin/*` 全程 `IsPlatformAdmin` + 审计);`apps/accounts`(超管/权限/邀请码/审计加固);`apps/ai`(QualityWord / is_default / 生成侧读配置);`apps/billing`(额度拦截 + 调额)。migration:accounts 0004/0005、ai 0009/0010(已 apply 测试库)。
- **前端**:`routes/admin/*`(11 页 + 外壳)、`api.ts` adminApi 分层、`admin-page.css`(仅 token)、注册页码优先重做。
- **e2e**:`core/qa/visual-parity/_admin-p0..p9.mjs`(沿用 _wave35-auth 模式;截图 `output/admin/`)。
## 注意事项 / 待办
- **未 push**:10 个 commit 在本地 `dev` 分支,等你确认后再推。
- **e2e 端口 5188**:5173 被同机 AirDrama 抢占,AirShelf e2e 用专用 5188(`npx vite --port 5188 --strictPort`)。
- **失败重投(Phase 6)**:仅图像类 best-effort,脚本/视频/导出类返回 400「请到对应页面重跑」(不冒险误投)。
- **额度策略(Phase 7)**:仅团队有 active 策略才拦截 → 无策略团队零回归。
- 进场前既有的 6 FAIL+1 ERROR(image_edit mock)非本次引入,建议后续单独修。