import type { EventChannel } from "../apis/basic/route/EventChannel"; import type { IntersectionObserver, IntersectionObserverOptions } from "../apis/ksml/IntersectionObserver"; import type { SelectorQuery } from "../apis/ksml/SelectorQuery"; import type { AnyObject, CustomShareContent, PageResizeEvent, PageScrollEvent, PageShareAppMessageEvent, PageTabItemTapEvent } from "./common"; import type { ComponentInstanceType, ComponentOptions } from "./component"; export interface PageLifeCycle { /** * 生命周期回调—监听页面加载 * * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 * @param query 打开当前页面路径中的参数 */ onLoad(query: Record): void; /** * 生命周期回调—监听页面显示 * * 页面显示/切入前台时触发。 */ onShow(): void; /** 生命周期回调—监听页面初次渲染完成 * * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 * * 注意:对界面内容进行设置的 API 如`ks.setNavigationBarTitle`,请在`onReady`之后进行。 */ onReady(): void; /** * 生命周期回调—监听页面隐藏 * * 页面隐藏/切入后台时触发。 如 `ks.navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 */ onHide(): void; /** * 生命周期回调—监听页面卸载 * * 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。 */ onUnload(): void; /** * 监听用户下拉动作 * * 监听用户下拉刷新事件。 * - 需要在`app.json`的`window`选项中或页面配置中开启`enablePullDownRefresh`。 * - 可以通过`ks.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 * - 当处理完数据刷新后,`ks.stopPullDownRefresh`可以停止当前页面的下拉刷新。 */ onPullDownRefresh(): void; /** * 页面上拉触底事件的处理函数 * * 监听用户上拉触底事件。 * - 可以在`app.json`的`window`选项中或页面配置中设置触发距离`onReachBottomDistance`。 * - 在触发距离内滑动期间,本事件只会被触发一次。 */ onReachBottom(): void; /** * 用户点击右上角转发 * * 监听用户点击页面内转发按钮(`