import axios from "axios";
const service = axios.create({
timeout: 30 * 1000, //请求超时时间:30秒
withCredentials: false, // 表示跨域请求时是否需要使用凭证
});
// 请求拦截器
service.interceptors.request.use(
(config) => {
//配置信息处理
return config;
},
(error) => {
//错误处理
console.log(error);
return Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(
(res) => {
// 请求成功的回调函数
// console.log(res);
// return res.data;
console.log(res);
return res;
},
(err) => {
// 请求失败的回调函数
console.log(err);
return Promise.reject("fail");
}
);
export default request;
// api 文件引入 request.js
function request(methods: any, url: string, params?: Object, headers?: any, responseType?: any) {
let data = {};
methods == "get"
? (data = {
url: url,
method: methods,
params: params,
})
: (data = {
url: url,
method: methods,
data: params,
});
return new Promise((resolve: Function, reject: Function) => {
console.log(data, service);
service({ ...data })
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err.data);
});
});
}
export { request };
简单的axios二次封装
最新推荐文章于 2024-07-22 15:19:55 发布