diff --git a/src/js/dai/request.js b/src/js/dai/request.js index 93b51680..8365bd3e 100644 --- a/src/js/dai/request.js +++ b/src/js/dai/request.js @@ -36,12 +36,7 @@ const request = curry( // retData = Vue.$afterRequestHook(retData); // } if (res.data.code > 8000 && res.data.code < 10000) { - // message.error(res.data.msg); - Message({ - showClose: true, - message: res.data.msg, - duration: 0 - }) + // Message.error(res.data.msg); } reslove(retData); diff --git a/src/js/dai/request2.js b/src/js/dai/request2.js new file mode 100644 index 00000000..8c38025d --- /dev/null +++ b/src/js/dai/request2.js @@ -0,0 +1,90 @@ +/*--------------------------------------------------------------- + | 请求接口封装 | + ---------------------------------------------------------------*/ +import axios from "axios"; +import curry from "dai-js/tools/curry"; +import { Message } from "element-ui"; + +const request = curry( + (method, url, data = {}, headers = {}, progress = () => {}) => { + return new Promise((reslove) => { + let returnIniData = { + httpCode: "", + data: {}, + msg: "", + code: "", + }; + + // 添加服务器端URL + function processUrl(url) { + if (url.indexOf("http://") > -1 || url.indexOf("https://") > -1) { + return url; + } + return process.env.VUE_APP_API_SERVER + url; + } + + url = processUrl(url); + + const succFn = (res) => { + // log(`[request成功] ${url}`, data, res); + let retData = { + ...returnIniData, + ...res.data, + httpCode: res.statusCode, + }; + // if(typeof Vue.$afterRequestHook == 'function'){ + // retData = Vue.$afterRequestHook(retData); + // } + if (res.data.code > 8000 && res.data.code < 10000) { + Message.error(res.data.msg); + } + + reslove(retData); + }; + + const failFn = (err) => { + // log(`[request失败] ${url}`, data, err); + + reslove( + Object.assign({}, returnIniData, { + httpCode: "9999", //访问出现意外 + msg: "网络错误", + }) + ); + }; + + if (method.toUpperCase() == "POST") { + axios + .post(url, data, { + headers, + responseType: "json", + // progress, + // credentials: false, + }) + .then(succFn) + .catch(failFn); + } else { + axios + .get(url, { + params: data, + headers, + responseType: "json", + // credentials: true, + }) + .then(succFn) + .catch(failFn); + } + }); + } +); + +export const requestGet = request("get"); + +export const requestPost = request("post"); + +export default { + install(Vue) { + Vue.prototype.$requestGet = requestGet; + Vue.prototype.$requestPost = requestPost; + }, +}; diff --git a/src/views/modules/importRecord/index.vue b/src/views/modules/importRecord/index.vue index bd98184c..978ab1d3 100644 --- a/src/views/modules/importRecord/index.vue +++ b/src/views/modules/importRecord/index.vue @@ -55,7 +55,7 @@