import axios from 'axios';
import { MessageBox, Message, Loading } from 'element-ui'
const instance = axios.create({
baseURL: 'http://10.1.1.220:8080',
timeout: 5000,
});
// 添加请求拦截器
instance.interceptors.request.use((config) => {
// 在发送请求之前做些什么
return config;
}, (error) => {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
instance.interceptors.response.use((res) => {
// 对响应数据做点什么
if (res.status !== 200) {
Promise.reject('network error')
return
}
// 未设置状态码则默认成功状态
const { code, msg } = res.data
// 二进制数据则直接返回
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
return res
}
return res.data;
}, (error) => {
let { message } = error
// 对响应错误做点什么
if (message == 'Network Error') {
message = '后端接口连接异常'
} else if (message.includes('timeout')) {
message = '系统接口请求超时'
} else if (message.includes('Request failed with status code 429')) {
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)
});
/**
* get方法,对应get请求
* @param {String} url [请求的url地址]
* @param {Object} params [请求时携带的参数]
*/
export function get(url, params) {
return new Promise((resolve, reject) => {
axios
.get(url, {
params: params,
})
.then((res) => {
resolve(res.data)
})
.catch((err) => {
reject(err)
})
})
}
export function post(url, params) {
return new Promise((resolve, reject) => {
axios
.post(url, {
params: params,
})
.then((res) => {
resolve(res.data)
})
.catch((err) => {
reject(err)
})
})
}
export default instance
10-17
925
10-09
2644
05-30
624
06-27
279
12-02
596
11-15
587
03-28