app.d.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. declare namespace App {
  2. interface ReferrerInfo {
  3. /**
  4. * 来源小程序或公众号或App的 appId
  5. *
  6. * 以下场景支持返回 referrerInfo.appId:
  7. * - 1020(公众号 profile 页相关小程序列表): appId
  8. * - 1035(公众号自定义菜单):来源公众号 appId
  9. * - 1036(App 分享消息卡片):来源应用 appId
  10. * - 1037(小程序打开小程序):来源小程序 appId
  11. * - 1038(从另一个小程序返回):来源小程序 appId
  12. * - 1043(公众号模板消息):来源公众号 appId
  13. */
  14. appId: string;
  15. /**
  16. * 来源小程序传过来的数据,scene=1037或1038时支持
  17. */
  18. extraData?: any;
  19. }
  20. interface LaunchShowOption {
  21. /**
  22. * 打开小程序的路径
  23. */
  24. path: string;
  25. /**
  26. * 打开小程序的query
  27. */
  28. // @ts-ignore
  29. query: AnyObject;
  30. /**
  31. * 打开小程序的场景值
  32. * - 1001: 发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表)
  33. * - 1005: 顶部搜索框的搜索结果页
  34. * - 1006: 发现栏小程序主入口搜索框的搜索结果页
  35. * - 1007: 单人聊天会话中的小程序消息卡片
  36. * - 1008: 群聊会话中的小程序消息卡片
  37. * - 1011: 扫描二维码
  38. * - 1012: 长按图片识别二维码
  39. * - 1013: 手机相册选取二维码
  40. * - 1014: 小程序模板消息
  41. * - 1017: 前往体验版的入口页
  42. * - 1019: 微信钱包
  43. * - 1020: 公众号 profile 页相关小程序列表
  44. * - 1022: 聊天顶部置顶小程序入口
  45. * - 1023: 安卓系统桌面图标
  46. * - 1024: 小程序 profile 页
  47. * - 1025: 扫描一维码
  48. * - 1026: 附近小程序列表
  49. * - 1027: 顶部搜索框搜索结果页「使用过的小程序」列表
  50. * - 1028: 我的卡包
  51. * - 1029: 卡券详情页
  52. * - 1030: 自动化测试下打开小程序
  53. * - 1031: 长按图片识别一维码
  54. * - 1032: 手机相册选取一维码
  55. * - 1034: 微信支付完成页
  56. * - 1035: 公众号自定义菜单
  57. * - 1036: App 分享消息卡片
  58. * - 1037: 小程序打开小程序
  59. * - 1038: 从另一个小程序返回
  60. * - 1039: 摇电视
  61. * - 1042: 添加好友搜索框的搜索结果页
  62. * - 1043: 公众号模板消息
  63. * - 1044: 带 shareTicket 的小程序消息卡片
  64. * - 1045: 朋友圈广告
  65. * - 1046: 朋友圈广告详情页
  66. * - 1047: 扫描小程序码
  67. * - 1048: 长按图片识别小程序码
  68. * - 1049: 手机相册选取小程序码
  69. * - 1052: 卡券的适用门店列表
  70. * - 1053: 搜一搜的结果页
  71. * - 1054: 顶部搜索框小程序快捷入口
  72. * - 1056: 音乐播放器菜单
  73. * - 1057: 钱包中的银行卡详情页
  74. * - 1058: 公众号文章
  75. * - 1059: 体验版小程序绑定邀请页
  76. * - 1064: 微信连Wi-Fi状态栏
  77. * - 1067: 公众号文章广告
  78. * - 1068: 附近小程序列表广告
  79. * - 1069: 移动应用
  80. * - 1071: 钱包中的银行卡列表页
  81. * - 1072: 二维码收款页面
  82. * - 1073: 客服消息列表下发的小程序消息卡片
  83. * - 1074: 公众号会话下发的小程序消息卡片
  84. * - 1077: 摇周边
  85. * - 1078: 连Wi-Fi成功页
  86. * - 1079: 微信游戏中心
  87. * - 1081: 客服消息下发的文字链
  88. * - 1082: 公众号会话下发的文字链
  89. * - 1084: 朋友圈广告原生页
  90. * - 1089: 微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏)
  91. * - 1090: 长按小程序右上角菜单唤出最近使用历史
  92. * - 1091: 公众号文章商品卡片
  93. * - 1092: 城市服务入口
  94. * - 1095: 小程序广告组件
  95. * - 1096: 聊天记录
  96. * - 1097: 微信支付签约页
  97. * - 1099: 页面内嵌插件
  98. * - 1102: 公众号 profile 页服务预览
  99. * - 1103: 发现栏小程序主入口,「我的小程序」列表(基础库2.2.4版本起废弃)
  100. * - 1104: 微信聊天主界面下拉,「我的小程序」栏(基础库2.2.4版本起废弃)
  101. */
  102. scene: number;
  103. /**
  104. * 打开小程序的场景值
  105. */
  106. shareTicket: string;
  107. /**
  108. * 当场景为由从另一个小程序或公众号或App打开时,返回此字段
  109. */
  110. referrerInfo?: ReferrerInfo;
  111. }
  112. interface PageNotFoundOption {
  113. /**
  114. * 不存在页面的路径
  115. */
  116. path: string;
  117. /**
  118. * 打开不存在页面的 query
  119. */
  120. // @ts-ignore
  121. query: AnyObject;
  122. /**
  123. * 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面)
  124. */
  125. isEntryPage: boolean;
  126. }
  127. // @ts-ignore
  128. interface AppInstance<T extends AnyObject = {}> {
  129. /**
  130. * 全局对象
  131. */
  132. // @ts-ignore
  133. globalData?: AnyObject;
  134. /**
  135. * 生命周期回调 监听应用初始化
  136. *
  137. * 应用初始化完成时触发,全局只触发一次。
  138. */
  139. onLaunch?(options?: LaunchShowOption): void;
  140. /**
  141. * 生命周期回调 监听应用显示
  142. *
  143. * 应用启动,或从后台进入前台显示时触发
  144. */
  145. onShow?(options?: LaunchShowOption): void;
  146. /**
  147. * 生命周期回调 监听应用隐藏
  148. *
  149. * 应用从前台进入后台时触发
  150. */
  151. onHide?(): void;
  152. /**
  153. * 错误监听函数
  154. * 小程序发生脚本错误或 API 调用报错时触发
  155. * @param error 错误信息,包含堆栈
  156. */
  157. onError?(error: string): void;
  158. /**
  159. * 页面不存在监听函数
  160. *
  161. * 应用要打开的页面不存在时触发,会带上页面信息回调该函数
  162. *
  163. * **注意:**
  164. * 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
  165. * 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。
  166. */
  167. onPageNotFound?(options: PageNotFoundOption): void;
  168. /**
  169. * 未处理的 Promise 拒绝事件监听函数
  170. */
  171. // @ts-ignore
  172. onUnhandledRejection?(options: UniApp.OnUnhandledRejectionCallbackResult): void;
  173. /**
  174. * 监听系统主题变化
  175. */
  176. // @ts-ignore
  177. onThemeChange?(options: UniApp.OnThemeChangeCallbackResult): void;
  178. /**
  179. * 监听 nvue 页面消息
  180. *
  181. * nvue 页面使用 `uni.postMessage` 发送消息时触发
  182. */
  183. // @ts-ignore
  184. onUniNViewMessage?(options: AnyObject): void;
  185. }
  186. // @ts-ignore
  187. type AppConstructor = <T extends AnyObject & AppInstance>(
  188. options: AppInstance<T> & T,
  189. ) => void;
  190. interface GetAppOption {
  191. /**
  192. * 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包
  193. */
  194. allowDefault: boolean;
  195. }
  196. // @ts-ignore
  197. type GetApp = <T extends AnyObject>(opts?: GetAppOption) => AppInstance<T> & T;
  198. }
  199. declare const getApp: App.GetApp;
  200. declare const createApp: any;
  201. declare const createPage: any;
  202. declare const createComponent: any;