/** * axios封装 * 请求拦截、相应拦截、错误统一处理 */ $BASE_URL_DEV = "http://localhost:9090/api"; $BASE_URL_PRO = "https://sointech.com.cn/api"; $BASE_URL = $BASE_URL_PRO; // 环境的切换 axios.defaults.baseURL = $BASE_URL; axios.defaults.timeout = 50000; // post请求头 axios.defaults.headers.post["Content-Type"] = "application/json;charset=UTF-8"; // 请求拦截器 axios.interceptors.request.use((config) => { return config; }); axios.interceptors.response.use( (response) => { return response; }, (error) => { // 统一处理表单异常 if (error.response) { if (error.response == "fieldErrors") { commonUtils.message("出错了:表单校验错误"); } else if (error.response.status == 400) { commonUtils.message(error.response.data.message, "danger"); } else if (error.response.status == 401) { history.push("/index.html"); } else if (error.response.status == 500) { commonUtils.message("服务器出错了:" + error.response.data.detail, "danger"); } else { commonUtils.message("服务器出错了:" + error.response.status, "danger"); } } else if (error.request) { commonUtils.message("服务器无响应, 请重试", "danger"); } else { commonUtils.message("请求异常, 请重试", "danger"); } return error; } ); function $httpGet(url, params) { return new Promise((resolve, reject) => { axios .get(url, { params: params, }) .then((res) => { resolve(res.data); }) .catch((err) => { reject(err.data); }); }); } function $httpPost(url, data) { return new Promise((resolve, reject) => { axios .post(url, JSON.stringify(data)) .then((res) => { resolve(res); }) .catch((err) => { reject(err); }); }); }