index.d.ts 5.2 KB

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