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