import axios from 'axios';
import store from '../store';
import router from '../router';
import Vue from 'vue';
//设置过期时间
axios.defaults.timeout = 6000;
//请求拦截
axios.interceptors.request.use((config)=>{
//给请求添加token
if(store.state.token){
config.headers.authorization = "Bearer " + store.state.token;
}
return config
})
//响应拦截
axios.interceptors.response.use((res) => {
return res;
},
(err)=>{
//拦截401登录过期请求,直接跳转登录界面,并提示
const {response} =err;
switch(response.status){
case 401:
Vue.prototype.$confirm('登录过期,请重新登录', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
router.replace({
name:"login",
})
}).catch(() => {
});
break;
default:
break;
}
})
export default axios;
版权声明:本文为caoxinjian423原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。