export type BasicRes<T = unknown> = {
  code: string
  data: T
  msg: string
  status: number
  statusText: string
}

export type IRequestOptions = {
  /**
   * 请求防抖时间，单位毫秒
   */
  debounceTime?: number
  /**
   * 是否禁用请求防抖，默认启用
   */
  disableDebounce?: boolean
  /**
   * 是否显示加载动画，默认不显示
   */
  loading?: boolean
  query?: Record<string, any>
} & UniApp.RequestOptions

/**
 * 定义请求缓存类型
 */
export interface RequestCache {
  task: null | UniApp.RequestTask
  timer: number
}
