小程序发布正式版之后检测新版本并自动下载更新(wx.getUpdateManager())

小程序发布正式版之后检测新版本并自动下载更新

首先陈述一下背景:最近uniapp做小程序,经常遇到问题,测试反馈bug,但是有些bug只能在正式服才能看到,所以就需要改问题一定要发布正式版才能测。
1,例如:公众号推送消息,从模板消息跳转小程序,体验版是不能进行跳转的,因为需要公众号和小程序绑定,都得是正式版才可以相互跳转。但是有时候发布之后,每次都要移除小程序,重新搜索进来,真实环境,当我们修改问题,发布,不可能让用户每次都删除重进吧,不太贴心,略显繁琐。
2,发布之后尽管重新移除小程序,也不确定,当前是否是最新的小程序。加版本号是一个方案。
3,也便于撕逼。真实环境可能会有很多意想不到的问题,平时测试无法测出的,但是又不确定是不是前端问题,所以加个版本号比较好,同时再使用下面的API,确保前端版本更新,便于确定问题方向。

解决以上问题需要用到小程序的API,他还是提供了一个检测新版本并且自动下载的API。

在这里插入图片描述
在这里插入图片描述

实际代码,我使用uniapp开发的,所以放到了App.vue的onShow里面。
onShow: function (data) {
    const updateManager = wx.getUpdateManager()
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log('请求完新版本信息的回调',res.hasUpdate)
    })

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

    updateManager.onUpdateFailed(function () {
      // 新版本下载失败
      wx.showModal({
        title: '更新失败',
        content: '请退出并移除小程序,重新打开',
        // success: function (res) {
        //   if (res.confirm) {
           
        //   }
        // }
      })
    })
    console.log('App Show');
  },
然后发布新版本之后,立马打开小程序见证奇迹,果然出现了一个弹框,提示已经下载了新版本,需要重启才能新版本的提示,点击确定即可

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_小郑有点困了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值