export default function ({ $axios, redirect, app, store }, inject) { // $axios.onRequest(config => { // if(store.state.token){ // config.headers['Authorization'] = 'Bearer ' + store.state.token; // } // return config; // }); // // $axios.setHeader('Content-Type', 'application/json'); // // $axios.onResponse(response =>{ // console.log("response", response); // if(response.status === 401){ // app.$cookies.removeAll(); // store.commit('saveToken', null); // store.commit('saveUser', {}); // this.$message({ // showClose: true, // message: '未授权,请先登录', // type: 'warning' // }); // } // // }); // Create a custom axios instance const api = $axios.create({ // headers: { // common: { // Accept: 'text/plain, */*' // } // }, baseURL: '/api', timeout: 10000, // withCredentials: true }) api.onRequest(config => { if (store.state.token) { config.headers.authorization = store.state.token } else { delete config.headers.authorization } return config }) api.setHeader('Content-Type', 'application/json') api.onResponse(response => { if (response.status === 401) { store.commit('saveToken', null) store.commit('saveUser', {}) redirect('/unauthorized') } }) api.onError(error => { if (error.response.status === 401) { store.commit('saveToken', null) store.commit('saveUser', {}) redirect('/unauthorized') } }) // Set baseURL to something different // api.setBaseURL('https://my_api.com') // Inject to context as $api inject('api', api) }