import axios from 'axios'
import url from './baseUrl'
const service = axios.create({
baseURL: url, // api的base_url
timeout: 20000000000, // request timeout
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
},
});
// POST传参序列化
service.interceptors.request.use((config) => {
// 监听loading
/**
* 2020-05-29 YJY
* config.url = '/base/dict/region/tree'
* 接口数据量过大,请求完成返回数据的时间在11s左右,衍生出全局loading展示的问题,只能在这拦截了,没有时间去想别的解决办法
* 可以做个黑名单列表,把数据返回量大的接口都填进去,遇到就跳过不展示loading
*/
if (config && !config.ignoreLoading && config.url != '/base/dict/region/tree') {
// console.log(config)
}
if (localStorage.getItem('token')) {
config.headers.token = localStorage.getItem('token');
// config.headers.key = 'Authorization';
config.headers.Authorization = 'bearer ' + localStorage.getItem('token');
}
return config
}, (error) => {
alert('传参错误')
return Promise.reject(error)
})
// code状态码200判断
service.interceptors.response.use((res) => {
// 监听loading
if (res && res.config && !res.config.ignoreLoading && res.config.url != '/base/dict/region/tree') {
}
if (res.status !== 200) {
return Promise.reject(res)
}
return res
}, (error) => {
// 网络异常
return Promise.reject(error)
})
export default service