1.0.1 • Published 1 year ago

aplus-axios v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

APLUS AXIOS

二次封装了axios,提供了常用的方法get/post/put/delete/request方法,全局请求和响应拦截封装,token设置,多语言,项目简单配置,直接可以撸业务

快速开始

//如果是根路径加 -w
pnpm install aplus-axios -S -w

使用

//导入
import { defHttp as _defHttp, VAxios } from 'aplus-axios';

//post使用例子
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'
});
1.0.1

1 year ago

1.0.0

1 year ago