import router from '@/router'; import axios from 'axios' import store from '@/store'; import { Message } from 'element-ui' const service = axios.create({ baseURL: `http://192.168.110.34:9090`, timeout: 30000, // request timeout }) // 请求拦截 service.interceptors.request.use( config => { let token = localStorage.getItem('token'); if (token) { config.headers.Authorization = token; } // get if (config.method == 'get') { if (!config.params) config.params = {}; config.params = { ...config.params, } } if (config.method == 'post') { // 文件上传 if (config?.data?.blob) { const formData = new FormData(); formData.append('file', config.data.blob); config.headers['Content-Type'] = 'multipart/form-data; boundary=----WebKitFormBoundaryfJ7Q1AjuTNDYAaad'; config.data = formData return config } // 普通post if (!config.data) config.data = {}; config.data = { ...config.data, } } return config }, error => { return Promise.reject(error) } ) // 响应拦截 service.interceptors.response.use( response => { return new Promise((resolve, reject) => { if (!response) { reject(new Error('请求超时')) } const res = response; if (res.status === 200) { resolve(res.data) } else { Message({ iconClass: " ", customClass: "el-message--error", message: res.data.msg || 'Error', type: 'error', duration: 1500, center: true }) reject(res.data) } }) }, error => { Message({ iconClass: " ", customClass: "el-message--error", message: error.message, type: 'error', duration: 1500, center: true }) return Promise.reject(error) } ) export default service