@jecloud/utils
Version:
JECloud 工具库
1 lines • 1.72 kB
JavaScript
import{RequestEnum as e,ContentTypeEnum as r}from"../../utils/axios/axios-enum";import{checkStatus as t}from"./check-status";import{isString as o}from"../../index";import{toParamsEncrypt as n,getSystemConfig as i}from"../system";import{toNumber as s}from"lodash-es";import{JE_CORE_AJAXTIMEOUT as a}from"../constant";function u(e){return e?{_t:(new Date).getTime()}:{}}var l={transformRequestHook:function(e,r){var t=r.isReturnNativeResponse;return void 0!==t&&t?e:e.data},beforeRequestHook:function(e,r){var t=r.apiUrl,n=r.joinPrefix,i=r.urlPrefix;return n&&(e.url=""+i+e.url),t&&o(t)&&(e.url=""+t+e.url),e},requestInterceptors:function(r){var t,o,l,m,d,f=r.requestOptions,p=void 0===f?{}:f;null===(t=r.requestInterceptors)||void 0===t||t.call(r,r),r.headers=Object.assign(null!==(o=r.headers)&&void 0!==o?o:{},p.headers);var v=null!==(m=null!==(l=r.params)&&void 0!==l?l:r.data)&&void 0!==m?m:{},c=n(v);if(c&&Object.assign(r.headers,c),r.timeout===defaultConfig.timeout){var h=s(i(a,0));h>0&&(r.timeout=1e3*h)}var g=null===(d=r.method)||void 0===d?void 0:d.toUpperCase();if(g===e.POST)r.data=v,r.params=void 0;else{if(g==e.GET)p.joinTime&&u(v);r.params=v,r.data=void 0}return r},responseInterceptors:function(e){return e},responseInterceptorsCatch:function(e){var r,o=null!==(r=null==e?void 0:e.response)&&void 0!==r?r:{},n=o.status,i=o.message,s=o.data,a=t(n,null!=i?i:s);return Promise.reject(Object.assign(null!=e?e:{},{errorInfo:a}))}};export var defaultConfig={timeout:3e4,method:e.POST,headers:{"Content-Type":r.FORM_URLENCODED},transform:l,requestOptions:{joinPrefix:!0,isReturnNativeResponse:!1,joinParamsToUrl:!1,errorMessageMode:"message",apiUrl:"",urlPrefix:"",joinTime:!0,ignoreCancelToken:!0,withToken:!0}};