const header = { } window.ajaxTimeout = 20000 export default async ( url = '', data = {}, type = 'GET', params = {}, headers = header, onUploadProgress ) => { type = type.toLowerCase() const obj = { method: type, baseURL: '', url: url, data, params, timeout: window.ajaxTimeout, headers, onUploadProgress } if (onUploadProgress && typeof onUploadProgress === 'function') { obj.onUploadProgress = onUploadProgress } // 请求拦截器 axios.interceptors.request.use( config => { return config }, error => { // 错误抛到业务代码 return Promise.reject(new Error('服务器异常,请联系管理员!')) } ) // 添加响应拦截器 axios.interceptors.response.use( response => { return response }, error => { return Promise.reject(error.response.data) } ) return new Promise((resolve, reject) => { axios(obj) .then(response => { resolve(response.data) }) .catch(res => { reject(res) }) }) }