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

注释很详细,直接上代码

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

相关推荐
前端开发呀2 小时前
成为开源项目的Contributor:从给uView-pro 贡献一次PR开始
前端·微信小程序
Dark_programmer4 小时前
钉钉小程序 - - - - - 小程序内跳转其他小程序
小程序·apache·钉钉
kyh10033811206 小时前
可商用去水印微信小程序源码(免费获取全部源码)
微信小程序·小程序·微信小游戏·去水印·去水印工具·微信去水印小程序
2501_915106327 小时前
H5 混合应用加密实践,从明文资源到安全 IPA 的多层防护体系
android·安全·ios·小程序·uni-app·iphone·webview
我命由我123458 小时前
微信小程序 - 页面返回并传递数据(使用事件通道、操作页面栈)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
半开半落8 小时前
uniapp微信小程序端接收ai模型返回的SSE流式数据
微信小程序·小程序·uni-app·ai模型
2501_916007478 小时前
在 CICD 中实践 Fastlane + Appuploader 命令行,构建可复制的 iOS 自动化发布流程
android·运维·ios·小程序·uni-app·自动化·iphone
一匹电信狗8 小时前
【Linux我做主】进程实践:手动实现Shell
linux·运维·服务器·c++·ubuntu·小程序·开源
奺儿8 小时前
uniapp 小程序 报错 TypeError: Cannot convert undefined or null to object
小程序·uni-app
2501_915921439 小时前
从 HBuilder 到 App Store,uni-app 与 HBuilder 项目的 iOS 上架流程实战解析
android·ios·小程序·https·uni-app·iphone·webview