0.0.11 • Published 9 months ago

axios-factory v0.0.11

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

axios-factory

一个基于 axios 的小工具。经过简单的配置就可以在 Node 项目中使用已有的 HTTP 服务。

对 axios 进行了简单的封装。

快速开始

安装

npm i axios-factory

一个小例子

import AxiosFactory from "axios-factory";

const config = {
    appConfig: {
        name: "测试app",
        auth: {
            uri: "/login",
            data: { "name": "test", "password": "123456" },
            tokenKeys: [], // 在响应头中需要提取的 token 键
        }
    },
    axiosConfig: {
        baseURL: "http://www.test.com"
    },
    cache: {} // 当前未使用
};

const testApp = new AxiosFactory(
    config.appConfig,
    config.axiosConfig,
    config.cache
);

// 初始化应用(进行登录认证)
testApp.initialize().then(async () => {
    try {
        const response = await testApp.axiosClient({ url: "/news" });
        console.log(response.data);
    } catch (error) {
        console.error("请求失败", error);
    }
}).catch(error => {
    console.error("初始化失败", error);
});

配置说明

AxiosFactoryConfig

  • name: 应用名称,用于日志输出。
  • auth: 认证配置,用于登录请求。
    • uri: 登录接口的 URI。
    • data: 登录请求的数据(如用户名和密码)。
    • tokenKeys: 在响应头中需要提取的 token 键。
  • headers: 可选的默认请求头配置。

AxiosRequestConfig

  • baseURL: 基础 URL,所有请求都会基于此 URL。
  • withCredentials: 是否允许跨域请求携带凭证(默认 true)。
  • timeout: 请求超时时间(默认 10000 毫秒)。

方法说明

initialize()

初始化方法,通过调用登录方法进行认证。

login()

登录方法,发送登录请求并处理响应。

createAxiosClient(axiosConfig: AxiosRequestConfig): AxiosInstance

创建 Axios 实例并设置拦截器。

setupInterceptors(api: AxiosInstance)

设置请求和响应拦截器。

错误处理

在登录失败或请求失败时,会抛出自定义错误 CustomError,并在控制台输出详细的错误信息。

贡献

欢迎提交 issue 和 pull request 来贡献代码。

许可证

MIT License

0.0.11

9 months ago

0.0.10

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.3

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.6

11 months ago

0.0.2

3 years ago

0.0.1

3 years ago