微信小程序发布版本之后自动更新功能
//检查是否存在新版本
wx.getUpdateManager().onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log("是否有新版本:"+res.hasUpdate);
if(res.hasUpdate){//如果有新版本
// 小程序有新版本,会主动触发下载操作(无需开发者触发)
wx.getUpdateManager().onUpdateReady(function () {//当新版本下载完成,会进行回调
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,单击确定重启应用',
showCancel:false,
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
wx.getUpdateManager().applyUpdate();
}
}
})
})
// 小程序有新版本,会主动触发下载操作(无需开发者触发)
wx.getUpdateManager().onUpdateFailed(function () {//当新版本下载失败,会进行回调
wx.showModal({
title: '提示',
content: '检查到有新版本,但下载失败,请检查网络设置',
showCancel: false,
})
})
}
});
上述代码推荐写在小程序主页面的onLoad()事件中,一打开小程序就能够判断有没有提交最新的线上版本,如果有将会自动下载。
但是这里需要注意的是,你在你的项目中加了如上代码通过审核并发布后,依然需要进行最上方操作,即删除小程序重新搜索,因为你新版本的小程序还未在用户手机中,即用户手机中的小程序仍是旧版小程序,onLoad()事件中并没有你新添加的如上代码。
删除过一次后,以后提交审核发布,就可以实现自动更新了~