axios-请求拦截器(请求头中添加token
处理请求一些带权限的接口(需要传递token),一个一个配置请求头太麻烦,在发起请求之前统一挂载token
//1.引入 axios
import axios from 'axios'
//2.拿到vuex中token
import store from '@/store/index.js'
//3.封装基础的地址
axios.defaults.baseURL = '请求地址根路径'
//4.请求拦截器
axios.interceptors.request.use(function (config) {
console.log('请求拦截器');
// 在发送请求之前做些什么
//config本次请求的请求配置对象(包括请求地址 请求头)
console.log('config', config);
//已经登录并且存在token
if (store.state && store.state.user && store.state.user.token) {
//加入到请求头
config.headers.Authorization = `Bearer ${store.state.user.token}`
}
//一定要返回config 否则请求停在这里 出不去
return config;
}, function (error) {
// 对请求错误做些(还没有发出请求)
return Promise.reject(error);
});
//5.导出
export default axios