微信小程序强制更新机制没有生效,在开发者工具模拟更新测的时候是生效了的,因为体验版和测试版小程序官方说测试不了,
线上版本更新了也没有生效
哪位大佬帮我看看哪里写的有问题
在app.js里面
onLaunch: function(options) {
//兼容
if (compareVersion(version, '1.9.90') >= 0) {
this.checkForUpdateApp(); //1.9.90支持
}
}
checkForUpdateApp() {
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success(res) {
if (res.confirm) {
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新版本下载失败
})
},
我是在app.js的onShow()里调用这个方法是可以的
感谢大佬 一会儿试试
compareVersion这个函数写用的官方给的
//兼容,版本比较
var compareVersion =(v1, v2)=>{
v1 = v1.split('.')
v2 = v2.split('.')
const len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(v1[i])
const num2 = parseInt(v2[i])
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
请问楼主解决了吗?? 我在开发者工具上模拟的时候放在onLaunch里面没有执行,放在onShow里面是可以的
解决了 写在onShow里面就可以了
百度了一下放在onLaunch里面根本没用,现在线上的版本也OK了吗??
可以了 经过测试