admin-fe/src/utils/request.js

40 lines
966 B
JavaScript

import axios from 'axios'
import { Message } from 'element-ui'
// create an axios instance
const service = axios.create({
timeout: 60000 // request timeout
})
const isJson = ({ headers }) => headers['content-type'].includes('application/json')
// response interceptor
service.interceptors.response.use(
response => response,
error => {
console.log(`Error ${error}`)
if (!error.response) {
Message({
message: error,
type: 'error',
duration: 5 * 1000
})
} else {
const errors = Array.isArray(error.response.data) ? error.response.data : [error.response.data]
errors.forEach(errorData => {
const edata = errorData.error || errorData
Message({
message: isJson(error.response) ? `${error.message} - ${edata}` : `${error.message}`,
type: 'error',
duration: 5 * 1000
})
})
}
return Promise.reject(error)
}
)
export default service