让前端飞vue前端技术分享前端开发

关于微信小程序更新机制线上没有生效问题(已解决)

2019-03-13  本文已影响1人  行走的巨象

相信很多人在做微信小程序强制更新时都会遇到,模拟器勾选了模拟更新,并且成功实现了新版本更新提示,但在线上版本小程序并没有弹出这个弹窗的问题。


image

贴出逻辑代码:

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: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
        })
    }

这样的代码网上其实有很多了,大致也都类似 ,但网上大多数都教你在app.js中的onLaunch里写,但实际上是错误的,应该写在app.js 中的onShow里面,这样就没问题了。

大家快去试试把!

上一篇下一篇

猜你喜欢

热点阅读