9 changed files with 131 additions and 75 deletions
			
			
		@ -1,87 +1,90 @@ | 
				
			|||||
/*--------------------------------------------------------------- | 
					/*--------------------------------------------------------------- | 
				
			||||
 |                           请求接口封装                           | | 
					 |                           请求接口封装                           | | 
				
			||||
 ---------------------------------------------------------------*/ | 
					 ---------------------------------------------------------------*/ | 
				
			||||
import axios from 'axios' | 
					import axios from "axios"; | 
				
			||||
import log from 'dai-js/modules/log' | 
					import message from "dai-js/modules/message/message"; | 
				
			||||
import curry from 'dai-js/tools/curry' | 
					import curry from "dai-js/tools/curry"; | 
				
			||||
 | 
					
 | 
				
			||||
const request = curry( | 
					const request = curry( | 
				
			||||
  (method, url, data = {}, headers = {}, progress = () => {}) => { | 
					  (method, url, data = {}, headers = {}, progress = () => {}) => { | 
				
			||||
    return new Promise((reslove) => { | 
					    return new Promise((reslove) => { | 
				
			||||
      let returnIniData = { | 
					      let returnIniData = { | 
				
			||||
        httpCode: '', | 
					        httpCode: "", | 
				
			||||
        data: {}, | 
					        data: {}, | 
				
			||||
        msg: '', | 
					        msg: "", | 
				
			||||
        code: '' | 
					        code: "", | 
				
			||||
      } | 
					      }; | 
				
			||||
 | 
					
 | 
				
			||||
      // 添加服务器端URL
 | 
					      // 添加服务器端URL
 | 
				
			||||
      function processUrl(url) { | 
					      function processUrl(url) { | 
				
			||||
        if (url.indexOf('http://') > -1 || url.indexOf('https://') > -1) { | 
					        if (url.indexOf("http://") > -1 || url.indexOf("https://") > -1) { | 
				
			||||
          return url | 
					          return url; | 
				
			||||
        } | 
					        } | 
				
			||||
        return process.env.VUE_APP_API_SERVER + url | 
					        return process.env.VUE_APP_API_SERVER + url; | 
				
			||||
      } | 
					      } | 
				
			||||
 | 
					
 | 
				
			||||
      url = processUrl(url) | 
					      url = processUrl(url); | 
				
			||||
 | 
					
 | 
				
			||||
      const succFn = (res) => { | 
					      const succFn = (res) => { | 
				
			||||
        // log(`[request成功] ${url}`, data, res);
 | 
					        // log(`[request成功] ${url}`, data, res);
 | 
				
			||||
        let retData = { | 
					        let retData = { | 
				
			||||
          ...returnIniData, | 
					          ...returnIniData, | 
				
			||||
          ...res.data, | 
					          ...res.data, | 
				
			||||
          httpCode: res.statusCode | 
					          httpCode: res.statusCode, | 
				
			||||
        } | 
					        }; | 
				
			||||
        // if(typeof Vue.$afterRequestHook == 'function'){
 | 
					        // if(typeof Vue.$afterRequestHook == 'function'){
 | 
				
			||||
        // 	retData = Vue.$afterRequestHook(retData);
 | 
					        // 	retData = Vue.$afterRequestHook(retData);
 | 
				
			||||
        // }
 | 
					        // }
 | 
				
			||||
 | 
					        if (res.data.code > 8000 && res.data.code < 10000) { | 
				
			||||
 | 
					          message.error(res.data.msg); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
        reslove(retData) | 
					        reslove(retData); | 
				
			||||
      } | 
					      }; | 
				
			||||
 | 
					
 | 
				
			||||
      const failFn = (err) => { | 
					      const failFn = (err) => { | 
				
			||||
        // log(`[request失败] ${url}`, data, err);
 | 
					        // log(`[request失败] ${url}`, data, err);
 | 
				
			||||
 | 
					
 | 
				
			||||
        reslove( | 
					        reslove( | 
				
			||||
          Object.assign({}, returnIniData, { | 
					          Object.assign({}, returnIniData, { | 
				
			||||
            httpCode: '9999', //访问出现意外
 | 
					            httpCode: "9999", //访问出现意外
 | 
				
			||||
            msg: '网络错误' | 
					            msg: "网络错误", | 
				
			||||
          }) | 
					          }) | 
				
			||||
        ) | 
					        ); | 
				
			||||
      } | 
					      }; | 
				
			||||
 | 
					
 | 
				
			||||
      if (method.toUpperCase() == 'POST') { | 
					      if (method.toUpperCase() == "POST") { | 
				
			||||
        axios | 
					        axios | 
				
			||||
          .post(url, data, { | 
					          .post(url, data, { | 
				
			||||
            headers, | 
					            headers, | 
				
			||||
            responseType: 'json' | 
					            responseType: "json", | 
				
			||||
            // progress,
 | 
					            // progress,
 | 
				
			||||
            // credentials: false,
 | 
					            // credentials: false,
 | 
				
			||||
          }) | 
					          }) | 
				
			||||
          .then(succFn) | 
					          .then(succFn) | 
				
			||||
          .catch(failFn) | 
					          .catch(failFn); | 
				
			||||
      } else { | 
					      } else { | 
				
			||||
        axios | 
					        axios | 
				
			||||
          .get(url, { | 
					          .get(url, { | 
				
			||||
            params: data, | 
					            params: data, | 
				
			||||
            headers, | 
					            headers, | 
				
			||||
            responseType: 'json' | 
					            responseType: "json", | 
				
			||||
            // credentials: true,
 | 
					            // credentials: true,
 | 
				
			||||
          }) | 
					          }) | 
				
			||||
          .then(succFn) | 
					          .then(succFn) | 
				
			||||
          .catch(failFn) | 
					          .catch(failFn); | 
				
			||||
      } | 
					      } | 
				
			||||
    }) | 
					    }); | 
				
			||||
  } | 
					  } | 
				
			||||
) | 
					); | 
				
			||||
 | 
					
 | 
				
			||||
export const requestGet = request('get') | 
					export const requestGet = request("get"); | 
				
			||||
 | 
					
 | 
				
			||||
export const requestPost = request('post') | 
					export const requestPost = request("post"); | 
				
			||||
 | 
					
 | 
				
			||||
export default { | 
					export default { | 
				
			||||
  install(Vue) { | 
					  install(Vue) { | 
				
			||||
    Vue.prototype.$requestGet = requestGet | 
					    Vue.prototype.$requestGet = requestGet; | 
				
			||||
    Vue.prototype.$requestPost = requestPost | 
					    Vue.prototype.$requestPost = requestPost; | 
				
			||||
  } | 
					  }, | 
				
			||||
} | 
					}; | 
				
			||||
 | 
				
			|||||
					Loading…
					
					
				
		Reference in new issue