UNPKG

we-req

Version:

weReq是基于微信小程序的 wx.request的高级封装,提供全局和外部拦截器的管理,支持自动登录等功能,旨在简化微信小程序网络请求的处理流程,提升开发者的使用体验。

49 lines (42 loc) 1.3 kB
import InterceptorManager from './core/InterceptorManager' export 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 // 检查 Token 是否过期的方法 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 >