uniapp小程序更新逻辑,按实际开发为主

小程序更新: uniapp小程序更新逻辑

uni.getUpdateManager()

方法 参数 说明
onCheckForUpdate callback 当向小程序后台请求完新版本信息,会进行回调
onUpdateReady callback 当新版本下载完成,会进行回调
onUpdateFailed callback 当新版本下载失败,会进行回调
applyUpdate 当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启

官方版本

js 复制代码
const updateManager = uni.getUpdateManager();

updateManager.onCheckForUpdate(function (res) {
  // 请求完新版本信息的回调
  console.log(res.hasUpdate);
});

updateManager.onUpdateReady(function (res) {
  uni.showModal({
    title: '更新提示',
    content: '新版本已经准备好,是否重启应用?',
    success(res) {
      if (res.confirm) {
        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate();
      }
    }
  });

});

updateManager.onUpdateFailed(function (res) {
  // 新的版本下载失败
});

实际开发

js 复制代码
//app.js
App({
    onLaunch() {
        this.update()
    },
 
    // 版本更新
    update() {
        const updateManager = wx.getUpdateManager()
 
        updateManager.onCheckForUpdate(function (res) {
            // 请求完新版本信息的回调
            if(res.hasUpdate) {
 
                // 新版本下载成功
                updateManager.onUpdateReady(function () {
                    wx.showModal({
                        title: '更新提示',
                        content: '新版本已经准备好,请您重启应用,以确保正常使用。',
                        success: function (res) {
                            if (res.confirm) {
                                // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                                updateManager.applyUpdate()
                            }
                        }
                    })
                })
 
                // 新版本下载失败
                updateManager.onUpdateFailed(function () {
                    wx.showModal({
                        title: '更新提示',
                        content: '检测到了新版本,但是下载失败了~'
                    })
                })
 
            }
        })
    }
})
相关推荐
Cache技术分享8 分钟前
203. Java 异常 - Throwable 类及其子类
前端·后端
wingring10 分钟前
Vue3 后台分页写腻了?我用 1 个 Hook 删掉 90% 重复代码
前端
LFly_ice10 分钟前
学习React-20-useId
前端·学习·react.js
要加油哦~14 分钟前
刷题 | 牛客 - 前端面试手撕题 - 中等 - 1-2/20 知识点&解答
前端·面试
Async Cipher23 分钟前
JSON-LD 的格式
前端·javascript
LFly_ice38 分钟前
学习React-18-useCallBack
前端·学习·react.js
How_doyou_do2 小时前
样式冲突修复组件
前端·javascript·html
IT_陈寒2 小时前
SpringBoot实战:这5个高效开发技巧让我节省了50%编码时间!
前端·人工智能·后端
isixe2 小时前
Uniapp IOS 和 Android 下的文件写入用户目录
前端·uni-app
蓝莓味的口香糖2 小时前
【npm】npm命令大全
前端·npm·node.js