gcx/frontend/admin-web
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
..
nginx chore: Switch domain from admin.gogenex.com to admin.gogenex.cn 2026-02-11 05:18:22 -08:00
public fix(branding): 统一Logo色调与App主色调 #6C5CE7 2026-02-23 18:12:35 -08:00
src feat(admin): App 版本管理 — 多应用支持 + 管理后台页面 2026-03-03 06:09:55 -08:00
.dockerignore chore: Add Next.js project config and app entry for admin-web 2026-02-11 01:35:19 -08:00
.env.development chore: Add Docker deployment config for admin-web 2026-02-11 01:22:22 -08:00
.env.production chore: Add Docker deployment config for admin-web 2026-02-11 01:22:22 -08:00
.gitignore chore: Add Next.js project config and app entry for admin-web 2026-02-11 01:35:19 -08:00
DEPLOY.md chore: Switch domain from admin.gogenex.com to admin.gogenex.cn 2026-02-11 05:18:22 -08:00
Dockerfile fix: Make Dockerfile tolerant of missing package-lock.json 2026-02-11 01:39:14 -08:00
deploy.sh chore: Switch domain from admin.gogenex.com to admin.gogenex.cn 2026-02-11 05:18:22 -08:00
docker-compose.yml chore: Add Docker deployment config for admin-web 2026-02-11 01:22:22 -08:00
next.config.ts chore: Add Next.js project config and app entry for admin-web 2026-02-11 01:35:19 -08:00
package-lock.json feat: Wire all view components to Next.js App Router routes 2026-02-11 05:37:28 -08:00
package.json chore: Add Next.js project config and app entry for admin-web 2026-02-11 01:35:19 -08:00
tsconfig.json chore: Add Next.js project config and app entry for admin-web 2026-02-11 01:35:19 -08:00