we-req
Version:
weReq是基于微信小程序的 wx.request的高级封装,提供全局和外部拦截器的管理,支持自动登录等功能,旨在简化微信小程序网络请求的处理流程,提升开发者的使用体验。
40 lines (39 loc) • 1.33 kB
TypeScript
import InterceptorManager from './core/InterceptorManager';
export declare enum reTokenConfigMethod {
GET = "GET",
POST = "POST"
}
interface ReTokenConfig {
url: string;
method: reTokenConfigMethod;
codeKey: string;
data: Record<string, any>;
headers: Record<string, any>;
success: (res: any) => void;
fail: (err: any) => void;
}
export interface Interceptors {
requestSuccessFn?: (config: RequestConfig) => Promise<RequestConfig> | RequestConfig;
requestFailFn?: (error: any) => Promise<any> | any;
responseSuccessFn?: (response: Response) => Promise<any> | any;
responseFailFn?: (error: any) => Promise<any> | any;
}
export interface autoLoginConfig {
reTokenConfig: ReTokenConfig;
isTokenExpiredFn: (response: Response) => boolean;
reLoginLimit?: number;
}
export interface InterceptorManagers {
request: InterceptorManager<any>;
response: InterceptorManager<any>;
}
export interface WeAppRequestConfig {
[key: string]: any;
baseURL?: string;
loading?: boolean;
interceptors?: Interceptors;
reLoginConfig?: autoLoginConfig;
}
export type RequestConfig = WechatMiniprogram.RequestOption & WeAppRequestConfig;
export type Response = WechatMiniprogram.RequestSuccessCallbackResult<string | Record<string, any> | ArrayBuffer>;
export {};