import axios from "axios";
import Router from '../router'
import { Message } from 'element-ui';
axios.interceptors.request.use(config => {
// 表示在配置中的设置头消息的字段Authorization为从本地获取的token值
console.log('请求拦截器');
let url = config.url;
console.log('url========'+url);
// .search方法返回值不是布尔值!!!!!如果存在返回第一个下标,不存在返回0
if(url.search('valid')>=0){ console.log('本次请求地址包含valid不用加token直接发送');
}else{
config.headers.token = localStorage.getItem('token');
}
return config;
})
//响应拦截器
axios.interceptors.response.use((res) => {
if(res.data.status===202){
Message.error('您账号已被封禁,请联系管理员');
Router.push({name: 'login'})}
if(res.data.status===401){
Message.error('您没有当前模块的访问权限');
}
if(res.data.status===402){
Message.error('登录失效,马上为您跳转登陆界面');
var that=this;
Router.push({name: 'login'})
}
if (res.data.token) {
// console.log(token)
console.log('响应拦截器');
localStorage.setItem('token', res.data.token)
}
return res
})
export default axios
Vue在js文件全局配置axous请求,响应拦截器
最新推荐文章于 2022-11-06 11:10:39 发布