2023年11月26日发(作者:)
微信⼩程序版本⾃动更新
公司的⼩程序项⽬上线, 后期还会有⼩型的版本迭代. 为了让⽤户能在我们进⾏版本迭代后及时使⽤最新版本的功能. 做了以下优化..
知识点1: 当⽤户点击左上⾓关闭,或者按了设备Home 键离开微信,⼩程序并没有直接销毁,⽽是进⼊了后台;
当再次进⼊微信或再次打开⼩程序,⼜会从后台进⼊前台,只有当⼩程序进⼊后台⼀定时间,或者系统资源占⽤过⾼,才会被真正的销毁。
知识点2: ⼩程序的启动分为"冷启动" 和 "热启动".
热启动是指: ⼩程序打开后,在⼀段时间内(⽬前:5分钟)再次被打开,此时会将后台的⼩程序切换到前台。
冷启动是指: ⼩程序⾸次打开或销毁后再次被打开
知识点3: 更新版本
冷启动时, 如果发现有新版本,将会异步下载新版本的代码包,并同时⽤客户端本地的包进⾏启动,即新版本的⼩程序需要等下⼀次冷启动才会应
⽤上。
如果要马上应⽤最新版本,使⽤ ateManager API 进⾏处理。
代码如下:
// 在⾥写下以下代码
onLaunch () {
if (e('getUpdateManager')) {
const updateManager = ateManager()
kForUpdate(function (res) {
('onCheckForUpdate====', res)
// 请求完新版本信息的回调
if (ate) {
('ate====')
(部分开发者⼯具版本, 每次update编译时都需要重新勾选此选项)
控制台显⽰:
知识点6: 随着⼩程序的不断更新, 部分功能可能需要最新版的微信客户端才能使⽤. 这时候可以弹窗提⽰⽤户更新到最新版本微信
if (e('getUpdateManager')) {
...
} else {
完整版本:
onLaunch () {
if (e('getUpdateManager')) {
const updateManager = ateManager()
kForUpdate(function (res) {
if (ate) {
teReady(function () {
dal({
title: '更新提⽰',
content: '新版本已经准备好,是否重启应⽤?',
success: function (res) {
if (m) {
pdate()
}
}
})


发布评论