uniapp&微信小程序管理小程序更新

uniapp

示例:

App.vue

  onShow: function () {
    // #ifndef H5
    const updateManager = uni.getUpdateManager();
    updateManager.onCheckForUpdate(function (res) {
      if (res.hasUpdate) {
        updateManager.onUpdateReady(function (res) {
          uni.showModal({
            title: "更新提示",
            content: "新版本已经准备好,是否重启应用?",
            success(res) {
              if (res.confirm) {
                updateManager.applyUpdate();
              }
            },
          });
        });
      }
    });
    // #endif
  },

这里主要是用了uniapp提供的两个api ,getUpdateManager和applyUpdate进行更新判断并且重启更新。注意,因为很多时候,uniapp会打包成h5和小程序,所以为了防止异常,需要加入条件编译语法,只有在非h5的平台才执行小程序强制更新的操作。

微信小程序

示例:

const updateManager = wx.getUpdateManager()

updateManager.onCheckForUpdate(function (res) {
    if(!res.hasUpdate) return
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
}

详解

uni.getUpdateManager()

本API返回全局唯一的版本更新管理器对象: updateManager,用于管理小程序更新。

App的更新不使用本API,另见文档:

平台差异说明

AppH5微信小程序支付宝小程序百度小程序抖音小程序、飞书小程序QQ小程序快手小程序京东小程序
xx

updateManager 对象的方法列表:

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

onCheckForUpdate(callback) 回调结果说明:

属性类型说明
hasUpdateBoolean是否有新的版本

wx.getUpdateManager()

功能描述

获取全局唯一的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看运行机制文档

返回值

UpdateManager 对象,用来管理更新,可通过 wx.getUpdateManager 接口获取实例。UpdateManager 对象包括以下方法:

1.强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。

UpdateManager.applyUpdate()

2.监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。

UpdateManager.onCheckForUpdate(function listener)

3.监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调

UpdateManager.onUpdateReady(function listener)

4.监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调

UpdateManager.onUpdateFailed(function listener)

uniapp官方文档

微信小程序官方文档

### uniapp 开发微信小程序版本更新的方法和注意事项 #### 1. 更新前准备 在进行uniapp开发的微信小程序版本更新之前,确保已经完成新功能的测试并修复已知漏洞。这一步骤至关重要,因为任何未检测到的问题都可能影响用户体验。 对于涉及到消息推送等功能变更的情况,如果涉及到了新的消息模板,则需提前在微信公众平台上注册这些模板[^1]。 #### 2. 修改项目文件 当准备好发布新版时,在本地环境中修改`manifest.json`中的version字段以反映当前应用的新版号。同时检查是否有新增加的功能模块或删除不再使用的资源文件;特别是注意清理不必要的依赖库来减小程序包大小。 针对分包结构的应用程序,确认所有子包内的页面路径是否正确无误,并按照最佳实践建议合理规划主包内容[^4]。 #### 3. 构建与上传 利用HBuilderX或其他IDE构建工具编译打包好最新版本小程序源码压缩包(.zip),登录微信公众平台后选择“立即升级”,按指引填写必要的信息并将上述生成好的.zip文件提交审核。 在此过程中还需特别留意关于合法域名设置等问题,确保不会因网络访问权限而导致服务中断[^2]。 #### 4. 审核过程 提交之后等待官方团队审查期间保持耐心,一般情况下会在7个工作日内给出反馈意见。如果有被拒的原因说明,请仔细阅读并针对性调整直至满足上线标准为止。 #### 5. 发布通知 一旦获得批准即可正式对外公布此次迭代的内容亮点及改进之处,鼓励现有用户尽快体验全新特性的同时也吸引潜在客户加入进来共同见证成长历程。 ```javascript // 示例:向用户显示新版本可用提示(假设已有相应接口) if (isNewVersionAvailable()) { wx.showModal({ title: '有新版本啦', content: '我们为您带来了更稳定高效的使用体验!', success(res) { if (res.confirm) { // 用户点击确定后的处理逻辑... } } }); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零凌林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值