Files
weRequest/build/interface.d.ts

84 lines
3.1 KiB
TypeScript
Raw Normal View History

2019-01-24 10:26:51 +08:00
/// <reference types="wx" />
export interface IInitOption {
codeToSession: ICodeToSessionOptions;
sessionName: string;
2020-03-09 20:09:30 +08:00
setHeader?: (() => IAnyObject) | object;
2019-01-24 10:26:51 +08:00
urlPerfix?: string | (() => string);
doNotCheckSession?: boolean;
reLoginLimit?: number;
2019-04-02 20:34:57 +08:00
errorCallback?: ((obj: IAnyObject, res: string | IAnyObject | ArrayBuffer) => void) | null;
2019-01-24 10:26:51 +08:00
reportCGI?: boolean | ((name: string, startTime: number, endTime: number, request: Function) => void);
mockJson?: any;
globalData?: boolean | object | Function;
sessionExpireKey?: string;
2019-01-24 10:26:51 +08:00
sessionExpireTime?: number;
loginTrigger?: (res: string | IAnyObject | ArrayBuffer) => boolean;
successTrigger: (res: string | IAnyObject | ArrayBuffer) => boolean;
2019-04-04 16:32:51 +08:00
successData?: (res: string | IAnyObject | ArrayBuffer) => string | IAnyObject | ArrayBuffer;
2019-01-24 10:26:51 +08:00
errorTitle?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
errorContent?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
errorRetryBtn?: boolean;
doNotUseQueryString?: boolean;
2019-01-24 10:26:51 +08:00
}
export interface ICodeToSessionOptions {
url: string;
method?: 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'CONNECT' | 'string';
codeName?: string;
data?: string | Function | IAnyObject | ArrayBuffer;
success: Function;
fail?: Function;
report?: string;
}
export interface IRequestOption extends IRequestObject {
beforeSend?: Function;
showLoading?: boolean | string;
report?: string;
2019-04-02 20:34:57 +08:00
cache?: boolean | ((res: string | IAnyObject | ArrayBuffer) => boolean);
2019-01-24 10:26:51 +08:00
noCacheFlash?: boolean;
success?: (res: string | IAnyObject | ArrayBuffer, cacheInfo?: object) => void;
complete?: () => void;
fail?: (res: string | IAnyObject | ArrayBuffer) => void;
catchError?: boolean;
}
export interface IRequestObject extends wx.RequestOption {
originUrl?: string;
reLoginCount?: number;
_reportStartTime?: number;
_reportEndTime?: number;
_resolve?: (value?: any) => void;
_reject?: (reason?: any) => void;
2019-01-24 10:26:51 +08:00
}
export interface IUploadFileOption extends IUploadFileObject {
beforeSend?: Function;
showLoading?: boolean | string;
report?: string;
success?: (res: string | IAnyObject | ArrayBuffer, cacheInfo?: object) => void;
complete?: () => void;
fail?: (res: string | IAnyObject | ArrayBuffer) => void;
catchError?: boolean;
}
export interface IUploadFileObject extends wx.UploadFileOption {
originUrl?: string;
reLoginCount?: number;
_reportStartTime?: number;
_reportEndTime?: number;
_resolve?: (value?: any) => void;
_reject?: (reason?: any) => void;
2019-01-24 10:26:51 +08:00
}
export interface IGetConfigResult {
urlPerfix?: string | (() => string);
sessionExpireTime?: number;
sessionExpireKey?: string;
sessionExpire?: number;
}
export interface weRequest {
2019-04-02 20:34:57 +08:00
init: (obj: IInitOption) => void;
2019-04-09 10:51:18 +08:00
request: (option: IRequestOption) => Promise<object>;
uploadFile: (option: IUploadFileOption) => Promise<object>;
2019-04-02 20:34:57 +08:00
getSession: () => string;
getConfig: () => IGetConfigResult;
login: (callback: Function) => void;
setSession: (x: string) => void;
version: string;
2019-01-24 10:26:51 +08:00
}