当前位置:网站首页>微信小程序强制更新版本
微信小程序强制更新版本
2022-08-11 00:10:00 【小任睡不醒`】
小程序先提交了一个版本,但是用的时候发现了一些问题需要及时的更新,这时候就要发布新版本。如何让用户自己的小程序也更新到最新版本呢?
一、运行机制
小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。
假如用户已经打开过某小程序,然后在一定时间内(五分钟)再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;
冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。
小程序没有重启的概念
当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁
当短时间内(5s)连续收到两次以上收到系统内存告警,会进行小程序的销毁
二、更新机制
小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。 如果需要马上应用最新版本,可以使用 wx.getUpdateManager API 进行处理。
三、更新API
wx.getUpdateManager()使用该接口,可以获知是否有新版本小程序、新版本是否下载好以及应用新版本的能力。
// 获取小程序更新机制兼容
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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
})
})
}
})
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
不知道把这段代码放在哪里,写这段代码时查了好多资料,最后放在了app.js的onLaunch方法里了
发布的第一版不会生效,下一版才会生效的。
作者:小新子666
链接:https://www.jianshu.com/p/ed71afd646ce
來源:简书
边栏推荐
- sqlmap结合dnslog快速注入
- 15. Interceptor - HandlerInterceptor
- 【pypdf2】合并PDF、旋转、缩放、裁剪、加密解密、添加水印
- 【js】获取当前时间的前后n天或前后n个月(时分秒年月日都可)
- How to recover deleted files from the recycle bin, two methods of recovering files from the recycle bin
- “蔚来杯“2022牛客暑期多校训练营4 ADHK题解
- How to recover data from accidentally deleted U disk, how to recover deleted data from U disk
- 【openpyxl】只读模式、只写模式
- SQL注入基础
- 学习Apache ShardingSphere解析器源码(一)
猜你喜欢

12. 处理 JSON

nodejs项目连接mysql数据库

全排列思路详解

Based on the SSM to reach the phone sales mall system
![[Excel knowledge and skills] Convert](/img/96/ece9c3885fd4abe4bf4d211813b9c4.png)
[Excel knowledge and skills] Convert "false" date to "true" date format

Introduction to Qt (6) - Implementation of the lottery system

李彦宏拆墙交朋友,大厂“塑料友情”能否帮百度啃下硬骨头?

15. Interceptor - HandlerInterceptor

C language, operators of shift operators (> >, < <) explanation
![[数据可视化] 图表设计原则](/img/f3/691dd58d1e334f9f62efa23e27ec76.png)
[数据可视化] 图表设计原则
随机推荐
10. Notes on receiving parameters
sqlmap combined with dnslog fast injection
Web-based meal ordering system in epidemic quarantine area
16. File upload
13. Content Negotiation
“蔚来杯“2022牛客暑期多校训练营2 DGHJKL题解
ASIO4ALL是什么
2022下半年软考「高项」易混淆知识点汇总(2)
英文文献阅读时,如何做笔记?
SQL injection base - order by injection, limit, wide byte
Ali P7 bask in January payroll: hard to fill the, really sweet...
【爬虫】scrapy创建运行爬虫、解析页面(嵌套url)、自定义中间件(设置UserAgent和代理IP)、自定义管道(保存到mysql)
3d打印出现stl文件物体不是流形,意味着不是水密体...解决办法
如何利用原生JS实现回到顶部以及吸顶效果
Lens filter---about day and night dual-pass filter
从0开始设计JVM ,忘记名词跟上思路一次搞懂
[Excel知识技能] 将“假“日期转为“真“日期格式
Call activity of Activiti7 sub-process
两个链表的第一个公共节点——LeetCode
IEEE的论文哪里可以下载?