微信小程序强制更新机制没有生效,在开发者工具模拟更新测的时候是生效了的,因为体验版和测试版微信小程序官方说测试不了,
线上版本更新了也没有生效
哪位大佬帮我看看哪里写的有问题
在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 () {
// 新版本下载失败
})
},
微信小程序开发问题解答
开发者回复:
upDataApp: function () {//版本更新 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的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里面是可以的
本文网址:http://www.91bianli.com/weixinxiaochengxu/19611.html