You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.0 KiB
JavaScript

import axios from 'axios';
import { ElMessage } from "element-plus";
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
const service = axios.create({
baseURL: '/dev-api', timeout: 100000
});
service.interceptors.request.use(config => {
return config;
}, error => {
});
service.interceptors.response.use(res => {
return res.data;
}, error => {
console.log('err' + error);
let { message } = error;
if (message == 'Network Error') {
message = '后端接口连接异常';
} else if (message.includes('timeout')) {
message = '系统接口请求超时';
} else if (message.includes('Request failed with status code')) {
message = '系统接口' + message.substr(message.length - 3) + '异常';
}
ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
return Promise.reject(error);
});
function request({ method = 'get', url, data = {}, params = {},headers={} }) {
return service({
method, url, data, params,headers
});
}
export default request;