import axios from 'axios'
import 'nprogress/nprogress.css'
//第二步:创建一个新的axios对象[包含一些其余配置项]
let request = axios.create({
baseURL: '/api', //基础路径,将来发请求的时候在路径当中都带有/api
timeout: 5000, //超时的时间的设置
headers: {
'Content-Type': 'application/json',
},
});
//请求拦截器
request.interceptors.request.use((config) => {
const token = sessionStorage.getItem('USER_UID')
console.log(token)
if (token) {
config.headers.common['token'] = sessionStorage.getItem('USER_UID');
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
//响应拦截器:use回调 响应成功回调 响应失败的回调
request.interceptors.response.use((res) => {
//数据响应成功回调
return res.data; //简化服务器返回的数据
}, (err) => {
//存在代理跨域没有设置
if (err.code == "ERR_NETWORK") {
alert('兄弟代理跨域你没整')
}
//响应失败的回调---终止Promise链即可
//响应失败的判断可以在这里处理
return new Promise(() => {}); //终止Promise,返回一个pending类型Promise对象
});
//对外暴露
export default axios;
axios的简单封装
于 2023-05-29 08:55:30 首次发布