Clone
4
Task-24-go-admin-MVP-1-运营界面
ila edited this page 2026-08-22 11:46:01 +08:00
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.

24 go-admin MVP-1 运营界面

  • 类型:需求
  • 所属 Epic:#3
  • 所属 MVP / 版本:#19 / MVP-1
  • 状态:已完成
  • 日期:2026-08-22
  • Gitea 工单:#24
  • Wiki 页面:Task-24-go-admin-MVP-1-运营界面

背景与目标

按 #17、#30、#31 已确认设计,在固定 go-admin/go-admin-ui 基线上交付运营管理端。范围包括四类 CRUD、路由池、Provider 健康/主动探测、生成详情,以及用户点数完全移除和 Provider Key 明文单条回显。

最终方案

  • 导入锁定的 go-admin-ui 基线并实现 Chorus API 封装、Provider/模型/Prompt/用户页面及三个定制页。
  • Provider credential 改为明文版本记录;列表与普通详情不返回完整值,单条读取受 JWT/Casbin 保护并禁止缓存。
  • 移除 portal/admin 的 CHORUS_MASTER_KEY 装配,worker 仅在内存中使用数据库读取的 Key;日志、审计和错误继续脱敏。
  • 增加 migration 000005;发现已有加密 credential 时 fail closed,要求人工受控转换。生产仍只使用 migrations。
  • 修复固定后端未注册系统路由的问题;Casbin 显式使用 sys_casbin_rule 并关闭 adapter AutoMigrate。
  • 用户 API 和页面只允许 active/disabled 状态,不包含点数、余额、扣费、退款、充值、发放或配额。

修改文件

  • admin-ui/:固定前端基线、Chorus 页面、API 和单元测试。
  • admin/app/chorus/:管理 API、明文凭据读取、健康视图和用户状态。
  • admin/common/database/、admin/app/admin/router/:迁移表 Casbin 初始化和系统路由注册。
  • migrations/:明文凭据、菜单/API/权限及可逆保护。
  • portal/worker/、portal/main.go、internal/config/:移除 Provider 主密钥运行依赖。
  • 核心 Wiki 与 docs/:架构、业务规则、运行、排障、产品和部署说明。

验收结果

验收标准 结果
Provider Key 明文、单条回显、列表脱敏和禁止缓存 自动化与真实 API 联调通过
路由冲突、探测冷却/审计、attempts 和脱敏错误 MySQL 管理 API 测试通过
四类 CRUD、三个定制页、键盘排序与状态处理 lint、32 个前端单测和生产构建通过;用户于 2026-08-22 验收通过
完全不包含用户点数、余额和配额 代码、API、页面与文档检查通过
生产不运行 AutoMigrate Casbin adapter 测试和真实启动验证通过

测试

  • go build ./...、go vet ./...、go test ./...:通过。
  • go -C admin build .、go -C admin vet ./...、go -C admin test ./...:通过。
  • pnpm --dir admin-ui exec eslint src/views/chorus src/api/chorus:通过。
  • pnpm --dir admin-ui test:unit -- --runInBand:8 suites、32 tests 通过。
  • pnpm --dir admin-ui build:prod:通过;仅保留固定基线 webpack/包体积警告。
  • MySQL 8.4.8 TestMVP1MigrationsUpDownUpMySQL、管理 API 与 worker 集成测试:通过,使用 chorus_test 和 mock 上游。
  • 使用 admin/config/settings.yml 启动,账号密码登录、动态菜单和 Provider 列表 API 均返回 200。
  • python dev_scripts/harness.py check --strict、Harness 42 tests、sync --check:通过。
  • 验收补充:本机没有可连接的浏览器实例,因此未生成生产页面自动化截图;用户于 2026-08-22 完成人工验收并确认通过。未调用真实 Provider。

遗留问题

  • 本机开发库曾由修复前的 go-admin-core adapter 创建一个空的 casbin_rule 表。当前代码不再读取或创建它;因没有删除授权,本工单未删除该数据库对象。

相关提交

  • 48e9551 docs: 更新 MVP-1 管理端实现状态 (#24)
  • 5ed7c95 feat: 实现 go-admin MVP-1 运营界面 (#24)
  • db727a7 docs: 记录 go-admin 运营界面验收 (#24)