// 引入 axios
import axios from 'axios'
// 设置baseURL
axios.defaults.baseURL = 'http://xxxx.xxx.com/api/';
// 添加请求拦截器
axios.interceptors.request.use(config => {
// 在发送请求之前做些什么,这里携带token
if (window.localStorage.getItem('token')) {
config.headers.token = window.localStorage.getItem('token');
}
return config;
}, error => {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use((response) => {
// 对响应数据做点什么
return response;
}, (err) => {
// 对响应错误做点什么
if (err && err.response) {
switch (err.response.status) {
case 400:
err.message = '请求错误'
break
case 401:
err.message = '未授权,请登录';
// router.replace({ name: 'login' })
break
case 403:
err.message = '拒绝访问'
break
case 404:
err.message = `请求地址出错: ${err.response.config.url}`
break
case 408:
err.message = '请求超时'
break
case 500:
err.message = '服务器内部错误'
break
case 501:
err.message = '服务未实现'
break
case 502:
err.message = '网关错误'
break
case 503:
err.message = '服务不可用'
break
case 504:
err.message = '网关超时'
break
case 505:
err.message = 'HTTP版本不受支持'
break
default:
}
}
return Promise.reject(err);
})
vue封装axios请求(1)
最新推荐文章于 2024-09-07 14:40:13 发布