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

注释很详细,直接上代码

新增内容:
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.模拟失败的情况

相关推荐
游戏开发爱好者815 小时前
iOS 开发者的安全加固工具,从源码到成品 IPA 的多层防护体系实践
android·安全·ios·小程序·uni-app·cocoa·iphone
玄微云15 小时前
如何选择可靠的产后修复营销小程序?市场分析与实用指南
小程序
游戏开发爱好者817 小时前
Charles 抓不到包怎么办?从 HTTPS 代理排错到底层数据流补抓的完整解决方案
网络协议·http·ios·小程序·https·uni-app·iphone
北漂的老猿20 小时前
知识付费小程序 梦想贩卖机v2
小程序
我命由我123451 天前
微信小程序 - 避免在 data 初始化中引用全局变量
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
白菜__1 天前
去哪儿小程序逆向分析(酒店)
前端·javascript·爬虫·网络协议·小程序·node.js
我命由我123451 天前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
2501_915921431 天前
Fiddler抓包工具详解,HTTPHTTPS调试、代理配置与接口分析实战教程
服务器·ios·小程序·fiddler·uni-app·php·webview
我命由我123451 天前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js