123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- 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> {
-
- url?: string;
-
- method?: HttpMethod;
-
- baseURL?: string;
-
- header?: HttpRequestHeader;
-
- params?: HttpParams;
-
- data?: HttpData;
-
- timeout?: number;
-
- withCredentials?: boolean;
-
- responseType?: HttpResponseType;
-
- validateStatus?: ((statusCode: number) => boolean) | null;
-
- paramsSerializer?: (params: AnyObject) => string | void;
-
- dataType?: string;
-
- firstIpv4?: boolean;
-
- sslVerify?: boolean;
-
- enableHttp2?: boolean;
-
- enableQuic?: boolean;
-
- enableCache?: boolean;
-
- enableHttpDNS?: boolean;
-
- httpDNSServiceId?: string;
-
- enableChunked?: boolean;
-
- forceCellularNetwork?: boolean;
-
- enableCookie?: boolean;
-
- cloudCache?: boolean | object;
-
- defer?: boolean;
-
- custom?: HttpCustom;
-
- getTask?: (task: T, options: HttpRequestConfig<T>) => void;
-
- files?: { name?: string; file?: File; uri: string; }[];
-
- fileType?: HttpFileType;
-
- file?: File;
-
- filePath?: string;
-
- name?: string;
-
- 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;
|