| 
						 | 
						- export type HttpTask = UniApp.RequestTask | UniApp.UploadTask | UniApp.DownloadTask;
 - 
 - export type HttpRequestTask = UniApp.RequestTask;
 - 
 - export type HttpUploadTask = UniApp.UploadTask;
 - 
 - export type HttpDownloadTask = UniApp.DownloadTask;
 - 
 - export type HttpMethod =
 -     "GET"
 -     | "POST"
 -     | "PUT"
 -     | "DELETE"
 -     | "CONNECT"
 -     | "HEAD"
 -     | "OPTIONS"
 -     | "TRACE"
 -     | "UPLOAD"
 -     | "DOWNLOAD";
 - 
 - export type HttpRequestHeader = Record<string, string>;
 - 
 - export type HttpParams = Record<string, any>;
 - 
 - export type HttpData = Record<string, any>;
 - 
 - export type HttpResponseType = 'arraybuffer' | 'text';
 - 
 - export type HttpCustom = Record<string, any>;
 - 
 - export type HttpFileType = 'image' | 'video' | 'audio';
 - 
 - export type HttpFormData = Record<string, any>;
 - 
 - export type HttpResponseHeader = Record<string, string> & {
 -     "set-cookie"?: string[]
 - };
 - 
 - export interface HttpRequestConfig<T = HttpTask> {
 -     /** @desc 请求服务器接口地址 */
 -     url?: string;
 -     /** @desc 请求方式,默认为 GET */
 -     method?: HttpMethod;
 -     /** @desc 请求基地址 */
 -     baseURL?: string;
 -     /** @desc 请求头信息,不能设置 Referer,App、H5 端会自动带上 cookie,且 H5 端不可手动修改 */
 -     header?: HttpRequestHeader;
 -     /** @desc 请求查询参数,自动拼接为查询字符串 */
 -     params?: HttpParams;
 -     /** @desc 请求体参数 */
 -     data?: HttpData;
 -     /** @desc 超时时间,单位 ms,默认为 60000,仅 H5 (HBuilderX 2.9.9+)、APP (HBuilderX 2.9.9+)、微信小程序 (2.10.0)、支付宝小程序支持 */
 -     timeout?: number;
 -     /** @desc 跨域请求时是否携带凭证 (cookies),默认为 false,仅 H5 (HBuilderX 2.6.15+) 支持 */
 -     withCredentials?: boolean;
 -     /** @desc 设置响应的数据类型,支付宝小程序不支持 */
 -     responseType?: HttpResponseType;
 -     /** @desc 全局自定义验证器 */
 -     validateStatus?: ((statusCode: number) => boolean) | null;
 - 
 - 
 -     /** params 参数自定义处理 */
 -     paramsSerializer?: (params: AnyObject) => string | void;
 - 
 -     /** @desc 默认为 json,如果设为 json,会尝试对返回的数据做一次 JSON.parse */
 -     dataType?: string;
 -     /** @desc DNS 解析时是否优先使用 ipv4,默认为 false,仅 App-Android (HBuilderX 2.8.0+) 支持 */
 -     firstIpv4?: boolean;
 -     /** @desc 是否验证 SSL 证书,默认为 true,仅 App-Android (HBuilderX 2.3.3+) 支持 */
 -     sslVerify?: boolean;
 - 
 -     /** @desc 开启 http2;微信小程序 */
 -     enableHttp2?: boolean;
 - 
 -     /** @desc 开启 quic;微信小程序 */
 -     enableQuic?: boolean;
 -     /** @desc 开启 cache;微信小程序、字节跳动小程序 2.31.0+ */
 -     enableCache?: boolean;
 -     /** @desc 开启 httpDNS;微信小程序 */
 -     enableHttpDNS?: boolean;
 -     /** @desc httpDNS 服务商;微信小程序 */
 -     httpDNSServiceId?: string;
 -     /** @desc 开启 transfer-encoding chunked;微信小程序 */
 -     enableChunked?: boolean;
 -     /** @desc wifi下使用移动网络发送请求;微信小程序 */
 -     forceCellularNetwork?: boolean;
 -     /** @desc 开启后可在headers中编辑cookie;支付宝小程序 10.2.33+ */
 -     enableCookie?: boolean;
 -     /** @desc 是否开启云加速;百度小程序 3.310.11+ */
 -     cloudCache?: boolean | object;
 -     /** @desc 控制当前请求是否延时至首屏内容渲染后发送;百度小程序 3.310.11+ */
 -     defer?: boolean;
 - 
 -     /** @desc 自定义参数 */
 -     custom?: HttpCustom;
 - 
 -     /** @desc 返回当前请求的 task 和 options,不要在这里修改 options */
 -     getTask?: (task: T, options: HttpRequestConfig<T>) => void;
 - 
 -     /** @desc 需要上传的文件列表,使用 files 时,filePath 和 name 不生效,仅支持 App、H5 (2.6.15+) */
 -     files?: { name?: string; file?: File; uri: string; }[];
 -     /** @desc 文件类型,仅支付宝小程序支持且为必填项 */
 -     fileType?: HttpFileType;
 -     /** @desc 要上传的文件对象,仅 H5 (2.6.15+) 支持 */
 -     file?: File;
 -     /** @desc 要上传文件资源的路径,使用 files 时,filePath 和 name 不生效 */
 -     filePath?: string;
 -     /** @desc 文件对应的 key,开发者在服务器端通过这个 key 可以获取到文件二进制内容,使用 files 时,filePath 和 name 不生效 */
 -     name?: string;
 -     /** @desc 请求中其他额外的 form data */
 -     formData?: HttpFormData;
 - }
 - 
 - export interface HttpResponse<T = any, D = HttpTask> {
 -     data: T;
 -     statusCode: number;
 -     header: HttpResponseHeader;
 -     config: HttpRequestConfig<D>;
 -     cookies: string[];
 -     errMsg: string;
 -     rawData: any;
 - }
 - 
 - export interface HttpUploadResponse<T = any, D = HttpTask> {
 -     data: T;
 -     statusCode: number;
 -     config: HttpRequestConfig<D>;
 -     errMsg: string;
 -     rawData: any;
 - }
 - 
 - export interface HttpDownloadResponse extends HttpResponse {
 -     tempFilePath: string;
 -     apFilePath?: string;
 -     filePath?: string;
 -     fileContent?: string;
 - }
 - 
 - export interface HttpError<T = any, D = HttpTask> {
 -     data?: T;
 -     statusCode?: number;
 -     header?: HttpResponseHeader;
 -     config: HttpRequestConfig<D>;
 -     cookies?: string[];
 -     errMsg: string;
 - }
 - 
 - export interface HttpPromise<T = any> extends Promise<HttpResponse<T>> {
 - }
 - 
 - export interface HttpInterceptorManager<V, E = V> {
 -     use(onFulfilled?: (value: V) => V | Promise<V>, onRejected?: (error: E) => T | Promise<E>): void;
 - 
 -     eject(id: number): void;
 - }
 - 
 - export abstract class HttpRequestAbstract {
 -     constructor(config?: HttpRequestConfig);
 - 
 -     interceptors: {
 -         request: HttpInterceptorManager<HttpRequestConfig>;
 -         response: HttpInterceptorManager<HttpResponse, HttpError>;
 -     }
 - 
 -     request<T = any, R = HttpResponse<T>, D = HttpRequestTask>(config: HttpRequestConfig<D>): Promise<R>;
 - 
 -     get<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     delete<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     head<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     options<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     post<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     put<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     config: HttpRequestConfig;
 - 
 -     setConfig<D = HttpTask>(onSend: (config: HttpRequestConfig<D>) => HttpRequestConfig<D>): void;
 - 
 -     connect<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     trace<T = any, R = HttpResponse<T>, D = HttpRequestTask>(url: string, data?: HttpData, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     upload<T = any, R = HttpUploadResponse<T>, D = HttpUploadTask>(url: string, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     download<T = any, R = HttpDownloadResponse<T>, D = HttpDownloadTask>(url: string, config?: HttpRequestConfig<D>): Promise<R>;
 - 
 -     middleware<T = any, R = HttpResponse<T>, D = HttpTask>(config: HttpRequestConfig<D>): Promise<R>;
 - }
 - 
 - declare class HttpRequest extends HttpRequestAbstract {
 - }
 - 
 - export default HttpRequest;
 
 
  |