UNPKG

@zuiwoxing/posisi

Version:

一款基于typescript 前端控制组件,包括(IOC,AOP,Feign,Logger,Util等)

78 lines (77 loc) 2.2 kB
import { AxiosInstance, AxiosRequestConfig } from 'axios'; import { ReqInfo } from "../model/Meta"; import { Response } from "../model/Response"; /** * 是否匹配排除的URL * @param url * @returns {boolean} */ export declare function isMatchExclude(url: string): boolean; /** * @desc 所有后台API配置 * @author liudejian * @date 2020-07-06 16:02:30 */ export declare class HttpRequest { static AXIOS_INSTANCE: AxiosInstance; static INSTANCE_ID: string; constructor(baseUrl: string); /** * 【请求】全局拦截器 * @param currentInstance * @private */ private static initGlobalRequestInterceptor; /** * 【响应】全局应拦截器 * @param currentInstance * @private */ private static initGlobalResponseInterceptor; /** * 设置用户自定义axios实例 * @param axiosIns */ static setAxiosInstance(axiosIns: AxiosInstance): void; /** * 获取axios实例 */ static getAxiosInstance(): AxiosInstance; /** * 获取模板值 * @param template 模板 {username}/{age} * @param data {username:'good',age:100} * @return good/100 * @example this.$templateEngine(template,data); */ static templateEngine(template: string, json: any): string; /** * 完善对象实例ID * @param response 响应对象 * @param instanceId 对象实例 */ static wrapInstanceId(response: Response<any>, instanceId: string): Response<any>; /** * 后台网络请求 * @param api 请求API *example: * { * method: 'POST', * path : '/api/xx/xxx' * } * @param bodyData body体请求 * @param paramData 参数请求 * @param config 请求config * @param finishCallback 请求回调不管成功与否都会调用 * @returns {Promise<unknown>} */ static request(reqInfo: ReqInfo, config: AxiosRequestConfig, finishCallback: any): Promise<any>; /** * http 状态异常转换 * @param error * @param status * @param errorMsg * @returns {*} */ static httStatusConvert(error: any, status: number, errorMsg: string): any; }