微信小程序自动检测版本并提示更新新版本

微信小程序开发过程中,我们在版本更新迭代后,微信小程序客户端并不能触发自动更新,需要用户手动清理小程序后重新搜索进入后才能获取到最新的小程序版本,但是这个是用户所不能感知到的操作,也很麻烦,故需要提醒用户如何去获取到最新的版本,我们只需要在微信小程序app.js文件中编写以下代码即可。

在app.js中加入以下两个方法即可

获取小程序更新机制的兼容,由于更新的功能基础库要1.9.90以上版本才支持,所以此处要做低版本的兼容处理

//获取小程序更新机制的兼容,由于更新的功能基础库要1.9.90以上版本才支持,所以此处要做低版本的兼容处理autoUpdate: function () {let _this = this// 获取小程序更新机制的兼容,由于更新的功能基础库要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) {// 用户确定更新小程序,小程序下载和更新静默进行_this.downLoadAndUpdate(updateManager)} else if (res.cancel) {// 若用户点击了取消按钮,二次弹窗,强制更新,如果用户选择取消后不需要进行任何操作,则以下内容可忽略wx.showModal({title: '提示',content: '本次版本更新涉及到新功能的添加,旧版本将无法正常使用',showCancel: false, // 隐藏取消按钮confirmText: '确认更新', // 只保留更新按钮success: function (res) {if (res.confirm) {// 下载新版本,重启应用_this.downLoadAndUpdate(updateManager)}}})}}})}})} else {// 在最新版本客户端上体验小程序wx.showModal({title: '提示',content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试',})}},

下载小程序最新版本并重启

  // 下载小程序最新版本并重启downLoadAndUpdate: function (updateManager) {wx.showLoading()// 静默下载更新小程序新版本,onUpdateReady:当新版本下载完成回调updateManager.onUpdateReady(function () {wx.hideLoading()// applyUpdate:强制当前小程序应用上新版本并重启updateManager.applyUpdate()})// onUpdateFailed:当新版本下载失败回调updateManager.onUpdateFailed(function () {// 下载新版本失败wx.showModal({title: '已有新版本',content: '新版本已经上线了,请删除当前小程序,重新搜索打开',})})}

小程序其他知识点

小程序上传图片

微信小程序自动检测版本并提示更新新版本

微信小程序自动检测版本并提示更新新版本相关推荐

  1. 微信小程序自动检测更新新版本

    app.js设置 App({onShow(){this.autoUpdate() //更新新版本},autoUpdate() { //更新新版本var self = this// 获取小程序更新机制兼 ...

  2. 微信小程序自动检测新版本并静默更新,及热启动和冷启动

    举个栗子,小程序发现紧急bug经修改后上线一个新版本,如果新用户还好打开就会是你新上线的最新版本,但是老用户手机上的小程序还是之前的旧版本,到此你就会想,怎样才能让老用户知道小程序版本更新了呢? 1. ...

  3. 【微信小程序】检测版本是否更新

    关于销毁 当用户点击了右上角的胶囊按钮关闭小程序,或者滑动屏幕返回手机主页面(离开微信),这时候小程序并没有直接销毁,而是进入了后台.当再次进入微信或者再次打开小程序,又会从后台进入前台. 只有当小程 ...

  4. python玩微信小程序游戏_使用python实现微信小程序自动签到功能

    功能描述目标 完成多账号微信小程序每天自动签到 输出 签到成功则向微信群发送签到成功的信息 否则提示用户签到失败,需手动签到 包管理 requests itchat time threading 程序 ...

  5. 使用python实现微信小程序自动签到2.0

    微信小程序自动签到 功能描述 目标 输出 包管理 程序的结构设计 步骤1 步骤2 步骤3 步骤4 代码实现 使用findler抓包工具查看请求类型 再次使用findler抓包,查看请求内容 使用多线程 ...

  6. es6 去掉空格_微信小程序自动去除input空格的方法

    当用户输入账号或者密码的时候,可能会有输入空格的情况,但是实际需要是不能够有空格的,所以我们要做一个去除空格,并且适应所有input的name参数的方法,下面请看源码: wxml: js: verif ...

  7. 微信小程序 自动对对联

    微信小程序 自动对对联 微信扫描二维码体验吧

  8. 提供一个小工具:微信小程序自动转码机器人!供大家24小时免费使用!

    弄个微信小程序自动转码机器人就可以完成,今天把我的机器人安排给大家,外面很多都是收费的,2毛钱转一次,这个钱真没必要花,我的机器人供大家24小时免费用,下面简单介绍一下机器人的功能. 目前我的机器人, ...

  9. 核酸预约小程序,微信小程序核酸检测,核酸检测预约小程序系统毕业设计作品

    项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序医院核酸检测预约挂号系统,前台用户使用小程序,后台管理使用基Java+MySql技术:通过后台设置相关信息,录入医疗机构信息.管理 ...

最新文章

  1. Caused by: java.lang.NoClassDefFoundError: redis/clients/util/Pool
  2. HLS-Demo IOS 视屏直播样例
  3. bootstrap--响应式框架页面环境配置
  4. 【多线程高并发】深入浅出JMM-Java线程内存模型
  5. DCMTK:终止服务类用户
  6. 工具类:获取 spring 容器中 bean
  7. 数字化转型之道:如何减少BI建设资源的浪费,缩短项目实施周期
  8. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  9. Oracle学习 实战心得总结
  10. ChartControl控件绘制折线图
  11. w ndows7安不上HP1020,惠普1020打印机驱动程序
  12. MFC鼠标响应、鼠标画线
  13. 用python编写鸡兔同笼问题
  14. sit是什么环境_DEV SIT UAT PET SIM PRD PROD常见环境英文缩写含义
  15. AppCan MVVM框架简单介绍
  16. 【简单】字符串中最长元音字符串的长度
  17. 寻找运营商电商化运营突破口的九个策谋
  18. 扒一扒那些叫欧拉的定理们(三)——简单多面体欧拉定理的抽象形式
  19. 用Derby数据库读取加密的DAT数据文件(一)
  20. hibernate的环境搭建及使用

热门文章

  1. 2020.10.17--PS--淌泪表情、翻白眼、摇晃脑袋
  2. 百度Apollo7.0_Control控制模块:纵向控制源码解析
  3. 金融科技大数据产品推荐:Chinapex创略智能客户数据平台——开启智慧营销之旅
  4. JavaScript isNaN() 函数
  5. android 黑屏手势,OPPO A83怎么设置熄屏手势? oppo黑屏手势的设置方法,a83oppo
  6. 阿里云没有“引路人”
  7. 操作系统——第三章(内存管理)
  8. Android 的暗示 hint 用法
  9. 两数之和 II - 输入有序数组(Java实现)
  10. android实现美团首页滑动菜单功能,Android模仿美团顶部的滑动菜单实例代码