关于线上版本发布过后用户打开的是旧版本的程序
发布于 5 年前 作者 ycai 7536 次浏览 来自 问答

每次线上版本更新,审核过后发布到线上版本,用户打开之后还是以前的旧版本,非得把小程序删掉,在添加才会是新版本。。求教怎么才能做到版本更替,不让用户自己删除再添加啊,有没有什么方式立即生效,

4 回复

我们这边是清理掉后台启动的小程序,或者直接清理掉微信的进程,再打开

 在app.js的 onLaunch里面加入如下代码:

    // 获取手机设备信息

    wx.getSystemInfo({

      success: (res) => {

        wx.setStorageSync(‘systemInfo’, res)

      }

    })

    // 获取小程序更新机制兼容

    if (wx.canIUse(‘getUpdateManager’)) {

      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: ‘新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~’,

            })

          })

        }

      })

    } else {

      // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示

      wx.showModal({

        title: ‘提示’,

        content: ‘当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。’

      })

    }

更新不是有分冷更新和热更新么?

回到顶部