5***@qq.com
5***@qq.com
  • 发布:2026-08-04 10:37
  • 更新:34 分钟前
  • 阅读:33

uni-upgrade-center-app回调信息如何获取

分类:uni-app

uni-upgrade-center-app回调信息如何获取,想在个人中心添加一个:检测是否有更新的按钮

2026-08-04 10:37 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

uni-upgrade-center-app 的回调信息获取方式如下:

checkUpdate 方法返回 Promise,可以通过 .then().catch() 获取回调信息:

import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'  

// 在个人中心的"检测更新"按钮点击事件中调用  
checkUpdate().then(res => {  
    console.log('检测更新回调:', res)  

    // res.result.code 的含义:  
    // 0    - 当前版本已经是最新的,不需要更新  
    // 101  - wgt更新(热更新)  
    // 102  - 整包更新  
    // -101 - 暂无更新或检查appid是否填写正确  
    // -102 - 请检查传参是否填写正确  

    if (res.result.code === 0) {  
        uni.showToast({  
            title: '当前已是最新版本',  
            icon: 'none'  
        })  
    } else if (res.result.code === 101 || res.result.code === 102) {  
        // 有更新,会自动弹出更新弹框  
        console.log('发现新版本:', res.result.message)  
    } else if (res.result.code === -101) {  
        uni.showToast({  
            title: '暂无更新',  
            icon: 'none'  
        })  
    }  
}).catch(err => {  
    console.error('检测更新失败:', err)  
    uni.showToast({  
        title: '检测更新失败',  
        icon: 'none'  
    })  
})

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

完整示例(个人中心页面):

<template>  
    <view>  
        <button @click="checkAppUpdate">检测更新</button>  
    </view>  
</template>  

<script>  
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'  

export default {  
    methods: {  
        checkAppUpdate() {  
            uni.showLoading({  
                title: '检测中...'  
            })  

            checkUpdate().then(res => {  
                uni.hideLoading()  

                if (res.result.code === 0) {  
                    uni.showToast({  
                        title: '当前已是最新版本',  
                        icon: 'none'  
                    })  
                }  
                // code 为 101 或 102 时会自动弹出更新弹框,无需手动处理  
            }).catch(err => {  
                uni.hideLoading()  
                console.error('检测更新失败:', err)  
                uni.showToast({  
                    title: '检测更新失败,请稍后重试',  
                    icon: 'none'  
                })  
            })  
        }  
    }  
}  
</script>

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

注意事项:

  1. checkUpdate 会自动处理更新弹框:当检测到有更新时(code 为 101 或 102),会自动跳转到更新弹框页面,无需手动处理
  2. code 为 0 或负数时需要手动提示:已是最新或检测失败的情况,需要自己显示提示信息
  3. 确保已正确配置:需要在 pages.json 中注册升级弹框页面,并且云函数已正确部署

更多详细信息请参考:

内容为 AI 生成,仅供参考
杨杨得亿

杨杨得亿 - 这个人很懒,什么都没有留下~

import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'  

// 在需要检测更新的地方调用(例如个人中心的按钮点击事件或页面 onLoad)  
checkUpdate().then(res => {  
  console.log('检测更新回调:', res)  

  // res.result.code 的含义:  
  // 0    - 当前版本已经是最新的,不需要更新  
  // 101  - wgt更新(热更新)  
  // 102  - 整包更新  
  // -101 - 暂无更新或检查 appid 是否填写正确  
  // -102 - 请检查传参是否填写正确  

  if (res.result.code === 0) {  
    uni.showToast({  
      title: '当前已是最新版本',  
      icon: 'none'  
    })  
  } else if (res.result.code === 101 || res.result.code === 102) {  
    // 发现新版本,插件会自动弹出更新弹框,无需手动处理  
    console.log('发现新版本:', res.result.message)  
  } else if (res.result.code === -101) {  
    uni.showToast({  
      title: '暂无更新',  
      icon: 'none'  
    })  
  }  
}).catch(err => {  
  console.error('检测更新失败:', err)  
  uni.showToast({  
    title: '检测更新失败',  
    icon: 'none'  
  })  
})

确保已在 pages.json 中正确注册了升级弹框页面(upgrade-popup),并且相关的云函数已正确部署。

要回复问题请先登录注册