From e702cb74330cf3bafd8a06f18627b57951093ef4 Mon Sep 17 00:00:00 2001 From: seaislee1209 Date: Fri, 19 Jun 2026 22:54:18 +0800 Subject: [PATCH] =?UTF-8?q?docs(admin):=20=E5=B9=B3=E5=8F=B0=20Admin=20?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=20+=20=E6=B3=A8=E5=86=8C=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E7=A0=81=20Phase=200-9=20=E5=AE=8C=E6=88=90=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/todo/admin-后台-完成报告.md | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 docs/todo/admin-后台-完成报告.md diff --git a/docs/todo/admin-后台-完成报告.md b/docs/todo/admin-后台-完成报告.md new file mode 100644 index 0000000..60cebe3 --- /dev/null +++ b/docs/todo/admin-后台-完成报告.md @@ -0,0 +1,42 @@ +# 平台 Admin 后台 + 注册邀请码 · 完成报告 + +> 计划:`gleaming-sleeping-ullman.md`(Phase 0–9 全做)· 落地日期 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)非本次引入,建议后续单独修。