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 }); }) },
-
这是比较简单的自定义更新,更新弹窗这些都可以自己设计,源码还未看完,后续更新。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端