export interface Config  {
  base?: string, // 前缀
  url: string // 请求地址
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
  data?: string | Record<string, any> // 请求体
  dataRaw?: boolean // 请求体是否为原始数据
  params?: string | Record<string, any> | URLSearchParams | string[][] // 请求参数
  headers?: HeadersInit | undefined // 请求头
  controller?: AbortController // 请求控制器
  getRaw?: boolean // 是否需要返回原始数据
}

// 请求头
export interface RequestHead {
  [key: string]: string
}

// 标准响应
export interface ResponseData<T = any> {
  code: number
  data: T
  [key: string]: any
}

// 错误响应
export interface ResponseError<T = any> {
  code: number
  message?: string
  _raw: T
}

// 请求参数
export interface RequestParams extends RequestInit {
  signal?: AbortSignal
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
  headers: HeadersInit
  body?: BodyInit | null
  [key: string]: any
}




