gcx/frontend
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
..
admin-app fix(admin-app): 消除UI层硬编码中文,补充i18n keys(zh/en/ja) 2026-02-23 23:29:10 -08:00
admin-web feat(admin): App 版本管理 — 多应用支持 + 管理后台页面 2026-03-03 06:09:55 -08:00
genex-mobile feat(deploy): Nginx反向代理 + SSL + 前端切换域名 2026-03-02 00:00:58 -08:00
miniapp/src feat(deploy): Nginx反向代理 + SSL + 前端切换域名 2026-03-02 00:00:58 -08:00
mobile fix(branding): 统一Logo色调与App主色调 #6C5CE7 2026-02-23 18:12:35 -08:00
portal feat(portal): Genex 门户官网 — 20 页 Next.js SSG 站点 2026-03-03 05:03:53 -08:00
.gitignore feat: Add Flutter build configuration for admin-app and mobile 2026-02-11 06:22:13 -08:00
build.bat feat: Add Flutter build configuration for admin-app and mobile 2026-02-11 06:22:13 -08:00
build.sh feat: Add Flutter build configuration for admin-app and mobile 2026-02-11 06:22:13 -08:00