| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | 
							- type AnyObject = Record<string | number | symbol, any>
 
- type HttpPromise<T> = Promise<HttpResponse<T>>;
 
- type Tasks = UniApp.RequestTask | UniApp.UploadTask | UniApp.DownloadTask
 
- export interface RequestTask {
 
-   abort: () => void;
 
-   offHeadersReceived: () => void;
 
-   onHeadersReceived: () => void;
 
- }
 
- export interface HttpRequestConfig<T = Tasks> {
 
-   /** 请求基地址 */
 
-   baseURL?: string;
 
-   /** 请求服务器接口地址 */
 
-   url?: string;
 
-   /** 请求查询参数,自动拼接为查询字符串 */
 
-   params?: AnyObject;
 
-   /** 请求体参数 */
 
-   data?: AnyObject;
 
-   /** 文件对应的 key */
 
-   name?: string;
 
-   /** HTTP 请求中其他额外的 form data */
 
-   formData?: AnyObject;
 
-   /** 要上传文件资源的路径。 */
 
-   filePath?: string;
 
-   /** 需要上传的文件列表。使用 files 时,filePath 和 name 不生效,App、H5( 2.6.15+) */
 
-   files?: Array<{
 
-     name?: string;
 
-     file?: File;
 
-     uri: string;
 
-   }>;
 
-   /** 要上传的文件对象,仅H5(2.6.15+)支持 */
 
-   file?: File;
 
-   /** 请求头信息 */
 
-   header?: AnyObject;
 
-   /** 请求方式 */
 
-   method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD";
 
-   /** 如果设为 json,会尝试对返回的数据做一次 JSON.parse */
 
-   dataType?: string;
 
-   /** 设置响应的数据类型,支付宝小程序不支持 */
 
-   responseType?: "text" | "arraybuffer";
 
-   /** 自定义参数 */
 
-   custom?: AnyObject;
 
-   /** 超时时间,仅微信小程序(2.10.0)、支付宝小程序支持 */
 
-   timeout?: number;
 
-   /** DNS解析时优先使用ipv4,仅 App-Android 支持 (HBuilderX 2.8.0+) */
 
-   firstIpv4?: boolean;
 
-   /** 验证 ssl 证书 仅5+App安卓端支持(HBuilderX 2.3.3+) */
 
-   sslVerify?: boolean;
 
-   /** 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+) */
 
-   withCredentials?: boolean;
 
-   /** 返回当前请求的task, options。请勿在此处修改options。 */
 
-   getTask?: (task: T, options: HttpRequestConfig<T>) => void;
 
-   /**  全局自定义验证器 */
 
-   validateStatus?: (statusCode: number) => boolean | void;
 
- }
 
- export interface HttpResponse<T = any> {
 
-   config: HttpRequestConfig;
 
-   statusCode: number;
 
-   cookies: Array<string>;
 
-   data: T;
 
-   errMsg: string;
 
-   header: AnyObject;
 
- }
 
- export interface HttpUploadResponse<T = any> {
 
-   config: HttpRequestConfig;
 
-   statusCode: number;
 
-   data: T;
 
-   errMsg: string;
 
- }
 
- export interface HttpDownloadResponse extends HttpResponse {
 
-   tempFilePath: string;
 
- }
 
- export interface HttpError {
 
-   config: HttpRequestConfig;
 
-   statusCode?: number;
 
-   cookies?: Array<string>;
 
-   data?: any;
 
-   errMsg: string;
 
-   header?: AnyObject;
 
- }
 
- export interface HttpInterceptorManager<V, E = V> {
 
-   use(
 
-     onFulfilled?: (config: V) => Promise<V> | V,
 
-     onRejected?: (config: E) => Promise<E> | E
 
-   ): void;
 
-   eject(id: number): void;
 
- }
 
- export abstract class HttpRequestAbstract {
 
-   constructor(config?: HttpRequestConfig);
 
-   config: HttpRequestConfig;
 
-   interceptors: {
 
-     request: HttpInterceptorManager<HttpRequestConfig, HttpRequestConfig>;
 
-     response: HttpInterceptorManager<HttpResponse, HttpError>;
 
-   }
 
-   middleware<T = any>(config: HttpRequestConfig): HttpPromise<T>;
 
-   request<T = any>(config: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   get<T = any>(url: string, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   upload<T = any>(url: string, config?: HttpRequestConfig<UniApp.UploadTask>): HttpPromise<T>;
 
-   delete<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   head<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   post<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   put<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   connect<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   options<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   trace<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
 
-   download(url: string, config?: HttpRequestConfig<UniApp.DownloadTask>): Promise<HttpDownloadResponse>;
 
-   setConfig(onSend: (config: HttpRequestConfig) => HttpRequestConfig): void;
 
- }
 
- declare class HttpRequest extends HttpRequestAbstract { }
 
- export default HttpRequest;
 
 
  |