admin-fe/src/utils/request.js

40 lines
966 B
JavaScript
Raw Permalink Normal View History

2017-08-22 07:43:34 +00:00
import axios from 'axios'
import { Message } from 'element-ui'
2017-04-18 07:09:13 +00:00
// create an axios instance
2017-05-15 09:56:45 +00:00
const service = axios.create({
timeout: 60000 // request timeout
2017-08-22 07:43:34 +00:00
})
2017-05-15 09:56:45 +00:00
const isJson = ({ headers }) => headers['content-type'].includes('application/json')
2018-09-03 07:03:00 +00:00
// response interceptor
2017-05-15 09:56:45 +00:00
service.interceptors.response.use(
2017-06-15 07:35:14 +00:00
response => response,
2017-05-15 09:56:45 +00:00
error => {
2019-09-27 16:40:25 +00:00
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
})
})
}
2017-08-22 07:43:34 +00:00
return Promise.reject(error)
2018-08-15 09:29:15 +00:00
}
)
2017-05-15 09:56:45 +00:00
2017-08-22 07:43:34 +00:00
export default service