import axios from 'axios'
import cookies from 'vue-cookies'
import router from 'vue-router'
export const $axios = axios.create({
timeout: 7000,
})
$axios.interceptors.request.use(
config => {
console.log(config);
let t = cookies.get('t')
if (t) {
config.headers.t = t
} else {
router.replace({path: '/login'})
}
return config
},
err => {
return Promise.reject(err)
}
)
$axios.interceptors.response.use(
response => {
console.log(response)
return response
},
err => {
console.log(err);
if (err.response) {
switch (err.response.status) {
case 401:
router.replace({
path: 'login',
query: {redirect: router.currentRoute.fullPath}
})
}
}
return Promise.reject(err)
}
)
使用
import Vue from 'vue'
import {$axios} from './assets/lib/util'
Vue.prototype.$http = $axios