1
头图

app页面的onShow中使用:
具体步骤如下:
1、获取全局唯一的版本更新管理器对象
2、请求新版本信息
3、新版本下载,下载完后区分下载完成或下载失败
4、下载完成:调用 applyUpdate 应用新版本并重启
5、下载失败:提示用户手动更新

onShow() {
    // 全局唯一的版本更新管理器对象
    const updateManager = uni.getUpdateManager();

    // 当向小程序后台请求完新版本信息,会进行回调
    updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调,true&false
        console.log(res.hasUpdate);
    });

    // 当新版本下载完成,会进行回调
    updateManager.onUpdateReady(function (res) {
        uni.showModal({
            title: '更新提示',
            content: '新版本已经准备好,是否重启应用?',
            showCancel: false,
            success(res) {
                if (res.confirm) {
                    // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                    updateManager.applyUpdate();
                }
            }
        });

    });

    // 当新版本下载失败,会进行回调
    updateManager.onUpdateFailed(function (res) {
        // 新的版本下载失败
        console.log('download error')
        uni.showModal({
            title: '提示',
            content: '新版小程序下载失败\n请自行退出程序,手动卸载本程序,再运行',
            confirmText: "知道了"
        });
    });
}

编译器测试,可以自主设置新版更新成功或更新失败:
image.png
更新成功:
image.png
更新失败:
image.png
该方法的适用性请看下表:
image.png


参考文档:
uniapp版本管理:uni.getUpdateManager()
微信小程序版本管理:UpdateManager


兔子先森
482 声望558 粉丝

致力于新技术的推广与优秀技术的普及。