小程序在微信顶部是有缓存的,所以就算你更新了代码,用户如果从聊天顶部进入还是在旧版中徘徊。必须要删除这个小程序,或者从发现栏进入小程序(当然这个方法不靠谱)。
这个就非常的郁闷了,用户反馈的问题总是已经解决了的问题。老板生气的理由也是你已经解决的问题。所以有一个接口可以救你一命。
wx.getUpdateManager()
具体去看文档。几个概念,这个接口是只有在小程序销毁后重新启动的时候才会执行的,然后有低版本不兼容的问题,但是如果你的onLaunch函数里只有这个东西那么不兼容也无所谓。
然后就是实际操作的时候因为我写的小程序进入之后有一个页面跳转,在ios上某些手机出现,更新提示一闪而逝的问题,就是先于第二个页面渲染出来了,所以就被冲了,解决这个问题请看代码。
onLaunch(){
const updateManager = wx.getUpdateManager()
storage.remove('updated')
updateManager.onCheckForUpdate((res)=>{
// 请求完新版本信息的回调
console.log('hasUpdate',res.hasUpdate)
})
updateManager.onUpdateReady(()=>{
this.update(updateManager)
})
}
update(updateManager,isUpdate=storage.get('updated')){
if(isUpdate){
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
storage.remove('updated')
}
}
})
}else{
setTimeout(()=>{
this.update(updateManager)
},1000)
}
}
然后在你跳转的页面写storage.set('updated',true),storage是我封装的储存数据的方法。
了解更多内容:http://www.mkuai.net
这个就非常的郁闷了,用户反馈的问题总是已经解决了的问题。老板生气的理由也是你已经解决的问题。所以有一个接口可以救你一命。
wx.getUpdateManager()
具体去看文档。几个概念,这个接口是只有在小程序销毁后重新启动的时候才会执行的,然后有低版本不兼容的问题,但是如果你的onLaunch函数里只有这个东西那么不兼容也无所谓。
然后就是实际操作的时候因为我写的小程序进入之后有一个页面跳转,在ios上某些手机出现,更新提示一闪而逝的问题,就是先于第二个页面渲染出来了,所以就被冲了,解决这个问题请看代码。
onLaunch(){
const updateManager = wx.getUpdateManager()
storage.remove('updated')
updateManager.onCheckForUpdate((res)=>{
// 请求完新版本信息的回调
console.log('hasUpdate',res.hasUpdate)
})
updateManager.onUpdateReady(()=>{
this.update(updateManager)
})
}
update(updateManager,isUpdate=storage.get('updated')){
if(isUpdate){
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success(res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
storage.remove('updated')
}
}
})
}else{
setTimeout(()=>{
this.update(updateManager)
},1000)
}
}
然后在你跳转的页面写storage.set('updated',true),storage是我封装的储存数据的方法。
了解更多内容:http://www.mkuai.net