拦截器,在请求或响应被 then 或 catch 处理前拦截它们
先创建一个axios实例
// 引入axios
import axios from 'axios';
// 构建axios实例
const instance = axios.create({
baseURL: process.env.BASE_API, // 该处url会根据环境进行更改
timeout: 1000 // 设置请求超时连接时间
})
request拦截器(请求发送后端之前)
request拦截器通常用进行token验证,如果token不存在则强制返回登录页面
instance.interceptors.request.use(config=>{
//config是配置
//第一步:查看有没有token
//一般而言,是把token是被存在sessionStorage里面
const token = sessionStorage.getItem('token');
if(token){
// token存在
Object.assign(config.headers,{
Token:token
})
}else{
// token不存在,返回登录页
sessionStorage.removeItem('token');
window.location.href= "/login";
}
return config;(必须拦截以后再还回去)
},
err => Promise.reject(error));