Skip to content

应用发布

应用发布功能用于管理ChainlessChain客户端应用的版本发布流程,支持5个平台的统一版本管理。

发布流程

应用版本遵循以下生命周期:

草稿(DRAFT) → 测试(TESTING) → 发布(PUBLISHED) → 废弃(DEPRECATED)

1. 创建版本

进入创建页面

登录厂家管理系统
→ 应用管理
→ 版本管理
→ 创建新版本

填写版本信息

字段说明必填示例
应用名称客户端应用名ChainlessChain Desktop
版本号语义化版本号5.0.2
目标平台发布平台Windows
版本说明更新内容描述修复已知问题,性能优化
最低兼容版本最低可升级版本4.0.0
强制更新是否强制更新

2. 上传安装包

版本创建后,需要上传对应平台的安装包文件:

平台文件格式大小限制
Windows.exe / .msi500MB
macOS.dmg / .pkg500MB
Linux.AppImage / .deb500MB
Android.apk200MB
iOS.ipa200MB
版本详情页
→ 上传安装包
→ 选择文件
→ 等待上传完成
→ 系统自动计算校验和(SHA-256)

3. 提交测试

1. 确认安装包已上传
2. 点击"提交测试"
3. 版本状态变更为 TESTING
4. 通知测试团队进行验证

4. 正式发布

测试通过后,将版本正式发布:

1. 在版本详情页点击"发布"
2. 确认发布信息
3. 版本状态变更为 PUBLISHED
4. 客户端自动检测到新版本

支持的平台

平台代码说明
WindowsWINDOWSWindows 10/11
macOSMACOSmacOS 12+
LinuxLINUXUbuntu 20.04+, Debian 11+
AndroidANDROIDAndroid 8.0+
iOSIOSiOS 15+

版本状态说明

状态说明可执行操作
草稿 (DRAFT)新创建,未提交测试编辑、上传安装包、提交测试、删除
测试 (TESTING)测试中发布、退回
已发布 (PUBLISHED)正式发布,用户可更新废弃
已废弃 (DEPRECATED)不再提供下载

强制更新

设置强制更新后,低于此版本的客户端在启动时将强制要求更新:

  1. 进入版本详情
  2. 开启"强制更新"开关
  3. 设置最低兼容版本号
  4. 保存设置

注意

强制更新会影响所有低版本用户,请确保新版本已充分测试后再开启。

下载统计

在版本详情页可查看下载统计:

  • 总下载量: 该版本累计下载次数
  • 每日下载: 按日统计的下载趋势
  • 平台分布: 各平台下载占比

注意事项

  1. 版本号必须遵循语义化版本规范(SemVer)
  2. 同一平台不能存在相同版本号
  3. 已发布的版本不能修改安装包
  4. 建议在非高峰时段发布新版本
  5. 发布前确保安装包完整性校验通过

附录:规范章节补全(v5.0.3.108)

为对齐项目用户文档标准结构,下列章节补齐若干未在正文中单独列出的视角。已在正文覆盖的章节在此段仅作简述并标注 见上文 指引。

1. 概述

见正文「发布流程」。应用发布模块管理 5 平台(Windows / macOS / Linux / Android / iOS)安装包的版本发布全流程:创建版本 → 上传安装包 → 提交测试 → 正式发布,含强制更新与下载统计。

2. 核心特性

  • 5 平台版本统一发布(DRAFT → TESTING → PUBLISHED → DEPRECATED 状态机)
  • 强制更新开关 + 最低兼容版本(见正文「强制更新」)
  • 实时下载统计(总量 / 每日 / 平台分布)
  • 发布前 SHA-256 完整性校验

3. 系统架构

前端(Vue3 + Element Plus,APP 版本管理页)
   │  REST /api/app-versions

后端(Spring Boot 3.2.1 + Spring Security/JWT)

MySQL 8.0(app_versions / app_downloads)+ Redis 7.0 + 安装包存储 + Nginx 分发

4. 系统定位

厂家管理系统的多平台 APP 版本分发中枢,对接客户端自动更新(见 应用更新)。

5. 核心功能

步骤状态变更说明
创建版本→ DRAFT填写版本号 / 平台 / 更新说明
上传安装包DRAFT应用上传
提交测试→ TESTING进入测试通道验证
正式发布→ PUBLISHED客户端可检测更新,可设强更

6. 技术架构

后端 Spring Boot 3.2.1 + MyBatis Plus + MySQL 8.0;前端 Vue 3 + Element Plus + Vite 5;APP 版本 API 8 个接口;安装包文件存储 + Nginx 下载。

7. 系统特点

  • 版本状态机(草稿 / 测试 / 发布 / 废弃)防误发
  • 已发布版本不可改安装包(强制创建新版本)
  • 下载量实时入 app_downloads

8. 应用场景

设备厂家 / 服务提供商发布桌面与移动客户端新版本;经销商分发指定版本。

9. 竞品对比

维度本模块手工分发
多平台统一✅ 5 平台⚠️ 各自管理
强制更新
下载统计✅ 实时
状态机防误发

10. 配置参考

强制更新、最低兼容版本在版本详情配置;存储与下载路径见 安装部署 自定义配置。默认前端 http://localhost、API 文档 http://localhost:8080/api/swagger-ui.html

11. 性能指标

发布为元数据操作(秒级);下载吞吐取决于 Nginx 静态分发与存储后端。大包上传见 应用上传 的分片上传(5MB/片、并发 3)。

12. 测试覆盖

APP 版本 API(8 接口)由后端集成测试覆盖;版本状态机流转 + 强制更新标志由单测断言。

13. 安全考虑

  • 发布操作需 ADMIN / DEALER 权限(RBAC)+ JWT 鉴权
  • 发布前 SHA-256 完整性校验(防损坏 / 篡改)
  • 所有发布操作写 device_logs 审计

14. 故障排除

症状可能原因处理
客户端收不到更新未正式发布(非 PUBLISHED)确认状态 = 已发布
强制更新不生效强更开关未开 / 最低兼容版本未设版本详情开启强制更新
下载量不统计走了非系统下载链路用系统分发链接

15. 关键文件

资源说明
app_versions版本元数据 + 状态 + 强更字段
app_downloads下载记录
/api/app-versionsAPP 版本 REST API
前端「APP 版本管理」页发布操作界面

16. 使用示例

见正文「发布流程」四步。命令行健康检查:

bash
curl http://localhost:8080/api/app-versions   # 列出版本(需 JWT)

17. 相关文档

基于 MIT 许可发布