2 lines
3.3 KiB
JavaScript
2 lines
3.3 KiB
JavaScript
import{cloneDeep as e}from"lodash-es";function r(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}var n=function e(r,n,o,s){if("object"===t(n)){if(Array.isArray(n))return n.map((function(r){return e(null,r,o,s)}));for(var i in n){var a=n[i],c="function"==typeof o?o(i,a):i;n[c]=e(i,a,o,s),c!==i&&delete n[i]}return n}return"function"==typeof s?s(r,n):n},o=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toLowerCase()):e},s=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toUpperCase()):e};function i(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Event]":"event","[object Object]":"object","[object MouseEvent]":"mouseEvent"}[Object.prototype.toString.call(e)]}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var u=function(e){return n(null,e,o)},f=function(e,r){return c({error:c({},e)},r)},p=function(e){return"local"===window.STATIC_ENV_CONFIG.VUE_APP_MODEL&&console.warn("接口非0啦!错误信息看这里!","\n responseURL:",e.request.responseURL,"\n data: ",e.data,"\n all message: ",e),!1},l=function(e){if("undefined"===i(e))return p(e),Promise.reject(new Error("response is undefined"));var r=e.data,t=void 0===r?{}:r,s=e.config,a=void 0===s?{}:s;a.hideLoading;var l={reqConfig:c({},u(a))};return a.headers&&"old"===a.headers["x-api-version"]?0!=+t.errcode?(p(e),Promise.reject(f(t,l))):c({data:t},l):t.Response?void 0!==t.Response.Data?Object.assign(n(null,t.Response,o),l):(p(e),Promise.reject(Object.assign(n(null,t.Response,o),l))):c({},e)},b=function(e){if(e&&e.response){var r=e.response,t=r.config,s=void 0===t?{}:t,a=r.data,p=void 0===a?{}:a;s.hideLoading,console.error("=====> statusCode no 2xx,Reject: ",e.response);var l={reqConfig:c({},u(s))};return"object"===i(p)?"old"!==s.headers["x-api-version"]?Promise.reject(Object.assign(n(null,p.Response,o),l)):Promise.reject(f(p,l)):Promise.reject(f({data:e.response.data,status:e.response.status,statusText:e.response.statusText,headers:e.response.headers},l))}return Promise.reject(e||new Error("Unknown Network Error"))},d=function(r){if("old"!==r.headers["x-api-version"]){if(r.data){var t=e(r.data);Object.assign(r,{data:n(null,t,s)})}if(r.params){var o=e(r.params);Object.assign(r,{params:n(null,o,s)})}}return r.hideLoading,r},j=function(e){return Promise.reject(e)};export{d as requestBefore,j as requestError,b as responseReject,l as responseResolve};
|