index.d.ts 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /// <reference path="./types/index.d.ts" />
  2. declare var __wxConfig: string
  3. interface IAppOption {
  4. globalData: {
  5. userInfo?: WechatMiniprogram.UserInfo
  6. token?: string
  7. lastLoginTime?: number
  8. env?: string
  9. }
  10. userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback
  11. }
  12. interface IRestResult<T> {
  13. result: T
  14. code: number
  15. }
  16. interface EventDetail<T> {
  17. detail: T
  18. }
  19. interface PagedResultDto<T> extends ListResultDto<T> {
  20. totalCount: number
  21. }
  22. interface ListResultDto<T> {
  23. items: T[]
  24. }
  25. interface TabBarChangeEvent extends EventDetail<{ value: string | number }> {}
  26. declare namespace WxGeneral {
  27. type IAnyObject = Record<string, any>
  28. type EventCallback = (
  29. /** 触发事件参数 */
  30. ...args: any
  31. ) => void
  32. interface CallbackResult {
  33. /** 错误信息 */
  34. errMsg: string
  35. }
  36. interface EventChannel {
  37. /** 触发一个事件
  38. * @supported weapp
  39. * @see https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html
  40. */
  41. emit(
  42. /** 事件名称 */
  43. eventName: string,
  44. /** 事件参数 */
  45. ...args: any
  46. ): void
  47. /** 持续监听一个事件
  48. * @supported weapp
  49. * @see https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html
  50. */
  51. on(
  52. /** 事件名称 */
  53. eventName: string,
  54. /** 事件监听函数 */
  55. fn: EventCallback,
  56. ): void
  57. /** 监听一个事件一次,触发后失效
  58. * @supported weapp
  59. * @see https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html
  60. */
  61. once(
  62. /** 事件名称 */
  63. eventName: string,
  64. /** 事件监听函数 */
  65. fn: EventCallback,
  66. ): void
  67. /** 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数
  68. * @supported weapp
  69. * @see https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html
  70. */
  71. off(
  72. /** 事件名称 */
  73. eventName: string,
  74. /** 事件监听函数 */
  75. fn: EventCallback,
  76. ): void
  77. }
  78. }
  79. declare namespace switchTab {
  80. interface Option {
  81. /** 需要跳转的 tabBar 页面的路径(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */
  82. url: string
  83. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  84. complete?: (res: WxGeneral.CallbackResult) => void
  85. /** 接口调用失败的回调函数 */
  86. fail?: (res: WxGeneral.CallbackResult) => void
  87. /** 接口调用成功的回调函数 */
  88. success?: (res: WxGeneral.CallbackResult) => void
  89. }
  90. }
  91. declare namespace reLaunch {
  92. interface Option {
  93. /** 需要跳转的应用内页面路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */
  94. url: string
  95. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  96. complete?: (res: WxGeneral.CallbackResult) => void
  97. /** 接口调用失败的回调函数 */
  98. fail?: (res: WxGeneral.CallbackResult) => void
  99. /** 接口调用成功的回调函数 */
  100. success?: (res: WxGeneral.CallbackResult) => void
  101. }
  102. }
  103. declare namespace redirectTo {
  104. interface Option {
  105. /** 需要跳转的应用内非 tabBar 的页面的路径, 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
  106. url: string
  107. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  108. complete?: (res: WxGeneral.CallbackResult) => void
  109. /** 接口调用失败的回调函数 */
  110. fail?: (res: WxGeneral.CallbackResult) => void
  111. /** 接口调用成功的回调函数 */
  112. success?: (res: WxGeneral.CallbackResult) => void
  113. }
  114. }
  115. declare namespace navigateTo {
  116. interface Option {
  117. /** 需要跳转的应用内非 tabBar 的页面的路径, 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
  118. url: string
  119. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  120. complete?: (res: WxGeneral.CallbackResult) => void
  121. /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。 */
  122. events?: WxGeneral.IAnyObject
  123. /** 接口调用失败的回调函数 */
  124. fail?: (res: WxGeneral.CallbackResult) => void
  125. /** 接口调用成功的回调函数 */
  126. success?: (res: WxGeneral.CallbackResult & { eventChannel: WxGeneral.EventChannel }) => void
  127. }
  128. }
  129. declare namespace navigateBack {
  130. interface Option {
  131. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  132. complete?: (res: WxGeneral.CallbackResult) => void
  133. /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */
  134. delta?: number
  135. /** 接口调用失败的回调函数 */
  136. fail?: (res: WxGeneral.CallbackResult) => void
  137. /** 接口调用成功的回调函数 */
  138. success?: (res: WxGeneral.CallbackResult) => void
  139. }
  140. }