就很奇怪,本地测试是没啥问题的,发布到正式就没反应了!!我的是放在App.vue的onShow下的
初始代码:
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate);
});
updateManager.onUpdateReady(function (res) {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
showCancel: false,
success(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
});
});
updateManager.onUpdateFailed(function (res) {
// 新的版本下载失败
console.log('download error')
uni.showModal({
title: '提示',
content: '新版小程序下载失败\n请自行退出程序后手动卸载本程序,再次运行',
confirmText: "知道了"
});
});
修改后代码(修改后我的是可以正常更新了):
const updateManager = uni.getUpdateManager();//本API返回全局唯一的版本更新管理器对象: updateManager,用于管理小程序更新。
updateManager.onCheckForUpdate((res)=>{//当向小程序后台请求完新版本信息,进行回调方法
console.log(res.hasUpdate)
if(res.hasUpdate){
updateManager.onUpdateReady((res) =>{//当新版本下载完成,会进行回调
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
});
});
updateManager.onUpdateFailed((res)=>{
// 新的版本下载失败
uni.showModal({
title: '更新提示',
content: '新版小程序下载失败\n请自行退出程序后手动卸载本程序,再次运行',
confirmText: "知道了",
success(res) {}
});
});
}
})