收藏
回答

updateManager.applyUpdate() 会清除storage吗?

真机拿不到,开发者工具可以。方法如下:已经在app.js的onLoad中调用。

autoUpdate: function () {

var self = this

if (wx.canIUse('getUpdateManager')) {

const updateManager = wx.getUpdateManager()

// 检查小程序是否有新版本发布

updateManager.onCheckForUpdate(function (res) {

// 请求完新版本的信息回调

if (res.hasUpdate) {

wx.showModal({

title: '更新提示',

content: '检查到新版本,是否下载新版本并重启小程序?',

success: function (res) {

if (res.confirm) {

// 下载

self.downloadAndUpdate(updateManager)

} else if (res.cancel) {

// 点击取消,做强制更新操作

wx.showModal({

title: '温馨提示',

content: '必须强制更新哦,旧版本无法正常使用',

showCancel: false,//隐藏取消按钮

confirmText: '确定更新',

success: function (res) {

if (res.confirm) {

// 再次调用下载,并重启

self.downloadAndUpdate(updateManager)

}

}

})

}

}

})

}

})

} else {

// 增加用户体验,给出友好提示

wx.showModal({

title: '提示',

content: '当前微信版本过低,无法使用该功能,请升级后重试。'

})

}

},

/**

* 下载新版本并重启

*/

downloadAndUpdate: function (updateManager) {

var self = this

wx.showLoading();

// 监听小程序有版本更新事件,客户端主动触发

updateManager.onUpdateReady(function () {

wx.hideLoading();

// 新版本下载好,调用applyUpdate

updateManager.applyUpdate()

})

// 监听小程序更新失败事件

updateManager.onUpdateFailed(function () {

wx.showModal({

title: '已经有新版了哦',

content: '请你删除当前小程序,进行升级哦'

})

})

}


回答关注问题邀请回答
收藏

3 个回答

  • 立邦iColor孙
    立邦iColor孙
    发表于移动端
    2020-07-10
    g。。天。 下,, 宣传册 3 ec,,,, c,,,,, ,,,, , , ,,v .
    2020-07-10
    有用
    回复
  • 阿巴阿巴
    阿巴阿巴
    2020-04-16

    不会。升级不会删除本地存储。

    2020-04-16
    有用
    回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-04-16

    storage是设备本地存储,各个设备间并不会自动同步。

    开发者工具上有的,不代表真机上也会有。需要本地设备先set后才能get到,不然就是没有的。

    applyUpdate后很多人碰到storage被清理的情况,重新进入后会恢复

    updateManager.applyUpdate()重启后,读取不到之前的本地缓存? | 微信开放社区

    https://developers.weixin.qq.com/community/develop/doc/000660ec5a8e502d3399d0c6f51c00?highline=applyUpdate%20s

    2020-04-16
    有用
    回复
登录 后发表内容
问题标签