//请求拦截器
axios.interceptors.request.use(
config => {
Vue.$vux.loading.show({
text: '请求中'
})
let Token = sessionStorage.getItem('token')==""? "":sessionStorage.getItem('token');//判断是否是登陆状态
if (Token){//如果登录了做超时判断,没登录不管
let time = parseInt(new Date().getTime())-parseInt(sessionStorage.getItem('time'))
if(time>=1800000){//未操作时间》 30分钟,token清除
sessionStorage.setItem('token',"")
Token = ''
}
if(!Token){
if(localStorage.getItem('userName') && localStorage.getItem('userPwd')){
router.replace({
path: '/registered/1' //去登陆
})
}
}
}
config.headers['Authorization'] = Token
return config
},error => {
if (error.response) {
switch (error.response.status) {
case 401:
// 返回 401 清除token信息并跳转到登录页面
sessionStorage.setItem('token',"")
router.replace({
path: '/registered/1'
})
}
}
return Promise.reject(error.response.data)
})
//相应拦截器
axios.interceptors.response.use(
response => { //对响应数据做些事
if(response.status >=200){
Vue.$vux.loading.hide()
}
console.log("response")
return response;
},err => { //请求错误时做些事
return Promise.reject(err);
});