gcx/backend
hailin c1681085b8 feat(admin): App 版本管理 — 多应用支持 + 管理后台页面
为 admin-service 添加 appType 维度,支持管理 genex-mobile (用户端)
和 admin-app (发行方管理端) 两个 Flutter 应用的版本发布。
同时在 admin-web 新增完整的版本管理页面。

### 后端改动 (admin-service)

数据模型:
- 新增 AppType 枚举: GENEX_MOBILE | ADMIN_APP
- app_versions 表添加 app_type 列 (VARCHAR(20), 默认 GENEX_MOBILE)
- 重建唯一索引: (app_type, platform, version_code)
- Migration 046: ALTER TABLE + 索引重建

DDD 各层更新:
- Repository 接口/实现: 所有查询方法增加 appType 参数
- Service: checkUpdate/listVersions/createVersion 支持按 appType 过滤
  重复检测范围: 同一 appType + platform 内的 versionCode 唯一
- AdminVersionController:
  - GET  /admin/versions       增加 ?appType= 查询参数
  - POST /admin/versions       body 增加 appType 字段
  - POST /admin/versions/upload body 增加 appType 字段
- AppVersionController (移动端):
  - GET  /app/version/check    增加 ?app_type= 参数 (默认 GENEX_MOBILE)

### 前端改动 (admin-web)

新增页面 /app-versions:
- App 选择器 Tab: Genex 用户端 / 发行方管理端
- 平台过滤器: 全部 / Android / iOS
- 版本列表表格: 版本号、代码、平台、构建号、文件大小、强制更新、状态、发布日期
- 操作列: 编辑 / 启用|禁用 / 删除
- 上传对话框: 文件选择 → 自动解析包信息 → 填写表单 → 上传到 MinIO
- 编辑对话框: 更新日志、最低系统版本、强制更新、启用状态
- i18n: zh-CN / en-US / ja-JP 各 28 个新翻译键
- 侧边栏: 在「系统管理」前增加「📱 应用版本」菜单项

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:09:55 -08:00
..
kong feat: 全平台API对齐 — 4个前端应用55+页面接入真实后端API 2026-02-22 22:53:07 -08:00
migrations feat(admin): App 版本管理 — 多应用支持 + 管理后台页面 2026-03-03 06:09:55 -08:00
packages fix(common): 修复@genex/common包TypeScript编译错误 2026-02-19 19:04:21 -08:00
scripts fix: RegexRouter 精确匹配 outbox 表,防止 heartbeat 事件污染消费者 2026-02-15 07:04:17 -08:00
services feat(admin): App 版本管理 — 多应用支持 + 管理后台页面 2026-03-03 06:09:55 -08:00
.dockerignore feat(docker): 重构Monorepo构建 — 支持@genex/common共享包 2026-02-19 19:00:27 -08:00
.env.example feat(auth): SMS 模板按类型分发 + 阿里云 8 模板配置 2026-03-03 05:13:16 -08:00
deploy.sh feat: 新增 deploy.sh 部署管理脚本体系 — 后端主控+12服务独立+区块链 2026-02-19 17:13:09 -08:00
docker-compose.yml feat(auth): SMS 模板按类型分发 + 阿里云 8 模板配置 2026-03-03 05:13:16 -08:00