微信小程序启动自动检测版本更新,检测到新版本则提示更新

UpdateManager 对象,用来管理更新,可通过 wx.getUpdateManager 接口获取实例

在app.js中的示例代码
onShow() {
    // 获取小程序更新机制的兼容,由于更新的功能基础库要1.9.90以上版本才支持,所以此处要做低版本的兼容处理
    if (wx.canIUse('getUpdateManager')) {
      // wx.getUpdateManager接口,可以获知是否有新版本的小程序、新版本是否下载好以及应用新版本的能力,会返回一个UpdateManager实例
      const updateManager = wx.getUpdateManager()
      // 检查小程序是否有新版本发布,onCheckForUpdate:当小程序向后台请求完新版本信息,会通知这个版本告知检查结果
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          // 检测到新版本,需要更新,给出提示
          wx.showModal({
            title: '更新提示',
            content: '检测到新版本,是否下载新版本并重启小程序',
            success: function (res) {
              if (res.confirm) {
                downLoadAndUpdate(updateManager)
              } else if (res.cancel) {
                // 若用户点击了取消按钮,二次弹窗,强制更新,如果用户选择取消后不需要进行任何操作,则以下内容可忽略
                wx.showModal({
                  title: '提示',
                  content: '本次版本更新涉及到新功能的添加,旧版本将无法正常使用',
                  showCancel: false, // 隐藏取消按钮
                  confirmText: '确认更新', // 只保留更新按钮
                  success: function (res) {
                    if (res.confirm) {
                      downLoadAndUpdate(updateManager)
                    }
                  }
                })
              }
            }
          })
        }
      })
    } else {
      // 在最新版本客户端上体验小程序
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试',
      })
    }
  },
   // 下载小程序最新版本并重启
  downLoadAndUpdate(updateManager){
    wx.showLoading()
    // 静默下载更新小程序新版本,onUpdateReady:当新版本下载完成回调
    updateManager.onUpdateReady(function () {
      wx.hideLoading()
      // applyUpdate:强制当前小程序应用上新版本并重启
      updateManager.applyUpdate()
    })
    // onUpdateFailed:当新版本下载失败回调
    updateManager.onUpdateFailed(function () {
      // 下载新版本失败
      wx.showModal({
        title: '已有新版本',
        content: '新版本已经上线了,请删除当前小程序,重新搜索打开',
      })
    })
  },

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

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

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

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

在体验码和开发版不能测试,可以使用添加编译的方式检测

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/395249.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AIGC专题:生成式人工智能在能源和材料领域中的新机遇

今天分享的是AIGC系列深度研究报告:《AIGC专题:生成式人工智能在能源和材料领域中的新机遇》。 (报告出品方:McKinsey & Company) 报告共计:11页 来源:人工智能学派 利用人工智能的力量…

Terminus:介绍+使用教程+技巧【全网保姆级教程】

一、起因 当我把电脑从win系统换成mac系统时候,我知道XShell已经不能在使用了,我需要找到最好的s sh客户端去登陆服务器 二、心路历程 我找了很多的软件: SSH Config Editor ProZOCVanDyke SecureCRTFinalShell 每个下载都试用了几天&#xf…

FL Studio Producer Edition v21.2.3.4004 最新版本作为 Windows 离线安装程序2024免费下载

Fl Studio 21.2.3.4004最新中文版直装版是最新的音乐制作工具。它可以与各种音乐制作令人惊叹的音乐工作。它提供了一个相当简单和用户友好的集成开发环境工作。这整个音乐工作站是由比利时公司图像线开发的。其先进的理念帮助初学者和专业人士创作、安排、录制、编辑和混合音乐…

【知识整理】PHP研发组代码规范要求

一、目标 统一代码风格、命名规范,增强代码可读性和可维护性,供日常开发工作中时参考,以提高团队协作的开发效率。 二、编程规约 PHP代码规范[PSR-12] 特别注意: 1、业务代码内对 常量、变量(分页值、版本号、向下参数等)、魔法值…

AI嵌入式K210项目(29)-模型加载

文章目录 前言一、下载部署包二、C部署三、搭建文件传输环境四、文件传输五、调试六、MicroPython部署总结 前言 上一章节介绍了如何进行在线模型训练,生成部署包后,本章介绍加载模型; 一、下载部署包 训练结束后,在训练任务条…

Python Django路由详解

1.路由Router 在实际开发过程中,一个Django 项目会包含很多的 app,这时候如果我们只在主路由里进行配置就会显得杂乱无章,所以通常会在每个app 里,创建各自的 urls.py 路由模块,然后从根路由出发,将 app 所…

idea快捷键使用

文章目录 快捷键的使用通用型编码源文件时快捷键使用操作文件类结构、查找和查看源码查找、替换与关闭调整格式Debug快捷键 查看快捷键已知快捷键操作名,未知快捷键已知快捷键,不知道对应的操作名自定义快捷键 切换其它平台快捷键 快捷键的使用 通用型 …

《白话C++》第10章 STL和boost,Page85 std::shared_ptr常用功能

std::shared_ptr基本用法包括&#xff1a; &#xff08;1&#xff09;取裸指针 //get()成员取回裸指针 std::shared_ptr <int> pa(new int(5)); int* p pa.get(); /**< 取回裸指针 */ &#xff08;2&#xff09;判断是否为空 肯定可以这样写&#xff1a; std::s…

MobaXterm下载安装及SSH远程教程

一、MobaXterm的简介 MobaXterm是一款功能强大的远程计算工具&#xff0c;集成了诸多网络工具和便利功能&#xff0c;包括SSH、X11服务器、SFTP等&#xff0c;支持Windows系统。用户可以使用MobaXterm来轻松管理远程服务器&#xff0c;进行文件传输&#xff0c;远程桌面显示等操…

8、内网安全-横向移动RDPKerberos攻击SPN扫描WinRMWinRS

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正 目录 一、域横向移动-RDP-明文&NTLM 1.探针服务&#xff1a; 2.探针连接&#xff1a; 3.连接执行&#xff1a; 二、域横向移动-WinRM&WinRS-明文&NTLM 1.探针可用&#xff1a; 2.连接…

语义相关性评估指标:召回率、准确率、Roc曲线、AUC;Spearman相关系数、NDCG、mAP。代码及计算示例。

常规的语义相关性评价可以从检索、排序两个方面进行。这里只贴代码。详细可见知乎https://zhuanlan.zhihu.com/p/682853171 检索 精确率 def pre(true_labels[],pre_labels[]):""":param true_labels: 正样本索引:param pre_labels: 召回样本索引:return: 精…

180144-70-1,6-罗丹明6G-NHS 活化酯,具有高荧光性质的罗丹明家族染料

216699-37-5&#xff0c;793646-39-6&#xff0c;180144-70-1&#xff0c;6-罗丹明6G-NHS 活化酯&#xff0c;6-Rhodamine 6G NHS ester&#xff0c;R6G SE,6-isomer&#xff0c;具有高荧光性质的罗丹明家族染料 您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;216…

【存储基础学习笔记】

目录 第一章&#xff1a;存储基础知识第二章&#xff1a;存储的基本概念2.1存储是什么&#xff1f;2.2存储的应用场景2.3存储的硬件结构2.4存储的软件架构2.5存储设备的性能参数和计算方法 第三章&#xff1a;存储阵列关键技术3.1硬盘介绍3.2RAID技术3.3RAID2.0技术 第四章&…

Postgresql 怎么实现在局域网中访问

安装PostgreSQL后&#xff0c;默认情况下只能在本机进行连接访问&#xff0c;如果需要在其他主机上访问PostgreSQL数据库服务器&#xff0c;需要进行配置。 安装连接PostgresSQL数据库可以参考博文&#xff1a;安装连接PostgresSQL数据库教程 一. 整体步骤 主要包括下面几个步…

mmap映射文件使用示例

mmap 零拷贝技术可以应用于很多场景&#xff0c;其中一个典型的应用场景是网络文件传输。 假设我们需要将一个大文件传输到远程服务器上。在传统的方式下&#xff0c;我们可能需要将文件内容读入内存&#xff0c;然后再将数据从内存复制到网络协议栈中&#xff0c;最终发送到远…

Ubuntu系统搭建HadSky论坛并结合内网穿透实现无公网ip远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

x86下使用硬件实现的任务切换(TSS表)---使用代码讲解

实现任务切换(使用TSS) 视频讲解可以看这一个课程 • The current program, task, or procedure executes a JMP or CALL instruction to a TSS descriptor in the GDT. • The current program, task, or procedure executes a JMP or CALL instruction to a task-gate descri…

冒泡排序及其优化

冒泡排序 int[] arr {1,3,2,9,4,7,2,8};//比较多少轮(n个数字比较n-1次)for(int i0,n arr.length;i<n-1;i) {//每轮比较多少次(n-1-i次)for(int j 0;j<n-1-i;j) {//两两比较if(arr[j] > arr[j1]) { //比较结果为升序排列&#xff0c;如果想要降序排列结果将 >…

计算机网络——18无连接传输UDP

无连接传输UDP UDP “尽力而为的”服务&#xff0c;报文段可能 丢失送到应用进程的报文段乱序 无连接 UDP发送端和接收端之间没有握手每个UDP报文段都被独立的处理 UDP被用于 流媒体DNSSNMP 在UDP上实现可靠传输 在应用层增加可靠性应用特定的差错格式 UDP&#xff1a;用户…

小工具 - 浮点计算器

文章目录 小工具 - 浮点计算器概述笔记FloatCalcDlg.cppFloatCalcDlg.hrcEND 小工具 - 浮点计算器 概述 在学习CE, 在调试过程中, 经常要看内存中浮点对应的4字节内存到底对应的是啥具体的浮点值. e.g. 0x42860000 > 67.00 转换逻辑挺简单的 float CFloatCalcDlg::uint32…
最新文章