import Vue from 'vue' import axios from 'axios' import store from '../vuex/store' import router from '@/router' axios.defaults.timeout = 5000 axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8' axios.interceptors.request.use( config => { let token = '' if (store.getters.saveToken !== '') { token = store.getters.saveToken } token && (config.headers.Authorization = token) if (config.method === 'post') { if (!config.data.flag) { config.data = config.data } else { config.data = config.data.formData } } return config }, error => { return Promise.reject(error) } ) axios.interceptors.response.use( response => { return Promise.resolve(response) }, error => { if (error && error.response) { switch (error.response.status) { case 400: break case 401: router.push('/login') break } return Promise.reject(error.response.data) } else { return Promise.reject(error) } } ) export const post = (sevmethod, params) => { return new Promise((resolve, reject) => { axios.post(`${store.getters.baseUrl}/` + sevmethod, params) .then(response => { resolve(response.data) }, error => { Vue.prototype.$message({ message: error, type: 'error' }) reject(error) }) .catch((error) => { reject(error) }) }) } export const get = (sevmethod, params) => { return new Promise((resolve, reject) => { axios.get(`${store.getters.baseUrl}/` + sevmethod + params) .then(response => { resolve(response.data) }, error => { reject(error) }) .catch((error) => { reject(error) }) }) }