Files
yingqing/docs/todo/admin-后台-完成报告.md
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

3.4 KiB
Raw Permalink Blame History

平台 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)非本次引入,建议后续单独修。