axios-factory
v0.0.11
Published
Based on axios. After simple configuration, you can easily use the existing http service
Downloads
183
Readme
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