import Vue from 'vue' import axios from 'axios' import { MessageBox, Message } from 'element-ui' import store from '@/store' import router from '@/router' import { getToken, removeToken } from '@/utils/auth' const baseURL = 'http://8.130.38.56:8027/business-server' Vue.prototype.axios = axios axios.defaults.timeout = 30000 const service = axios.create({ baseURL, timeout: 30000 }) export const uploadUrl = `${baseURL}/file/upload` export const token = getToken() service.interceptors.request.use( config => { if (store.getters.token) { config.headers['Authorization-admin'] = getToken() config.headers['Content-Type'] = 'application/json; charset=UTF-8' } return config }, error => { console.log(error) return Promise.reject(error) } ) // service.interceptors.response.use( // response => { // const res = response.data // if (response.config.responseType === 'blob') { // console.log(response.data) // return response.data // } // if (res.code !== '') { // Message({ // message: res.message || 'Error', // type: 'error', // duration: 5 * 1000 // }) // const tokenerr = [20003, '20003', 20004, '20004', 20005, '20005'] // if (tokenerr.includes(res.code)) { // localStorage.clear() // removeToken() // router.push({ path: '/login' }) // location.reload() // } // if (res.code === 50008 || res.code === 50012 || res.code === 50014) { // // to re-login // MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { // confirmButtonText: 'Re-Login', // cancelButtonText: 'Cancel', // type: 'warning' // }).then(() => { // store.dispatch('user/resetToken').then(() => { // location.reload() // }) // }) // } // return Promise.reject(new Error(res.message || 'Error')) // } else { // return res // } // }, // ) export default service