APLUS AXIOS
二次封装了axios,提供了常用的方法get/post/put/delete/request方法,全局请求和响应拦截封装,token设置,多语言,项目简单配置,直接可以撸业务
快速开始
pnpm install aplus-axios -S -w
使用
import { defHttp as _defHttp, VAxios } from 'aplus-axios';
defHttp.post(
{
url: Api,
params
},
{ successMessageMode: 'message', customSuccessMessage: '成功' }
);
项目中使用初始化配置
import { defHttp as _defHttp } from 'aplus-axios';
const defHttp = _defHttp({
apiUrl: globSetting.apiUrl,
urlPrefix: urlPrefix,
useMessageHook: useMessage,
getToken: getToken,
setToken: userStore.setToken,
logout: userStore.logout,
getLocale: localeStore.getLocale
});
全部方法TS类型声明
export declare class VAxios {
private axiosInstance;
private readonly options;
constructor(options: CreateAxiosOptions);
private createAxios;
private getTransform;
getAxios(): AxiosInstance;
configAxios(config: CreateAxiosOptions): void;
setHeader(headers: any): void;
private setupInterceptors;
uploadFile<T = any>(
config: AxiosRequestConfig,
params: UploadFileParams
): Promise<AxiosResponse<T, any>>;
supportFormData(config: AxiosRequestConfig): AxiosRequestConfig<any>;
get<T = any>(
config: AxiosRequestConfig,
options?: RequestOptions
): Promise<T>;
post<T = any>(
config: AxiosRequestConfig,
options?: RequestOptions
): Promise<T>;
put<T = any>(
config: AxiosRequestConfig,
options?: RequestOptions
): Promise<T>;
delete<T = any>(
config: AxiosRequestConfig,
options?: RequestOptions
): Promise<T>;
request<T = any>(
config: AxiosRequestConfig,
options?: RequestOptions
): Promise<T>;
}
axios消息弹窗多语言支持
目前支持中文和英文,内置了语言包,默认是中文
import { defHttp as _defHttp } from 'aplus-axios';
const defHttp = _defHttp({
getLocale: 'zh-CN'
});