import axios from 'axios' import { Message, Loading } from 'element-ui' // const id = Loading.service({ // target: document.querySelector('.appamin'), // background: 'rgba(255, 255, 255, 0.1)', // spinner: 'el-icon-loading', // text: '请求加载中。。。' // }) // id.close() // import store from '@/store' // import { getToken } from '@/utils/auth' // import errorCode from '@/utils/errorCode' // axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded' // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 // baseURL: process.env.VUE_APP_BASE_API, // 超时 timeout: 1500000 }) const options = { fullscreen: true, target: document.querySelector('.appamin'), background: 'rgba(255, 255, 255, 0.8)', spinner: 'el-icon-loading', text: '数据加载中'} // request拦截器 service.interceptors.request.use(config => { console.log(`request.config=>`, config) Loading.service(options) // 是否需要设置 token // const isToken = (config.headers || {}).isToken === false // if (getToken() && !isToken) { // config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 // } return config }, error => { console.log(error) Promise.reject(error) }) // 响应拦截器 service.interceptors.response.use(res => { console.log(`response.res=>`, res) const id = setTimeout(() => { Loading.service(options).close() clearTimeout(id) }, 300) if (res.config.responseType === 'blob') { return res } return res.data }, error => { const id = setTimeout(() => { Loading.service(options).close() clearTimeout(id) }, 300) console.log('err' + error) let { message } = error if (message === 'Network Error') { message = '后端接口连接异常' } else if (message.includes('timeout')) { message = '系统接口请求超时' } else if (message.includes('Request failed with status code')) { message = '系统接口' + message.substr(message.length - 3) + '异常' } Message({ message: message, type: 'error', duration: 5 * 1000 }) return Promise.reject(error) } ) export default service