wxapp-http
Version:
Http module for WeChat APP
116 lines (106 loc) • 2.19 kB
TypeScript
/**
* Created by axetroy on 2017/6/28.
*/
declare namespace wx {
function request(config: RequestConfig$): void;
}
interface Wx$ {
request(config: RequestConfig$): void;
}
interface Response$ {
data: any;
errMsg: string;
statusCode: number;
header: HttpHeader$;
}
interface RequestConfig$ extends RequestCallBack$, Config$ {}
interface RequestCallBack$ {
success(data: Response$): void;
fail(error: Response$): void;
complete(): void;
}
interface HttpHeader$ {
[s: string]: string;
}
interface Config$ {
url: string;
method: string;
data: Object | string;
header: HttpHeader$;
dataType: String;
}
interface Entity$ {
config: Config$;
resolve(data: any): void;
reject(data: any): void;
response?: any;
}
interface Http$ {
create(config: HttpConfig$): Http$;
request(
method: string,
url: string,
body: Object | string,
header: Object,
dataType: string
): Promise<any>;
get(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
post(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
put(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
['delete'](
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
options(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
trace(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
head(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
connect(
url: string,
body?: Object | string,
header?: Object,
dataType?: string
): Promise<any>;
setRequestInterceptor(interceptor: (config: HttpConfig$) => boolean): Http$;
setResponseInterceptor(
interceptor: (config: HttpConfig$, response: Response$) => boolean
): Http$;
clean(): void;
}
interface HttpConfig$ {
maxConcurrent: number;
timeout: number;
header: HttpHeader$;
dataType: string;
}