微信小程序(十三)生命周期-更新应用提醒

注释很详细,直接上代码

新增内容:
1.onLaunch用法
2.onShow用法
3.onHide用法
4.应用更新API的调用模板

源码:

js 复制代码
App({
    //小程序初始化时触发,全局只触发一次
    onLaunch(option) {
        //可以获取场景值和启动参数,eg.option
        console.log('onLaunch');

        // 获取全局唯一的版本更新管理器实例
        const updateManager = wx.getUpdateManager()

        // 检查是否有新版本
        updateManager.onCheckForUpdate(function (res) {
            // 当调用 wx.getUpdateManager() 后,会触发 onCheckForUpdate 回调函数
            // 请求完新版本信息的回调,res.hasUpdate 为 true 代表有新版本,为 false 代表无新版本
            console.log(res.hasUpdate) // 输出是否有新版本的信息
        })

        // 监听新版本下载完成
        updateManager.onUpdateReady(function () {
            // 当新版本下载完成后,会触发 onUpdateReady 回调函数
            // 弹窗提示用户,询问是否重启应用来应用新版本
            wx.showModal({
                title: '更新提示', // 弹窗标题
                content: '新版本已经准备好,是否重启应用?'// 弹窗内容
                success: function (res) {
                    if (res.confirm) {
                        // 用户点击确定,调用 applyUpdate 应用新版本并重启应用
                        updateManager.applyUpdate() // 应用新版本并重启应用
                    }
                }
            })
        })

        // 监听新版本下载失败
        updateManager.onUpdateFailed(function () {
            // 当新版本下载失败时,会触发 onUpdateFailed 回调函数
            // 弹窗提示用户,通知新版本下载失败
            wx.showModal({
                title: '更新失败', // 弹窗标题
                content: '更新失败,请检查网络重试' // 弹窗内容
            })
        })
    },

    //下面两个触发事件可用于统计小程序打开的时长(有点学习通的感觉了hhh)

    //小程序启动或从后台进入前台显示时触发
    onShow() {
        console.log('onShow');
    },

    //小程序从前台进入后台时触发
    onHide() {
        console.log('onHide');
    }
})

效果演示:

  1. 模拟成功的情况

2.模拟失败的情况

相关推荐
m0_462803885 小时前
从信息管理视角看「按桌顺序分桌」:云分组优先分组的实现逻辑
微信小程序
爱折腾的编程老炮9 小时前
潮玩品牌自建抽盒机小程序——商城 + 抽盒 + 一番赏 + 会员 + 社区,一套代码怎么搭
spring boot·小程序·vue·mybatis·uniapp
新知图书10 小时前
第13章 从一句话需求到上线“续费管家”小程序
人工智能·小程序·智能体
数商云企19 小时前
2026年陕西软件开发首选数商云企AI微入口小程序定制方案
人工智能·小程序
bug总结1 天前
uniapp 微信小程序分包规范
微信小程序·小程序·uni-app
Quor1 天前
小程序工作室:AI 生成即运行的可视化工作台
人工智能·小程序
盟道科技1 天前
小程序电商订单超时自动取消的三种实现方案:定时扫描、Redis 过期监听、延迟消息对比与生产落地
数据库·redis·小程序
lhldsg1 天前
智慧场馆解决方案小程序系统:从架构设计到落地实践
java·小程序·需求分析
凉红茶1 天前
用Cursor开发微信小程序的第一天
微信小程序·小程序·ai编程
CRMEB系统商城1 天前
汽车养护连锁的数字化底座CRMEB 多门店系统实战方案
java·开发语言·小程序·开源·汽车