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;
-
- name?: string;
-
- formData?: AnyObject;
-
- filePath?: string;
-
- files?: Array<{
- name?: string;
- file?: File;
- uri: string;
- }>;
-
- file?: File;
-
- header?: AnyObject;
-
- method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD";
-
- dataType?: string;
-
- responseType?: "text" | "arraybuffer";
-
- custom?: AnyObject;
-
- timeout?: number;
-
- firstIpv4?: boolean;
-
- sslVerify?: boolean;
-
- withCredentials?: boolean;
-
- 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;
|