uniapp 实现自定义 app 更新功能
前言
uniapp app 作为常用的软件,更新功能更是不能少的。
方式一:
uniapp 官方提供了一个检测和自动更新app功能的插件 uni-upgrade-center-app。
相关的文档连接 APP升级中心
方式二(简易版的):
之前自己由于一些原因,不太想用官方提供的,就想其它的方式。后来通过查看uniapp 的 升级中心的 源码发现,对于一些简单的更新需求完全可以自己实现。
-
步骤一:在自己的管理后台建立一个页面,可以配置 APP 的新旧版本号,下载链接等并进行展示。
-
步骤二:在APP端获取后台的配置,并进行比对
<!-- 获取配置信息 --> getAppMessage() { request({ url: reuqireUrl, method: 'get' }).then(res => { if ( typeof plus !== 'undefined' && plus.runtime.version < res.data.new_version_info ) { this.myCheckLocalStoragePackage(res.new_version_href) this.tipDialogVisible = true } }) } <!-- 下载内容 --> myCheckLocalStoragePackage(url) { uni.downloadFile({ url: url, success: res => { if (res.statusCode == 200) { this.downloadUrl = res.tempFilePath this.installPackage() } } }) }, <!-- 进行更新 --> installPackage() { plus.runtime.install(this.downloadUrl, { force: false }, async res => { const localFilePathRecord = uni.getStorageSync(localFilePathKey) uni.setStorageSync(localFilePathKey, { ...localFilePathRecord, installed: true }) }, async err => { uni.showModal({ title: '更新失败,请重新登录', content: '请检查网络等原因', showCancel: false }); }) }, -
这是比较简单的自定义更新,更新弹窗这些都可以自己设计,源码还未看完,后续更新。

浙公网安备 33010602011771号