请参考:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html
onLaunch(options):
- 调用时机:小程序被加载完毕的时候调用。这个方法一般用来做一些初始化的事情。比如获取用户信息、获取
历史缓存信息、获取小程序打开来源等。 - 参数:
| 参数 | 类型 | 说明 | | :--- | :--- | :--- | | path | String | 打开小程序的路径 | | query | Object | 打开小程序的query |
| scene | Number | 打开小程序的场景值 | | shareTicket | String | shareTicket,详见 获取更多转发信息 | |
referrerInfo | Object | 当场景为由从另一个小程序或公众号或App打开时,返回此字段 | | referrerInfo.appId |
String | 来源小程序或公众号或App的 appId,详见下方说明 | | referrerInfo.extraData | Object | 来源小程序传
过来的数据,scene=1037或1038时支持 |
onShow(options):
- 调用时机:小程序启动,或从后台进入前台显示时调用。如果想要在小程序每次进入到前台的时候都执行一些
事情,那么可以把代码放在这个里面。比如一些实时动态更改的数据,用户每次进来都要从服务器更新,那么
我们就可以在这个里面做。 - 参数:同 onLoad 。
onHide():
- 调用时机:小程序被切换到后台(包括微信自身被切换到后台或者小程序暂时被切换到后台时)。可以在这个
方法中做一些数据的保存。 - 参数:无。
onError(String error):
- 调用时机:小程序发生脚本错误,或者 api 调用失败时触发。在小程序发生错误的时候,会把错误信息发送到
这个函数中,所以可以在这个函数中做一些错误收集。 - 参数:error。
onPageNotFound(Object):
- 调用时机:小程序要打开的页面不存在时触发。一般在代码更新的时候,有些页面被删除了,但是其他地方没
有改过来的情况下会发生这种情况,或者一些活动页面,活动结束后被关掉了。也可以在这个里面做一些错误
的收集和页面的重新跳转。 - 参数: 字段 | 类型 | 说明 | | :--- | :--- | :--- | | path | String | 不存在页面的路径 | | query | Object | 打开不存在页面的
query | | isEntryPage | Boolean | 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置
的分享页面) | - 开发者可以在 onPageNotFound 回调中进行重定向处理,但必须在回调中同步处理,异步处理(例如
setTimeout 异步执行)无效。示例代码:
App({
onPageNotFound(res) {
wx.redirectTo({
url: 'pages/...'
}) // 如果是 tabbar 页面,请使用 wx.switchTab
}
})
- 注意:如果开发者没有添加 onPageNotFound 监听,当跳转页面不存在时,将推入微信客户端原生的页面不
存在提示页面。 如果 onPageNotFound 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页
面不存在提示页面,并且不再回调 onPageNotFound。
getApp():
获取当前的 app 对象。一般在其他的 page 页面中调用。有以下两个注意点:
- 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
- 通过 getApp() 获取实例之后,不要私自调用生命周期函数。