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: '检测到了新版本,但是下载失败了~'
                    })
                })
 
            }
        })
    }
})
相关推荐
刘卓航众创芯云服务部7 分钟前
Kimi K3复杂任务实测:我把团队最头疼的三个场景全跑了一遍
前端
cll_86924189118 分钟前
一个好看的Wordpress博客文字css样式
前端·css·ui
糖果店的幽灵22 分钟前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
meilindehuzi_a32 分钟前
Workflow 与 Agent 有什么区别:从 LangChain 流水线到智能体决策
前端·人工智能
三翼鸟数字化技术团队34 分钟前
一种前端大屏适配方案
前端·css
程序员黑豆1 小时前
鸿蒙应用开发:ForEach 循环渲染用法详解
前端·harmonyos
亿元程序员1 小时前
90%的Cocos开发者不知道,插件还能这么玩!
前端
小码哥0681 小时前
从三甲综合医院到连锁诊所:医院管理小程序的场景化突围逻辑(陪诊系统-陪诊APP-陪诊小程序)
小程序·医院管理系统·陪诊小程序·陪诊系统·陪诊app
吃糖的小孩2 小时前
从只读页面到可控真实探针:我如何给 Owner Console 加手动诊断
前端
谷无姜2 小时前
为什么你的性能优化无效?可能是"木桶效应"在作祟
前端·性能优化