(1). 业务痛点:
①. 每次有新版本发布:
a. 需要用户自己去手动点击下载,然后手动一步步操作安装
b. 每次都要去重新选择安装目录等,过程较为耗时、用户需要手动操作,体验不佳
1. 全量更新:
①. 通过下载最新的包或zip文件,进行软件更新,需要替换所有的文件
②. 整体设计流程图如下:
按照流程图去实现:
①. 开发服务端接口,用来返回应用最新版本信息
②. 渲染进程使用axios等工具请求接口,获取最新版本信息
③. 封装更新逻辑,用来对接口返回的版本信息进行综合比较,判断是否更新
④. 通过ipc通信将更新信息传递给主进程
⑤. 主进程通过electron-updater进行全量更新
⑥. 将更新信息通过ipc推送给渲染进程
⑦. 渲染进程向用户展示更新信息,若更新成功,则弹出弹窗告诉用户重启应用,完成软件更新
2. 增量更新:
通过拉取最新的渲染层打包文件,覆盖之前的渲染层代码,完成软件更新,此方案只需替换渲染层代码,无需替换所有文件。
按照流程图去实现:
①. 渲染进程定时通知主进程检测更新
②. 主进程检测更新
③. 需要更新,则拉取线上最新包
④. 删除旧版本包,复制线上最新包,完成增量更新
⑤. 通知渲染进程,提示用户重启应用完成更新