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: '检测到了新版本,但是下载失败了~'
                    })
                })
 
            }
        })
    }
})
相关推荐
_r0bin_24 分钟前
前端面试准备-3
前端·javascript·面经
中微子1 小时前
JavaScript Number全指南:精度陷阱、IEEE 754与大整数处理
前端·javascript·面试
前端小菜哇2 小时前
JS核心原理之迭代器
前端·javascript
你的人类朋友2 小时前
JavaScript定时器的问题与优化:现代解决方案推荐
前端·javascript·后端
yzx992 小时前
npm error Cannot find module ‘negotiator‘ 的处理
前端·npm·node.js
henujolly2 小时前
npm、yarn幽灵依赖问题
前端
西洼工作室2 小时前
【手搓一个原生全局loading组件解决页面闪烁问题】
前端·css·js
吹牛不交税2 小时前
vue3+element plus 自定义组件,单列的方块 图形加文字列表
前端·javascript·vue.js
Stella25213 小时前
【HTML/CSS面经】
前端·css·html
Cache技术分享3 小时前
93. Java 数字和字符串 - 字符串与数字互相转换
前端·后端