import axios from 'axios'; import { ElMessage } from 'element-plus' import tools from '@/utils/tools' import router from '../router'; // axios.defaults.baseURL = '/api' axios.defaults.timeout = 120000 // HTTP request 拦截器 axios.interceptors.request.use( (config) => { let token = tools.data.get('token'); if (token) { config.headers['x-token'] = token } return config; }, (error) => { return Promise.reject(error); } ); // HTTP response 拦截器 // axios.interceptors.response.use( // (response) => { // return response; // }, // (error) => { // if (error.response) { // if (error.response.status == 401) { // ElMessage.error("请重新登录!"); // // window.location.href = '/#/login?returnURL=' + window.location.href // window.location.href = // 'http://220.191.238.50:996/api/login?returnURL=' + // window.location.href // } else if (error.response.status == 404) { // ElMessage.error("Status:404,正在请求不存在的服务器记录!"); // } else if (error.response.status == 500) { // ElMessage.error({ // title: '请求错误', // message: "Status:500,服务器发生错误!" // }); // } else { // ElMessage.error(`Status:${error.response.status},未知错误!`); // } // } else { // ElMessage.error("请求服务器无响应!"); // } // return Promise.reject(error.response); // } // ); var http = { /** get 请求 * @param {接口地址} url * @param {请求参数} params */ get: function (url, params) { return new Promise((resolve, reject) => { axios.get(url, { params: params }) .then((response) => { if (response.data.code == 400 && response.data.msg) { ElMessage.error(response.data.msg); } resolve(response.data); }) .catch((error) => { reject(error); }); }) }, /** post 请求 * @param {接口地址} url * @param {请求参数} params */ post: function (url, params) { return new Promise((resolve, reject) => { axios.post(url, params) .then((response) => { if (response.data.code == 400 && response.data.msg) { ElMessage.error(response.data.msg); } resolve(response.data); }) .catch((error) => { reject(error); }); }) }, put: function (url, params) { return new Promise((resolve, reject) => { axios.put(url, params) .then((response) => { if (response.data.code == 400 && response.data.msg) { ElMessage.error(response.data.msg); } resolve(response.data); }) .catch((error) => { reject(error); }); }) }, delete: function (url, params) { return new Promise((resolve, reject) => { axios.delete(url, params) .then((response) => { if (response.data.code == 400 && response.data.msg) { ElMessage.error(response.data.msg); } resolve(response.data); }) .catch((error) => { reject(error); }); }) }, download: function (url) { let user = tools.data.get('user'); let token = "x-token=" + user.token; url = url + (url.indexOf("?") > 0 ? "&" : "?") + token; window.open(url); } } export default http;