小程序的应用周期处理逻辑都写在app.js中。
一、onLaunch
小程序启动时(初始化完成)执行,只执行一次。
常用于小程序更新,获取启动参数,获取场景值。
二、onShow
小程序启动,或从后台切换至前台时执行。
三、onHide
小程序隐藏,或从前台切换至后台时执行。
javascript
App({
// 小程序初始化完成时触发,全局只触发一次
onLaunch() {
console.log('onLaunch')
},
// 小程序启动,或从后台进入前台时
onShow() {
console.log('onShow')
},
// 小程序从前台进入后台时
onHide() {
console.log('onHide')
}
})
四、小程序获取场景值和参数
javascript
App({
// 小程序初始化完成时触发,全局只触发一次
onLaunch(options) {
console.log('onLaunch')
// options 对象,包含场景值、参数等
// options.scene 场景值
// options.query 参数
console.log(options)
},
// 小程序启动,或从后台进入前台时
onShow(options) {
console.log('onShow')
console.log(options)
},
// 小程序从前台进入后台时
onHide() {
console.log('onHide')
}
})
五、小程序更新
javascript
App({
onLaunch(options) {
this.checkUpdate()
},
checkUpdate() {
// 获取版本更新管理器
const updateManager = wx.getUpdateManager()
// 检查更新结果
updateManager.onCheckForUpdate(function (res) {
// 是否有更新
console.log(res.hasUpdate)
})
// 监听小程序有版本更新事件
updateManager.onUpdateReady(function () {
// 客户端主动触发下载(无需开发者触发下载,只需要做引导重启的提示即可)
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
},
})
})
},
})