赞
踩
所以我们要处理的是:热启动
时检测更新,如果有就强制更新。在 onShow
生命周期中监听。
- const updateManager = uni.getUpdateManager();
-
- export default {
- data() { return {}; },
- onShow: function() {
- // 当向小程序后台请求完新版本信息,会进行回调。res: {hasUpdate: true, version: 1.0.0}
- updateManager.onCheckForUpdate(function (res) {
- if (res.hasUpdate) { // 有更新
- uni.showLoading({title:'更新中...'}); // 开始下载前,显示Loading
- }
- });
- // 当新版本下载完成,会进行回调
- updateManager.onUpdateReady(function () {
- uni.hideLoading(); // 关闭 Loading
- uni.showModal({ // 弹确认框(强制更新)
- title:'更新提示',
- content:'更新完毕,是否重启?',
- success:function (res) {
- if (res.confirm) {
- updateManager.applyUpdate(); // 强制小程序重启并使用新版本。
- }
- }
- })
- });
- // 当新版本下载失败,会进行回调
- updateManager.onUpdateFailed(function () {
- uni.hideLoading(); // 关闭 Loading
- uni.showToast({ title:'更新失败,稍后再试...', icon:"error" });
- });
- },
- methods: { }
- };
以上外码中使用 uni
如果直接是微信小程序项目换成 wx
即可。
- 微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试
- 小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。