在uni-app开发过程中,应用的版本更新是一个常见的需求。当开发者发布了新版本的小程序后,希望用户在下一次打开旧版小程序时能够收到更新提示,引导用户更新到最新版本。本文介绍了基于uniapp vue3开发的微信小程序迭代更新版本后,用户使用小程序时提示其升级版本。
版本说明: 基于uniapp vue3 ts
实现方式: 在uniapp小程序的App.vue文件中,在onLaunch或onShow生命周期钩子中检测版本更新,我是在onLaunch里面判断的。代码如下:
onLaunch: function () {
// uni.hideTabBar()
console.log('App Launch')
const updateManager = uni.getUpdateManager(); // 小程序版本更新管理器
updateManager.onCheckForUpdate(res => { // 检测新版本后的回调
// console.log('App Launch-res',res)
if (res && res.hasUpdate) { // 如果有新版本提醒并进行强制升级
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,请重启并应用新版本',
showCancel: false,
confirmText: '确定',
success: res => {
if (res.confirm) {
updateManager.onUpdateReady(res => { // 新版本下载完成的回调
updateManager.applyUpdate() // 强制当前小程序应用上新版本并重启
})
updateManager.onUpdateFailed(res => { // 新版本下载失败的回调
// 新版本下载失败,提示用户删除后通过冷启动重新打开
uni.showModal({
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
showCancel: false,
confirmText: '知道了'
})
})
}
}
})
}
})
}