• uniapp小程序更新逻辑,按实际开发为主


    小程序更新: uniapp小程序更新逻辑

    uni.getUpdateManager()

    方法参数说明
    onCheckForUpdatecallback当向小程序后台请求完新版本信息,会进行回调
    onUpdateReadycallback当新版本下载完成,会进行回调
    onUpdateFailedcallback当新版本下载失败,会进行回调
    applyUpdate当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启

    官方版本

    const updateManager = uni.getUpdateManager();
    
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      console.log(res.hasUpdate);
    });
    
    updateManager.onUpdateReady(function (res) {
      uni.showModal({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate();
          }
        }
      });
    
    });
    
    updateManager.onUpdateFailed(function (res) {
      // 新的版本下载失败
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    实际开发

    //app.js
    App({
        onLaunch() {
            this.update()
        },
     
        // 版本更新
        update() {
            const updateManager = wx.getUpdateManager()
     
            updateManager.onCheckForUpdate(function (res) {
                // 请求完新版本信息的回调
                if(res.hasUpdate) {
     
                    // 新版本下载成功
                    updateManager.onUpdateReady(function () {
                        wx.showModal({
                            title: '更新提示',
                            content: '新版本已经准备好,请您重启应用,以确保正常使用。',
                            success: function (res) {
                                if (res.confirm) {
                                    // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                                    updateManager.applyUpdate()
                                }
                            }
                        })
                    })
     
                    // 新版本下载失败
                    updateManager.onUpdateFailed(function () {
                        wx.showModal({
                            title: '更新提示',
                            content: '检测到了新版本,但是下载失败了~'
                        })
                    })
     
                }
            })
        }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
  • 相关阅读:
    苹果app开发流程详解​
    使用Hbuilder+Xcode打包iOS app前期准备
    前嗅百科 | 这10个科学常识竟然都不是真的?
    函数定义方式3种
    C#基数排序算法
    论有一个面板小程序物料库的重要性!开发效率提升两三倍
    缓存穿透、缓存击穿、缓存雪崩
    java-php-net-python-基于ssh的酒店客房在线预定计算机毕业设计程序
    fastapi实现websocket
    asp.net core configuration配置读取
  • 原文地址:https://blog.csdn.net/Dongfang_project/article/details/134344283