54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
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) {
|
||
// 返回401,token验证失败,清除客户端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) // 返回接口返回的错误信息
|
||
})
|
||
}
|