相信大家在使用小程序的时候,都遇到过版本更新吧,会自动弹出一个小程序有新版本的提示,问你是否需要更新新版本并重启,那么这种是怎么实现的呢,下面一起来看看吧。
我翻阅了UniApp的文档后发现有这么一个东西,updateManager
这个东西是版本更新管理器对象,用于管理小程序更新。
那么根据官方文档可以看到,我们在UniApp中如何实现这种自动更新提示呢?
<script>
export default {
onLaunch: function() {
console.log('App Launch')
let updateManager = uni.getUpdateManager();
if (!updateManager) {
return
} else {
//新版本更新
if (uni.canIUse('getUpdateManager')) {
//判断当前微信版本是否支持版本更新
updateManager.onCheckForUpdate(function(res) {
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: '当前微信版本过低,部分功能无法使用,请升级到最新微信版本后重试。',
});
}
}
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
这样就实现了小程序的自动更新提示了,有了UniApp的接口后实现起来是不是很简单啊。