首页 > 编程语言 >微信小程序配置自动更新,微信小程序自动升级

微信小程序配置自动更新,微信小程序自动升级

时间:2023-07-04 16:25:55浏览次数:33  
标签:自动更新 微信 程序 updateManager 用户 冷启动 版本

我们开发完小程序,发布新版本之后,用户如果想体验新版本,需要把小程序从使用列表删除,在重新搜索之后,再次打开,新的版本才会生效。但是, 随着我们更新次数的增加,这种方式就很不友好,用户体验下降,所以在开发中,我们就要考虑配置小程序自动更新。

首先,我们需要了解下小程序的运行机制,小程序启动可以分为两种情况,一种是冷启动,一种是热启动

  • 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。

  • 热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。

在了解下更新机制

  • 未启动时更新:就是说用户本地已经存在小程序历史版本,此时打开不是最新版本,最坏的情况是24小时内下发推送给用户。

  • 启动时更新:就是冷启动,用户从未体验小程序,或者小程序销毁后再打开。异步下载新版本,并同时用本地的包进行启动,新版本需要等下一次冷启动才会应用上。

上面简单介绍了小程序的运行机制和更新机制,接下来就是配置小程序自动更新。我们在app.js中,新增如下代码

// 小程序自动更新
if (wx.canIUse('getUpdateManager')) {
  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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
        })
      })
    }
  })
}

添加编译模式

abf7bf85542d7f5160d3bec2a459f6fc.png

 

小程序会重新编译,版本更新已提示

 

 

 

更新完会重启,小程序自动更新已配置完成。

 

参考:https://www.cnblogs.com/nmgwap/p/16331632.html

标签:自动更新,微信,程序,updateManager,用户,冷启动,版本
From: https://www.cnblogs.com/youmingkuang/p/17526031.html

相关文章

  • 数据万象AVIF图片压缩 - 小程序省流量利器
    导语微信小程序因其便捷的开发环境和天然的微信生态,使得越来越多企业平台通过小程序建立自己的业务。在小程序上使用图片非常广泛,但传统格式图片(如JPG/PNG)占用空间大,加载速度慢,可能导致昂贵的图片流量支出。近年来,AVIF图片以高压缩率、优良画质成为省流量的新选择。本文将介绍......
  • 全新ChatGPT3.5小程序开源后端+前端源码
    首发ChatGPT3.5小程序开源vue!这一版本ui比较好看回复速度也快了小程序是java的带后台本来准备给你们带上接口的然后么后台是和接口连接的我改什么内容你们前段都会显示所以开源自己搭建下吧,腾讯云买个国外服务器就可以了几十块钱!而且最近openkey封号比较频繁所以大家自己......
  • 第20课 SPI协议详解及裸机程序开发分析
    第001节_SPI协议介绍市面上的开发板很少接有SPI设备,但是SPI协议在工作中经常用到。我们开发了SPI模块,上面有SPIFlash和SPIOLED。OLED就是一块显示器。我们裸板程序会涉及两部分:用GPIO模拟SPI用S3C2440的SPI控制器我们先介绍下SPI协议,硬件框架如下:SCK:提供时钟DO:作为数据输出DI:作......
  • 第016课 Nand Flash操作原理及裸机程序分析
    第001节_NAND_FLASH操作原理NANDFLASH原理图NANDFLASH是一个存储芯片那么:这样的操作很合理”读地址A的数据,把数据B写到地址A”问1.原理图上NANDFLASH和S3C2440之间只有数据线,怎么传输地址?答1.在DATA0~DATA7上既传输数据,又传输地址当ALE为高电平时传输的是地址,那么在数据......
  • 第017课 LCD原理详解及裸机程序分析
    第001节_LCD硬件原理先简单介绍下LCD的操作原理。如下图的LCD示意图,里面的每个点就是一个像素点。想象有一个电子枪,一边移动,一边发出各种颜色的光。这里有很多细节问题,我们一个一个的梳理。电子枪是如何移动的?答:有一条CLK时钟线与LCD相连,每发出一次CLK(高低电平),电子枪就移动......
  • 使用uni-app中的uni-popup-dialog组件编译成小程序会自动弹出键盘问题
    1.uni-app中使用uni-popup和uni-popup-dialog组件mode模式为input时,会自动把键盘弹出来,如图所示: 2.代码如下:<uni-popuptype="dialog"ref="dialog"><uni-popup-dialogmode="input"title="name"placeholder="请输入name"@confi......
  • ubuntu下新安装的qtcreator无法打开?编译好的qt程序缺少qtcore库文件?
    ubuntu下新安装的qtcreator无法打开?编译好的qt程序缺少qtcore库文件?试试添加qt和qtcreator到环境变量。sudovi/etc/profile新增exportQTDIR=你的qt根目录exportPATH=$QTDIR/bin:$PATHexportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexportQTCREATOR=你的qtcret......
  • Qt杂谈5.浅谈Qt程序乱码那些事
    1为啥聊这个?你是否也在为Qt程序乱码的问题发愁?网上查了一大堆文章,十篇文章九篇一样,虽然碰运气把问题解决了,但是下次遇到同样的问题还是无从下手,如果你想从根本上理解并解决这个问题,那么可以看看这篇文章,希望能帮到你。2从代码出发2.1使用的Qt版本本人的测试环境:Qt版本:Desk......
  • 2023最新php goto完全解密系统程序
    PHPGOTO加密代码一度被认为是程序员的一大难题,但随着技术的不断进步,现在有了一款神奇的工具来解决这个问题。这款PHPGOTO解密工具拥有强大的功能,能够轻松解密和还原GOTO语句,让你的程序恢复到最初的状态。完整有效解密还原源码goto解密,基本做到免修复直接可用。Windows电脑版:https......
  • 微信小程序uniapp解决真机顶部自定义菜单显示(手机状态栏覆盖)
    1.在data里面加入参数statusBarHeight:uni.getSystemInfoSync().statusBarHeight,//状态栏高度2.对返回按钮处理<!--空出状态栏高度--><view:style="'height:'+statusBarHeight+'px;'"></view><!--返回按钮--><di......