lightlimx-website/plugins/axios.js

54 lines
1.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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) // 返回接口返回的错误信息
})
}