设置baseURL
let _baseUrl = "https://api.zhiyedang.cn"; const http = axios.create({ baseURL: _baseUrl }) export const baseURL = _baseUrl
给所有请求添加token
http.interceptors.request.use( function(config) { // 在请求之前干一些事 , 比如 : 统一的设置token if ($cookies.isKey('isLogin')) { //比如登陆不需要token,所以只有 有token时才带 config.headers.Authorization = JSON.parse(window.localStorage.getItem("Login")).token } return config }, function(error) { // 在请求失败的时候干一些事 return Promise.reject(error) } )
路由拦截器
http.interceptors.response.use(function(response) { // 响应成功后执行 //如果返回的是无效的token,就把他打回登陆 if (response.data.message == '您未登录或者登录状态已过期') { //销毁token localStorage.removeItem('Login') window.$cookies.remove('isLogin') //警告提示 // new Vue().$message.error('无效的token') //打回登陆 router.push('/login') } return response; }, function(error) { // 响应出错 执行 return Promise.reject(error); });