Skip to content

应用更新

应用更新功能管理客户端的自动更新机制,确保用户始终使用最新版本的ChainlessChain应用。

更新机制

自动检查更新

客户端会在以下时机自动检查更新:

  1. 启动时检查: 应用启动时自动查询最新版本
  2. 定时检查: 每24小时定时检查一次
  3. 手动检查: 用户在"关于"页面手动触发

更新流程

客户端检查更新
→ 发现新版本
→ 显示更新提示(版本号、更新内容)
→ 用户确认更新(或强制更新时自动下载)
→ 下载安装包
→ 校验文件完整性(SHA-256)
→ 安装更新
→ 重启应用

更新策略配置

普通更新

用户可以选择"稍后更新",不影响当前使用:

登录厂家管理系统
→ 应用管理
→ 更新策略
→ 选择"普通更新"

强制更新

强制更新适用于包含重要安全修复或不兼容变更的版本:

登录厂家管理系统
→ 应用管理
→ 版本管理
→ 选择目标版本
→ 开启"强制更新"
→ 设置最低兼容版本

强制更新行为:

场景行为
客户端版本 < 最低兼容版本强制下载更新,不可跳过
客户端版本 ≥ 最低兼容版本普通更新提示
客户端版本 = 最新版本无更新提示

更新通道

通道说明适用场景
稳定版 (Stable)正式发布版本生产环境
测试版 (Beta)测试中版本内部测试

灰度发布

支持按比例逐步推送更新:

  1. 进入版本管理页面
  2. 选择目标版本
  3. 设置灰度比例(如10%、50%、100%)
  4. 保存设置
阶段1: 10% 用户 → 观察反馈 → 无异常
阶段2: 50% 用户 → 观察反馈 → 无异常
阶段3: 100% 全量推送

回滚处理

如果新版本出现严重问题,可以执行回滚:

  1. 将问题版本状态改为"废弃"
  2. 客户端将不再提示更新到此版本
  3. 如有需要,发布修复版本

注意

已安装新版本的用户需要手动下载旧版本。建议优先发布修复版本而非回滚。

更新日志管理

每个版本的更新日志应包含:

  • 新增功能: 新增的功能特性
  • 问题修复: 修复的Bug和问题
  • 性能优化: 性能方面的改进
  • 已知问题: 当前版本的已知限制

注意事项

  1. 强制更新前确保新版本已充分测试
  2. 灰度发布时密切关注用户反馈
  3. 更新日志使用用户可理解的语言
  4. 大版本更新建议提前通知用户
  5. 保持旧版本安装包可下载,以备回滚需要

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

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

1. 概述

见正文「更新机制」。应用更新模块负责客户端自动检查更新、下发更新策略(普通 / 强制)、更新通道、灰度发布与回滚处理。

2. 核心特性

  • 客户端自动检查更新(启动 / 每 24h / 手动)
  • 普通 / 强制两种更新策略 + 最低兼容版本
  • 稳定 / 测试双更新通道
  • 灰度发布(10% → 50% → 100%)+ 回滚处理

3. 系统架构

客户端 ──检查更新──► /api/app-versions/latest

              后端(Spring Boot + JWT)

              MySQL(app_versions:通道 / 灰度比例 / 强更标志)

4. 系统定位

厂家管理系统的客户端版本下发与回滚控制层,与 应用发布 配套。

5. 核心功能

功能说明
自动检查启动 / 定时 24h / 手动触发
更新策略普通(可稍后)/ 强制(不可跳过)
更新通道稳定 / 测试通道分流
灰度发布按比例逐步放量
回滚问题版本置废弃 + 发修复版

6. 技术架构

后端 Spring Boot 3.2.1 + MyBatis Plus;版本元数据存 app_versions,灰度比例 / 强更标志 / 通道为字段;客户端经 REST 拉取最新版。

7. 系统特点

  • 灰度比例可调,问题版本快速止血
  • 强制更新阻断旧版继续使用
  • 旧包保留以备回滚(见正文「回滚处理」)

8. 应用场景

服务提供商为多平台客户端推送更新;灰度验证后全量;线上事故时回滚到上一稳定版。

9. 竞品对比

维度本模块手工通知更新
自动检查
灰度放量✅ 按比例
强制更新⚠️
回滚 / 修复版⚠️

10. 配置参考

更新策略 / 通道 / 灰度比例在版本管理页配置;客户端检查间隔(默认 24h)由客户端侧配置。部署见 安装部署

11. 性能指标

检查更新为轻量元数据查询(Redis 可缓存最新版本,毫秒级);下载吞吐取决于 Nginx 分发。

12. 测试覆盖

更新策略路由(普通 / 强制)、灰度命中判定、废弃 / 回滚切换由后端集成 + 单测覆盖。

13. 安全考虑

  • 更新策略变更需 ADMIN / DEALER 权限 + JWT
  • 下载后 SHA-256 校验防中间人替换
  • 灰度 / 回滚操作写 device_logs 审计

14. 故障排除

症状可能原因处理
灰度用户未收到比例过低 / 未命中分桶调高灰度比例
回滚后客户端仍升级旧版未置废弃问题版本状态改为废弃
强更被跳过策略设成普通 / 未设最低兼容版本开启强制更新并设最低兼容版本

15. 关键文件

资源说明
app_versions通道 / 灰度 / 强更字段
/api/app-versions/latest最新版查询 API
前端「APP 版本管理」页策略 / 灰度 / 回滚操作

16. 使用示例

bash
# 客户端检查最新版本(按平台)
curl "http://localhost:8080/api/app-versions/latest?platform=windows"

17. 相关文档

基于 MIT 许可发布