目录

  • 1,前言
  • 2,解决方案
  • 3,调试须知
    • 下次编译模拟更新

1,前言

最近开发小程序时候碰上了一个问题,当发布新版本小程序后,需要用户能赶紧用上最新的,避免出问题。查了一下官方文档,总结出几个情况如下:

  1. 微信运行时,会定期(24小时内)检查最近使用的小程序是否有更新(黄花菜都凉了)
  2. 用户长时间未使用小程序时,会强制同步检查版本更新(对于使用频率高的小程序没P用)
  3. 小程序每次冷启动时,都会异步检查是否有更新版本(本次不生效,下次冷启动才生效)

这里科普一下什么是冷启动和热启动

  • 冷启动:用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载
  • 热启动:用户已经打开过某小程序,然后在一定时间内(30分钟)再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态

2,解决方案

通过查询文档和网上冲浪,最终解决方案是在app.js的onShow生命周期里检查是否有新版本,如果有的话,就异步下载,下载完毕弹窗提示用户更新,代码如下:

const updateManager = uni.getUpdateManager()
onShow() {// 请求完新版本信息的回调updateManager.onCheckForUpdate(res => {if (res.hasUpdate) {// 新版本下载成功updateManager.onUpdateReady(() => {uni.showModal({title: '更新提示',content: '新版本已经准备好,点击确定重启小程序',success(res) {if (res.confirm) {// 新的版本已经下载好,强制更新updateManager.applyUpdate()}}})})}})// 新版本下载失败updateManager.onUpdateFailed(res => {console.error(res)})
}

3,调试须知

  • 小程序开发版/体验版没有版本概念,所以无法在开发版/体验版上测试更版本更新情况
  • 微信开发者工具上可以通过编译模式中勾选下次编译模拟更新开关来调试

如果看了觉得有帮助的,我是@上进的鹏多多,欢迎 点赞 关注 评论;

往期文章

  • Vue2全家桶+Element搭建的PC端在线音乐网站
  • vue3+element-plus配置cdn
  • 助你上手Vue3全家桶之Vue3教程
  • 助你上手Vue3全家桶之VueX4教程
  • 助你上手Vue3全家桶之Vue-Router4教程
  • 超详细!Vue的九种通信方式
  • 超详细!Vuex手把手教程
  • 使用nvm管理node.js版本以及更换npm淘宝镜像源
  • vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
  • 超详细!Vue-Router手把手教程

个人主页

  • CSDN
  • GitHub
  • 简书
  • 博客园
  • 掘金

微信小程序检查版本更新并重启相关推荐

  1. uniapp 微信小程序版本更新提示

    uniapp 微信小程序版本更新提示 // app.vue onShow: function() {const updateManager = uni.getUpdateManager();updat ...

  2. 微信小程序 版本更新及调试方法

    1.wx.getUpdateManager()官方文档 版本更新管理器wx.getUpdateManager()官方文档       wx.getUpdateManager() 获取全局唯一的版本更新 ...

  3. 微信小程序 版本更新

    onLaunch() {if (wx.canIUse('getUpdateManager')) { //判断微信版本是否 兼容小程序更新机制API的使用//版本检查var updateManager ...

  4. 微信小程序版本更新后提示用户更新

    一.问题 当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除), 则会弹出提示,提醒用户更新新的版本.用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新. ...

  5. 微信小程序版本更新提示

    提交代码时选择版本升级 代码 onLaunch() {this.updateVersions()} // 版本更新提示updateVersions() {const updateManager = u ...

  6. 微信小程序 检测小程序版本更新提示

    微信小程序新版本发布之后,用户使用依然是旧版本,这是因为在微信中有旧版本的缓存,不会及时更新到新版本.要想让用户更新到新版本,可以通过提示用户在微信中的"发现 - 小程序"入口中将 ...

  7. 【版本更新】网易云信IM微信小程序上线啦!

    网易云信 IM & 音视频通话 SDK 5.0 已正式发布! 本期更新大招就是 ▽▽▽ 微信小程序 SDK 及 Demo 正式发布 长按下方码识别体验或者微信小程序内搜索「云信IM」 其他更新 ...

  8. android 版本更新忽略,安卓微信7.0.14 正式版更新,几个被你忽略的微信小技巧

    安卓微信7.0.14 正式版更新,几个被你忽略的微信小技巧 2020-05-01 22:50:38 44点赞 101收藏 30评论 " 生活中总有几个小技巧让你得心应手!" 今天给 ...

  9. 云开发喝酒神器2.0微信小程序源码/带流量主和重启人生小程序源码

    ☑️ 编号:ym387 ☑️ 品牌:无 ☑️ 语言:微信小程序 ☑️ 大小:1.97MB ☑️ 类型:云开发喝酒神器2.0 ☑️ 支持:小程序

  10. 纯jsp实现评论功能_基于云开发的小程序版本更新、评论功能改进、后台管理的实现...

    关于微信小程序更新问题实现 1)小程序的启动方式: 冷启动----小程序首次打开或销毁后再次被打开 热启动----小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台. ...

最新文章

  1. u-boot移植初步尝试-tiny4412
  2. python脚本控制手机app_Python+Appium学习之启动手机APP或者浏览器
  3. python语言的实验心得体会范文_实验报告个人心得体会范文
  4. 若依框架二次开发中的坑
  5. es6 --- 用promise对象实现Ajax操作的一个实例
  6. Spring注解依赖注入的三种方式的优缺点以及优先选择
  7. C++笔记-断言、静态断言、R转义符
  8. 通过实例讲解java接口和抽象类的特殊实现方法
  9. Apache WEB 服务器企业实战
  10. [转]详解Flex布局(语法+教程)
  11. javascript学习之数组的使用一 push pop shift unshift 方法
  12. 【转录调控网络】基因转录调控网络——转录因子调控网络分析
  13. Apache网页优化(网页压缩、网页缓存、隐藏版本、配置防盗链)
  14. PHPStorm 配置locahost 数据库
  15. HTML5 新的 Input 类型
  16. 超分辨率(CVPR2020) ~《Video Super-resolution with Temporal Group Attention》
  17. 如何进行有效的大数据处理、分析?
  18. 3GPP TS 23501-g51 中英文对照 | 5.2.3 Identification and authentication
  19. linux更新网卡驱动版本,Linux中升级网卡驱动
  20. HSA人血清白蛋白修饰纳米金球金棒

热门文章

  1. 个人CTF入门训练过程WriteUp
  2. bg、jobs、fg
  3. 圈圈教你玩USB(第二版) 笔记
  4. 华为端口聚合命令_华为交换机链路聚合命令
  5. 做自由职业者是怎样的体验
  6. java游戏代码大全_求一个简单的Java小游戏的代码
  7. Java 测试使用的类 Test
  8. STL源码剖析 第5章 关联式容器
  9. 对数周期天线hfss建模_Ansoft HFSS 在设计对数周期天线时的仿真方法-HFSS教程
  10. C#调用python深度学习项目排坑