1、在app.vue中的onLaunch或者onShow里面判断,我是在onShow里面判断的,因为我查资料的时候有人说onLaunch可能有时候会请求不到。
2、直接上代码:
/* 小程序更新 */
updateWechat() {
let updateManager = uni.getUpdateManager();
if (!updateManager) {
return
} else {
//新版本更新
if (uni.canIUse('getUpdateManager')) {
//判断当前微信版本是否支持版本更新
updateManager.onCheckForUpdate(function(res) {
console.log(res, 'ssssssssss')
if (res.hasUpdate) {
// 请求完新版本信息的回调
updateManager.onUpdateReady(function() {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
},
});
});
updateManager.onUpdateFailed(function() {
uni.showModal({
// 新的版本下载失败
title: '已经有新版本了哟~',
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索',
});
});
} else {}
});
} else {
uni.showModal({
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
title: '提示',
content: '当前微信版本过低,部分功能无法使用,请升级到最新微信版本后重试。',
});
} }
}
3、小程序更新很简单,这个方法直接封装好了在onShow里面请求就可以,如果要测试的话,必须要发布才可以测试,可以在本地但是本地我看不出来啥效果,我就是发布之后测试的。要把带有这个更新提示的版本先发布一遍,然后再发布的时候就可以看到更新提示了。
备注:小程序发布之后,如果当前微信已经打开过带有更新提示代码的旧版本,那么可能不会立刻就收到,需要等几分钟,因为微信更新机制的问题
这是我在网上看到的一个博主的文章,微信小程序官网就是这样写的。
大概的意思就是,看你网速,我是不到一分钟就收到了,有更新提示。如果旧版本是带有判断更新代码的那就不需要重启删掉小程序再打开,如果目前手机的版本没有更新的提示的代码,那就需要先更新到有更新提示的代码的那一个版本才可以,需要删掉小程序重新打开。