微信小程序——版本更新

相信很多的小程序开发者都遇到过这种情况:小程序已经发布了新的正式版本,但依旧有很多用户使用的是旧版本的小程序。举个例子:如果说版本管理比较混乱的话,多个版本的小程序都指向同一个后台服务器,那么新老版本之间就可能存在着不兼容的问题,给用户带来不好的体验。

产生上述情况的原因:小程序发布了最新版本之后,用户本地还存在旧版本的小程序,微信在这时可能没有检查小程序的版本更新,这就会导致用户依旧在使用旧的版本。结果就是:小程序的新版本发布,无法保证立即影响到所有的小程序用户

解决方法:开发者可以使用wx.getUpdateManager的API来更新小程序。示例代码如下:

截图和代码是一样的。

/**

* 检查小程序版本更新

* @param isForce 是否强制更新

*/

function versionUpdate(isForce = false) {

// 判断当前版本getUpdateManager的API是否可用

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

// 获取全局唯一的版本更新管理器,用于管理小程序更新

const updateManager = wx.getUpdateManager();

// 监听向微信后台请求检查更新结果事件

updateManager.onCheckForUpdate(function(res) {

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

if (res.hasUpdate) {

// 存在新的版本。监听小程序有版本更新事件

updateManager.onUpdateReady(function() {

if (isForce) {

// 强制小程序重启并使用新版本

updateManager.applyUpdate();

} else {

// 提示用户版本更新信息

wx.showModal({

title: "版本更新提示",

content: "新版本已经准备好,是否重启应用?",

success(res) {

if (res.confirm) {

// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启

updateManager.applyUpdate();

}

}

});

}

});

// 监听小程序更新失败事件。后续操作,开发者可自行处理。

updateManager.onUpdateFailed(function() {

wx.showModal({

title: "已经有新版本了哟~",

content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~"

});

});

}

});

} else {

// 提示用户升级版本

wx.showModal({

title: "提示",

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

});

}

}

发布了21 篇原创文章 · 获赞 18 · 访问量 7571

猜你喜欢

转载自blog.csdn.net/love1793912554/article/details/96553616