import axios from 'axios'
import qs from 'qs'
switch (process.env.NODE_ENV) {
case 'production':
axios.defaults.baseURL = 'http://localhost:8080'
break
case 'test':
axios.defaults.baseURL = 'http://localhost:8080'
break
default:
axios.defaults.baseURL = 'http://localhost:8080'
}
axios.defaults.timeout = 10000
axios.defaults.withCredentials = true
axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
axios.defaults.transformRequest = data => qs.stringify(data)
axios.interceptors.request.use(config => {
let token = localStorage.getItem('token')
token && (config.headers.Authorization = token)
return config
}, error => {
return Promise.reject(error)
})
axios.interceptors.response.use(respose => {
return respose.data
}, error => {
let {
response
} = error
if (response) {
switch (response.status) {
case 401:
break
case 403:
break
case 404:
break
}
} else {
if (!window.navigator.onLine) {
return 0
}
return Promise.reject(error)
}
})
export default axios