lightlimx-website/plugins/axios.js

54 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2024-07-10 14:57:22 +08:00
export default function ({ store, redirect, req, router, app: { $axios } }) {
// 数据访问前缀
$axios.defaults.headers = {
Authorization: store.getters.myAuthorization||''
}
// request拦截器
// $axios.onRequest(config => {
// if(process.client){
// 客户端下,请求进度条开始
// NProgress.start();
// }
// 将获取到token加入到请求头中
// });
// response拦截器数据返回后可以先在这里进行一个简单的判断
$axios.interceptors.response.use(
response => {
if (process.client) {
// 客户端下, 请求进度条结束
// NProgress.done();
}
// return response
if (response.data.code == 401) {
// 返回401token验证失败清除客户端cookie
// Cookie.remove("token");
// 重定向到登录页面, 这里做一个判断容错req.url 未定义
// if(req.url){
// redirect("/sign?ref="+req.url)
// }else{
// redirect("/sign")
// }
} else if (response.data.code == 404) {
// 重定向到404页面
// redirect("/")
} else {
// 请求接口数据正常,返回数据
return response
}
},
error => {
if (process.client) {
// NProgress.done();
}
if (error.response.status == 500) {
// http状态500服务器内部错误重定向到500页面
// redirect("/500.htm")
}
if (error.response.status == 404) {
// http状态500请求API找不到重定向到404页面
// redirect("/404.html")
}
return Promise.reject(error.response) // 返回接口返回的错误信息
})
}