@seayoo-web/request 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=require("@seayoo-web/utils");function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},t.apply(this,arguments)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var n=function(e,t,r){try{var n=Object.assign({method:"GET"},r),s=n.body instanceof FormData,o=s?"POST":n.method;"GET"!==o&&"HEAD"!==o&&"DELETE"!==o||void 0!==n.body&&(console.warn("request body is invalid with method get, head, delete"),delete n.body);var a=Object.assign(s?{}:{"Content-Type":"application/json;charset=utf-8"},n.headers),i=n.params||{},u={};Object.keys(i).forEach(function(e){var t;void 0!==i[e]&&(u[e]="string"==typeof(t=i[e])?t:Array.isArray(t)?t.join(","):t+"")});var l=t.getFullUrl(e),c=function(e){if(e)return e instanceof Blob||e instanceof ArrayBuffer||e instanceof FormData||e instanceof URLSearchParams||"string"==typeof e?e:JSON.stringify(e)}(n.body),d=n.timeout||t.get("timeout");return Promise.resolve(function(r){try{var n=function(n){var s;return r?n:Promise.resolve(null==(s=t.get("requestHandler"))?void 0:s(a,u,o,e))},s=t.get("requestTransformer"),i=function(){if(s)return Promise.resolve(s({headers:a,params:u,method:o,url:l,body:c})).then(function(e){return r=1,e})}();return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(e){return Promise.reject(e)}}()).then(function(e){var r,s="string"==typeof e&&e?e:l;return null==(r=t.get("logHandler"))||r({type:"ready",url:s,method:o,headers:a,timeout:d,body:c}),{url:s,method:o,body:c,params:u,headers:a,timeout:d,credentials:n.credentials||t.get("credentials")}})}catch(e){return Promise.reject(e)}},s=function(e,t,r){try{return Promise.resolve(n(e,t,r)).then(function(e){var t=new URL(e.url),r=e.params;r instanceof Object&&Object.keys(r).forEach(function(e){return t.searchParams.set(e,r[e])});var n=new AbortController,s=e.timeout>0?setTimeout(function(){return n.abort()},e.timeout):null,o=new Request(t,{method:e.method,headers:new Headers(e.headers),body:e.body,credentials:e.credentials,signal:e.timeout>0?n.signal:null,redirect:"follow"});return Promise.resolve(fetch(o).then(function(r){try{var n=function(e){return{url:u,method:i,status:a,statusText:o,headers:s,body:e}},s=Object.fromEntries(r.headers.entries()),o=r.statusText,a=r.status,i=e.method,u=t.toString();return Promise.resolve("HEAD"===e.method?n(""):Promise.resolve(r.text()).then(n))}catch(e){return Promise.reject(e)}}).catch(function(r){return{url:t.toString(),method:e.method,status:-1,statusText:"NetworkError",body:String(r)}}).finally(function(){null!==s&&clearTimeout(s)}))})}catch(e){return Promise.reject(e)}},o="data",a="message";function i(e,t){for(var n,s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))){n&&(e=n);var s=0;return function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Array.isArray(t)?t:[t]);!(n=s()).done;){var o=n.value;if(o in e)return(a=e[o])?"string"==typeof a?a:JSON.stringify(a):""}var a;return""}var u=/<title>([^<]+)<\/title>/i,l=/<message>([^<]+)<\/message>/i;function c(e){var t=e.match(u);if(t)return t[1];var r=e.match(l);return r?r[1]:""}function d(e){return e>=200&&e<400}var h=function t(r,n,s,o,a){try{var i,u,l,c=a||0,h=Math.max(0,Math.min(10,null!=(i=null!=(u=null==o?void 0:o.maxRetry)?u:s.get("maxRetry"))?i:0)),f=null!=(l=null==o?void 0:o.retryResolve)?l:s.get("retryResolve"),m=s.get("logHandler")||e.noop;m({type:"prepear",url:n,method:(null==o?void 0:o.method)||"GET",retry:c,maxRetry:h,message:0===c?"start":"retry "+c+"/"+h+" start",headers:null==o?void 0:o.headers,options:o});var g=Date.now();return Promise.resolve(r(n,s,o)).then(function(a){var i,u,l=a.status,v=Date.now()-g,p="[cost "+v+"]["+l+"] "+(l<0?a.body:"");m({type:"finished",url:n,method:a.method,retry:c,maxRetry:h,message:0===c?"finish "+p:"retry "+c+"/"+h+" finish "+p,response:a,headers:a.headers,cost:v});var y=d(l);if(!h||"network"===f&&l>0||"status"===f&&y||c>=h)return a;var b=null!=(i=null!=(u=null==o?void 0:o.retryInterval)?u:s.get("retryInterval"))?i:0;return Promise.resolve(e.sleep(Math.max(100,"function"==typeof b?b(c+1)||0:b))).then(function(){return Promise.resolve(t(r,n,s,o,c+1))})})}catch(e){return Promise.reject(e)}};function f(r,n,s,u){var l,h;if(r.status<0)return m({ok:!1,status:r.status,code:r.statusText,headers:{},message:"",data:null},r.method+" "+n+" "+r.statusText,r.method,n,s,u);d(r.status)||null==(h=s.get("errorHandler"))||h(r.status,r.method,n);var f,g,v,p,y,b=t({},(f=r.status,g=r.statusText,v=r.body,p=s.get("responseRule"),y=(null==u?void 0:u.responseRule)||p,d(f)?function(t,r,n,s){var u=t||{resolve:"body"},l={ok:!0,code:n,message:"",data:null};if(202===r||204===r||!s)return l;if("body"===u.resolve)return l.data=e.isJsonLike(s)?e.parseJSON(s):s,l;var c=e.parseJSON(s);if(!c||!e.isStringRecord(c))return l.ok=!1,l.code="ResponseFormatError",l.message="响应内容无法格式化为 Object",l;var d=u.statusField,h=u.statusOKValue||"",f=u.dataField||o,m=u.messageField||a,g=u.ignoreMessage||"";if(d&&!(d in c))return l.ok=!1,l.code="ResponseFieldMissing",l.message="响应内容找不到状态字段 "+d,l;var v=d?c[d]+"":"";return l.ok=!d||v===h,l.code=v||n,l.data=f in c?c[f]:null,l.message=i(c,m),g&&l.message&&(Array.isArray(g)&&g.includes(l.message)||"string"==typeof g&&l.message===g)&&(l.message=""),l}(y.ok||p.ok,f,g,v):function(t,r,n){var s=t||{resolve:"json",messageField:a},o={ok:!1,code:r,message:n,data:null};switch(s.resolve){case"body":o.message=c(n)||n;break;case"json":o.message=c(n)||function(t,r){if(void 0===r&&(r=a),!e.isJsonLike(t))return"";var n=e.parseJSON(t);return n&&e.isStringRecord(n)&&i(n,r)||t}(n,s.messageField)}return o}(y.failed||p.failed,g,v)),{status:r.status,headers:Object.fromEntries(Object.entries(r.headers||{}).map(function(e){var t=e[1];return[e[0].toLowerCase(),t]}))});return null==(l=s.get("responseHandler"))||l(t({},b),r.method,n),m(b,b.ok?b.message:r.method+" "+n+" ["+(b.code||r.statusText)+"] "+(b.message||r.statusText),r.method,n,s,u)}function m(e,t,r,n,s,o){var a=s.get("message"),i=!1!==a&&!1!==(null==o?void 0:o.message)&&((null==o?void 0:o.message)||a);return!1!==i&&s.showMessage(!e.ok,"function"==typeof i?i(e,r,n,t):t),e}var g=/*#__PURE__*/function(){function t(e){this.config={baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}},e&&this.set(e)}var r=t.prototype;return r.set=function(t){if(t.baseURL&&!/^\/.+/.test(t.baseURL)&&!e.isFullURL(t.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,t)},r.get=function(e){return this.config[e]},r.getFullUrl=function(t){return t.startsWith("/")?e.getFullURL(t):e.getFullURL(t,this.config.baseURL)},r.showMessage=function(e,t){this.config.messageHandler&&t&&this.config.messageHandler(e,t)},t}(),v=function(r,s,o){try{return Promise.resolve(n(r,s,o)).then(function(r){var n=t({},r,{onUploadProgress:null==o?void 0:o.onUploadProgress}),s=n.method,a=n.onUploadProgress||e.noop,i=e.addParamsToString(n.url,n.params);return Promise.resolve(new Promise(function(e){var t=1,r=0,o=new XMLHttpRequest;o.open(s,i,!0),o.upload.addEventListener("progress",function(e){t=e.total,a({total:e.total,loaded:e.loaded})}),o.addEventListener("load",function(){r&&clearTimeout(r),a({loaded:t,total:t}),e({url:i,method:s,status:o.status,statusText:o.statusText,headers:p(o),body:"HEAD"===s?"":o.responseText})}),o.addEventListener("error",function(){r&&clearTimeout(r),e({url:i,method:s,status:-2,statusText:"Failed",body:""})}),o.addEventListener("abort",function(){r&&clearTimeout(r),e({url:i,method:s,status:-3,statusText:"Aborted",body:""})}),Object.entries(n.headers).forEach(function(e){o.setRequestHeader(e[0],e[1])}),"include"===n.credentials&&(o.withCredentials=!0),o.send(n.body||void 0),n.timeout>0&&(r=setTimeout(function(){o.abort()},n.timeout))}))})}catch(e){return Promise.reject(e)}};function p(e){var t={};if(!e)return t;var r=e.getAllResponseHeaders();return r&&"null"!==r&&r.replace(/\r/g,"").split("\n").forEach(function(e){var r=e.trim();if(r){var n=r.split(":"),s=n[0].trim();s&&(t[s]=(n[1]||"").trim())}}),t}var y=function(e,t,r){try{return Promise.resolve(h(s,e,t,r)).then(function(n){return f(n,e,t,r)})}catch(e){return Promise.reject(e)}},b=function(e,t,r){try{return Promise.resolve(h(v,e,t,r)).then(function(n){return f(n,e,t,r)})}catch(e){return Promise.reject(e)}},P=/*#__PURE__*/function(){function e(e){void 0===e&&(e=500),this.ttl=void 0,this.cache=void 0,this.cache={},this.ttl=Math.max(e,0)}var t=e.prototype;return t.getKey=function(e,t){return e+Object.keys(t||{}).sort().map(function(e){return e+"#"+(null==t?void 0:t[e])}).join(",")},t.updateTTL=function(e){this.ttl=Math.max(e,0)},t.get=function(e){if(0===this.ttl)return null;var t=this.cache[e];return t?t.ttl<Date.now()?(delete this.cache[e],null):t.res:null},t.set=function(e,t){0!==this.ttl&&(this.cache[e]={ttl:Date.now()+this.ttl,res:t})},e}(),j=/*#__PURE__*/function(){function t(e,t){this.agent=void 0,this.config=void 0,this.cache=void 0,this.config=new g(t),this.agent=e,this.cache=new P(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}var r=t.prototype;return r.exec=function(e,t){try{return Promise.resolve(this.agent(e,this.config,t))}catch(e){return Promise.reject(e)}},r.guard=function(t,r,n){try{return Promise.resolve(function(t,r,n,s){if(r.ok&&!e.isEmpty(r.data)&&s){var o=e.getTypeGuard(s,"响应数据未能正确识别");return o.guard(r.data)||(console.error("ResponseCheckFaild",t,r.data),n.showMessage(!0,t+" "+o.message),r.data=null),r}return r}(t,r,this.config,n))}catch(e){return Promise.reject(e)}},r.setConfig=function(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))},r.getConfig=function(e){return this.config.get(e)},r.head=function(e,t){try{var r=this,n=Object.assign({},t||null);n.method="HEAD";var s=r.guard;return Promise.resolve(r.exec(e,n)).then(function(t){return s.call(r,e,t,null)})}catch(e){return Promise.reject(e)}},r.get=function(e,t,r){try{var n,s=function(r){if(n)return r;var s=o.exec(e,a);o.cache.set(i,s);var u=o.guard;return Promise.resolve(s).then(function(r){return u.call(o,e,r,t||null)})},o=this,a=Object.assign({},r||null);a.method="GET";var i=o.cache.getKey(e,a.params),u=o.cache.get(i),l=function(){if(u){var r=o.guard;return Promise.resolve(u).then(function(s){var a=r.call(o,e,s,t||null);return n=1,a})}}();return Promise.resolve(l&&l.then?l.then(s):s(l))}catch(e){return Promise.reject(e)}},r.post=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="POST",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},r.del=function(e,t,r){try{var n=this,s=Object.assign({},r||null);s.method="DELETE";var o=n.guard;return Promise.resolve(n.exec(e,s)).then(function(r){return o.call(n,e,r,t||null)})}catch(e){return Promise.reject(e)}},r.put=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PUT",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},r.patch=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PATCH",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},t}();function w(e){return"fetch"in window?new j(y,e):new j(b,e)}var T=w(),x=T.setConfig,R=T.head,O=T.get,E=T.post,k=T.del,L=T.put,S=T.patch;exports.NetRequest=w,exports.del=k,exports.get=O,exports.getResponseRulesDescription=function(e){var t=[],r=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),r.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(r.messageField||a)+" 作为错误消息")}var n=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),n.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(n.dataField||o)+" 作为响应数据,读取 "+(n.messageField||a)+" 作为提示消息"),n.statusField&&t.push(" 当 "+n.statusField+" 为 "+(n.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),n.ignoreMessage&&t.push(" 并忽略以下消息:"+n.ignoreMessage)}return t.join("\n")},exports.head=R,exports.jsonp=function(t,r,n){void 0===n&&(n={});try{var s=window;"callback"in n||(n.callback="jsonxData"+Math.random().toString(16).slice(2));var o=n.callback+"";if(!t)return Promise.resolve(null);var a=e.addParamsToString(t,n,!0);return Promise.resolve(new Promise(function(n){s[o]=function(e){if(o in window&&delete s[o],r(e))return e;console.warn("response type check faild",t,e),n(null)},e.loadJS(a).catch(function(){n(null),delete s[o]})}))}catch(e){return Promise.reject(e)}},exports.jsonx=function(t,r,n){void 0===n&&(n={});try{var s=window;return"var"in n||(n.var="jsonxData"+Math.random().toString(16).slice(2)),Promise.resolve(t?e.loadJS(e.addParamsToString(t,n,!0)).then(function(){var e=s[n.var+""];return r(e)?e:(console.warn("response type check faild",t,e),null)}).catch(function(){return null}):null)}catch(e){return Promise.reject(e)}},exports.patch=S,exports.post=E,exports.put=L,exports.setGlobalConfig=x,exports.upload=function(e,r,n){try{return Promise.resolve(function(e,r,n,s){try{var o=new FormData,a=null==n?void 0:n.body,i=t({},r);for(var u in a instanceof Object&&Object.entries(a).forEach(function(e){var t=e[0],r=e[1];r instanceof Blob?i[t]=r:Array.isArray(r)?r.forEach(function(e,r){o.append(t+"["+r+"]",String(e))}):o.append(t,String(r))}),i)o.append(u,i[u]);var l=new g(s);return Promise.resolve(v(e,l,t({},n,{method:"POST",body:o}))).then(function(t){return f(t,e,l,n)})}catch(e){return Promise.reject(e)}}(e,r,n,{baseURL:T.getConfig("baseURL"),logHandler:T.getConfig("logHandler"),errorHandler:T.getConfig("errorHandler"),requestHandler:T.getConfig("requestHandler"),messageHandler:T.getConfig("messageHandler"),responseHandler:T.getConfig("responseHandler")}))}catch(e){return Promise.reject(e)}};
|
|
1
|
+
var e=require("@seayoo-web/utils");function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},t.apply(this,arguments)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var n=function(e,t,r){try{var n=Object.assign({method:"GET"},r),s=n.body instanceof FormData,o=s?"POST":n.method;"GET"!==o&&"HEAD"!==o&&"DELETE"!==o||void 0!==n.body&&(console.warn("request body is invalid with method get, head, delete"),delete n.body);var a=Object.assign(s?{}:{"Content-Type":"application/json;charset=utf-8"},n.headers),i=n.params||{},u={};Object.keys(i).forEach(function(e){var t;void 0!==i[e]&&(u[e]="string"==typeof(t=i[e])?t:Array.isArray(t)?t.join(","):t+"")});var l=t.getFullUrl(e),c=function(e){if(e)return e instanceof Blob||e instanceof ArrayBuffer||e instanceof FormData||e instanceof URLSearchParams||"string"==typeof e?e:JSON.stringify(e)}(n.body),d=n.timeout||t.get("timeout");return Promise.resolve(function(r){try{var n=function(n){var s;return r?n:Promise.resolve(null==(s=t.get("requestHandler"))?void 0:s(a,u,o,e))},s=t.get("requestTransformer"),i=function(){if(s)return Promise.resolve(s({headers:a,params:u,method:o,url:l,body:c})).then(function(e){return r=1,e})}();return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(e){return Promise.reject(e)}}()).then(function(e){var r,s="string"==typeof e&&e?e:l;return null==(r=t.get("logHandler"))||r({type:"ready",url:s,method:o,headers:a,timeout:d,body:c}),{url:s,method:o,body:c,params:u,headers:a,timeout:d,credentials:n.credentials||t.get("credentials")}})}catch(e){return Promise.reject(e)}},s=function(e,t,r){try{return Promise.resolve(n(e,t,r)).then(function(e){var t=new URL(e.url),r=e.params;r instanceof Object&&Object.keys(r).forEach(function(e){return t.searchParams.set(e,r[e])});var n=new AbortController,s=e.timeout>0?setTimeout(function(){return n.abort()},e.timeout):null,o=new Request(t,{method:e.method,headers:new Headers(e.headers),body:e.body,credentials:e.credentials,signal:e.timeout>0?n.signal:null,redirect:"follow"});return Promise.resolve(fetch(o).then(function(r){try{var n=function(e){return{url:u,method:i,status:a,statusText:o,headers:s,body:e}},s=Object.fromEntries(r.headers.entries()),o=r.statusText,a=r.status,i=e.method,u=t.toString();return Promise.resolve("HEAD"===e.method?n(""):Promise.resolve(r.text()).then(n))}catch(e){return Promise.reject(e)}}).catch(function(r){return{url:t.toString(),method:e.method,status:-1,statusText:"NetworkError",body:String(r)}}).finally(function(){null!==s&&clearTimeout(s)}))})}catch(e){return Promise.reject(e)}},o="data",a="message";function i(e,t){for(var n,s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))){n&&(e=n);var s=0;return function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Array.isArray(t)?t:[t]);!(n=s()).done;){var o=n.value;if(o in e)return(a=e[o])?"string"==typeof a?a:JSON.stringify(a):""}var a;return""}var u=/<title>([^<]+)<\/title>/i,l=/<message>([^<]+)<\/message>/i;function c(e){var t=e.match(u);if(t)return t[1];var r=e.match(l);return r?r[1]:""}function d(e){return e>=200&&e<400}var h=function t(r,n,s,o,a){try{var i,u,l,c=a||0,h=Math.max(0,Math.min(10,null!=(i=null!=(u=null==o?void 0:o.maxRetry)?u:s.get("maxRetry"))?i:0)),f=null!=(l=null==o?void 0:o.retryResolve)?l:s.get("retryResolve"),m=s.get("logHandler")||e.noop;m({type:"prepear",url:n,method:(null==o?void 0:o.method)||"GET",retry:c,maxRetry:h,message:0===c?"start":"retry "+c+"/"+h+" start",headers:null==o?void 0:o.headers,options:o});var g=Date.now();return Promise.resolve(r(n,s,o)).then(function(a){var i,u,l=a.status,v=Date.now()-g,p="[cost "+v+"]["+l+"] "+(l<0?a.body:"");m({type:"finished",url:n,method:a.method,retry:c,maxRetry:h,message:0===c?"finish "+p:"retry "+c+"/"+h+" finish "+p,response:a,headers:a.headers,cost:v});var y=d(l);if(!h||"network"===f&&l>0||"status"===f&&y||c>=h)return a;var b=null!=(i=null!=(u=null==o?void 0:o.retryInterval)?u:s.get("retryInterval"))?i:0;return Promise.resolve(e.sleep(Math.max(100,"function"==typeof b?b(c+1)||0:b))).then(function(){return Promise.resolve(t(r,n,s,o,c+1))})})}catch(e){return Promise.reject(e)}};function f(r,n,s,u){var l,h;if(r.status<0)return m({ok:!1,status:r.status,code:r.statusText,headers:{},message:"",data:null},r.method+" "+n+" "+r.statusText,r.method,n,s,u);d(r.status)||null==(h=s.get("errorHandler"))||h(r.status,r.method,n);var f,g,v,p,y,b=t({},(f=r.status,g=r.statusText,v=r.body,p=s.get("responseRule"),y=(null==u?void 0:u.responseRule)||p,d(f)?function(t,r,n,s){var u=t||{resolve:"body"},l={ok:!0,code:n,message:"",data:null};if(202===r||204===r||!s)return l;if("body"===u.resolve)return l.data=e.isJsonLike(s)?e.parseJSON(s):s,l;var c=e.parseJSON(s);if(!c||!e.isStringRecord(c))return l.ok=!1,l.code="ResponseFormatError",l.message="响应内容无法格式化为 Object",l;var d=u.statusField,h=u.statusOKValue||"",f=u.dataField||o,m=u.messageField||a,g=u.ignoreMessage||"";if(d&&!(d in c))return l.ok=!1,l.code="ResponseFieldMissing",l.message="响应内容找不到状态字段 "+d,l;var v=d?c[d]+"":"";return l.ok=!d||v===h,l.code=v||n,l.data=f in c?c[f]:null,l.message=i(c,m),g&&l.message&&(Array.isArray(g)&&g.includes(l.message)||"string"==typeof g&&l.message===g)&&(l.message=""),l}(y.ok||p.ok,f,g,v):function(t,r,n){var s=t||{resolve:"json",messageField:a},o={ok:!1,code:r,message:n,data:null};switch(s.resolve){case"body":o.message=c(n)||n;break;case"json":o.message=c(n)||function(t,r){if(void 0===r&&(r=a),!e.isJsonLike(t))return"";var n=e.parseJSON(t);return n&&e.isStringRecord(n)&&i(n,r)||t}(n,s.messageField)}return o}(y.failed||p.failed,g,v)),{status:r.status,headers:Object.fromEntries(Object.entries(r.headers||{}).map(function(e){var t=e[1];return[e[0].toLowerCase(),t]}))});return null==(l=s.get("responseHandler"))||l(t({},b),r.method,n),m(b,b.ok?b.message:r.method+" "+n+" ["+(b.code||r.statusText)+"] "+(b.message||r.statusText),r.method,n,s,u)}function m(e,t,r,n,s,o){var a=s.get("message"),i=!1!==a&&!1!==(null==o?void 0:o.message)&&((null==o?void 0:o.message)||a);return!1!==i&&s.showMessage(!e.ok,"function"==typeof i?i(e,r,n,t):t),e}var g=/*#__PURE__*/function(){function t(e){this.config={baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}},e&&this.set(e)}var r=t.prototype;return r.set=function(t){if(t.baseURL&&!/^\/.+/.test(t.baseURL)&&!e.isFullURL(t.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,t)},r.get=function(e){return this.config[e]},r.getFullUrl=function(t){return t.startsWith("/")?e.getFullURL(t):e.getFullURL(t,this.config.baseURL)},r.showMessage=function(e,t){this.config.messageHandler&&t&&this.config.messageHandler(e,t)},t}(),v=function(r,s,o){try{return Promise.resolve(n(r,s,o)).then(function(r){var n=t({},r,{onUploadProgress:null==o?void 0:o.onUploadProgress}),s=n.method,a=n.onUploadProgress||e.noop,i=e.addParamsToString(n.url,n.params);return Promise.resolve(new Promise(function(e){var t=1,r=0,o=new XMLHttpRequest;o.open(s,i,!0),o.upload.addEventListener("progress",function(e){t=e.total,a({total:e.total,loaded:e.loaded})}),o.addEventListener("load",function(){r&&clearTimeout(r),a({loaded:t,total:t}),e({url:i,method:s,status:o.status,statusText:o.statusText,headers:p(o),body:"HEAD"===s?"":o.responseText})}),o.addEventListener("error",function(){r&&clearTimeout(r),e({url:i,method:s,status:-2,statusText:"Failed",body:""})}),o.addEventListener("abort",function(){r&&clearTimeout(r),e({url:i,method:s,status:-3,statusText:"Aborted",body:""})}),Object.entries(n.headers).forEach(function(e){o.setRequestHeader(e[0],e[1])}),"include"===n.credentials&&(o.withCredentials=!0),o.send(n.body||void 0),n.timeout>0&&(r=setTimeout(function(){o.abort()},n.timeout))}))})}catch(e){return Promise.reject(e)}};function p(e){var t={};if(!e)return t;var r=e.getAllResponseHeaders();return r&&"null"!==r&&r.replace(/\r/g,"").split("\n").forEach(function(e){var r=e.trim();if(r){var n=r.split(":"),s=n[0].trim();s&&(t[s]=(n[1]||"").trim())}}),t}var y=function(e,t,r){try{return Promise.resolve(h(s,e,t,r)).then(function(n){return f(n,e,t,r)})}catch(e){return Promise.reject(e)}},b=function(e,t,r){try{return Promise.resolve(h(v,e,t,r)).then(function(n){return f(n,e,t,r)})}catch(e){return Promise.reject(e)}},P=/*#__PURE__*/function(){function e(e){void 0===e&&(e=500),this.ttl=void 0,this.cache=void 0,this.cache={},this.ttl=Math.max(e,0)}var t=e.prototype;return t.getKey=function(e,t){return e+Object.keys(t||{}).sort().map(function(e){return e+"#"+(null==t?void 0:t[e])}).join(",")},t.updateTTL=function(e){this.ttl=Math.max(e,0)},t.get=function(e){if(0===this.ttl)return null;var t=this.cache[e];return t?t.ttl<Date.now()?(delete this.cache[e],null):t.res:null},t.set=function(e,t){0!==this.ttl&&(this.cache[e]={ttl:Date.now()+this.ttl,res:t})},e}(),j=/*#__PURE__*/function(){function t(e,t){this.agent=void 0,this.config=void 0,this.cache=void 0,this.config=new g(t),this.agent=e,this.cache=new P(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}var r=t.prototype;return r.exec=function(e,t){try{return Promise.resolve(this.agent(e,this.config,t))}catch(e){return Promise.reject(e)}},r.guard=function(t,r,n){try{return Promise.resolve(function(t,r,n,s){if(r.ok&&!e.isEmpty(r.data)&&s){var o=e.getTypeGuard(s,"响应数据未能正确识别");return o.guard(r.data)||(console.error("ResponseCheckFaild",t,r.data),n.showMessage(!0,t+" "+o.message),r.data=null),r}return r}(t,r,this.config,n))}catch(e){return Promise.reject(e)}},r.setConfig=function(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))},r.getConfig=function(e){return this.config.get(e)},r.head=function(e,t){try{var r=this,n=Object.assign({},t||null);n.method="HEAD";var s=r.guard;return Promise.resolve(r.exec(e,n)).then(function(t){return s.call(r,e,t,null)})}catch(e){return Promise.reject(e)}},r.get=function(e,t,r){try{var n,s=function(r){if(n)return r;var s=o.exec(e,a);o.cache.set(i,s);var u=o.guard;return Promise.resolve(s).then(function(r){return u.call(o,e,r,t||null)})},o=this,a=Object.assign({},r||null);a.method="GET";var i=o.cache.getKey(e,a.params),u=o.cache.get(i),l=function(){if(u){var r=o.guard;return Promise.resolve(u).then(function(s){var a=r.call(o,e,s,t||null);return n=1,a})}}();return Promise.resolve(l&&l.then?l.then(s):s(l))}catch(e){return Promise.reject(e)}},r.post=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="POST",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},r.del=function(e,t,r){try{var n=this,s=Object.assign({},r||null);s.method="DELETE";var o=n.guard;return Promise.resolve(n.exec(e,s)).then(function(r){return o.call(n,e,r,t||null)})}catch(e){return Promise.reject(e)}},r.put=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PUT",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},r.patch=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PATCH",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},t}();function w(e){if("window"in globalThis)return"fetch"in window?new j(y,e):new j(b,e);throw new Error("Default Module Only Support In Brower")}var T=w(),x=T.setConfig,O=T.head,R=T.get,E=T.post,k=T.del,L=T.put,S=T.patch;exports.NetRequest=w,exports.del=k,exports.get=R,exports.getResponseRulesDescription=function(e){var t=[],r=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),r.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(r.messageField||a)+" 作为错误消息")}var n=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),n.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(n.dataField||o)+" 作为响应数据,读取 "+(n.messageField||a)+" 作为提示消息"),n.statusField&&t.push(" 当 "+n.statusField+" 为 "+(n.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),n.ignoreMessage&&t.push(" 并忽略以下消息:"+n.ignoreMessage)}return t.join("\n")},exports.head=O,exports.jsonp=function(t,r,n){void 0===n&&(n={});try{var s=window;"callback"in n||(n.callback="jsonxData"+Math.random().toString(16).slice(2));var o=n.callback+"";if(!t)return Promise.resolve(null);var a=e.addParamsToString(t,n,!0);return Promise.resolve(new Promise(function(n){s[o]=function(e){if(o in window&&delete s[o],r(e))return e;console.warn("response type check faild",t,e),n(null)},e.loadJS(a).catch(function(){n(null),delete s[o]})}))}catch(e){return Promise.reject(e)}},exports.jsonx=function(t,r,n){void 0===n&&(n={});try{var s=window;return"var"in n||(n.var="jsonxData"+Math.random().toString(16).slice(2)),Promise.resolve(t?e.loadJS(e.addParamsToString(t,n,!0)).then(function(){var e=s[n.var+""];return r(e)?e:(console.warn("response type check faild",t,e),null)}).catch(function(){return null}):null)}catch(e){return Promise.reject(e)}},exports.patch=S,exports.post=E,exports.put=L,exports.setGlobalConfig=x,exports.upload=function(e,r,n){try{return Promise.resolve(function(e,r,n,s){try{var o=new FormData,a=null==n?void 0:n.body,i=t({},r);for(var u in a instanceof Object&&Object.entries(a).forEach(function(e){var t=e[0],r=e[1];r instanceof Blob?i[t]=r:Array.isArray(r)?r.forEach(function(e,r){o.append(t+"["+r+"]",String(e))}):o.append(t,String(r))}),i)o.append(u,i[u]);var l=new g(s);return Promise.resolve(v(e,l,t({},n,{method:"POST",body:o}))).then(function(t){return f(t,e,l,n)})}catch(e){return Promise.reject(e)}}(e,r,n,{baseURL:T.getConfig("baseURL"),logHandler:T.getConfig("logHandler"),errorHandler:T.getConfig("errorHandler"),requestHandler:T.getConfig("requestHandler"),messageHandler:T.getConfig("messageHandler"),responseHandler:T.getConfig("responseHandler")}))}catch(e){return Promise.reject(e)}};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isJsonLike as e,parseJSON as t,isStringRecord as r,noop as n,sleep as s,isFullURL as o,getFullURL as a,addParamsToString as i,isEmpty as u,getTypeGuard as c,loadJS as l}from"@seayoo-web/utils";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},d.apply(this,arguments)}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var f=function(e,t,r){try{var n=Object.assign({method:"GET"},r),s=n.body instanceof FormData,o=s?"POST":n.method;"GET"!==o&&"HEAD"!==o&&"DELETE"!==o||void 0!==n.body&&(console.warn("request body is invalid with method get, head, delete"),delete n.body);var a=Object.assign(s?{}:{"Content-Type":"application/json;charset=utf-8"},n.headers),i=n.params||{},u={};Object.keys(i).forEach(function(e){var t;void 0!==i[e]&&(u[e]="string"==typeof(t=i[e])?t:Array.isArray(t)?t.join(","):t+"")});var c=t.getFullUrl(e),l=function(e){if(e)return e instanceof Blob||e instanceof ArrayBuffer||e instanceof FormData||e instanceof URLSearchParams||"string"==typeof e?e:JSON.stringify(e)}(n.body),d=n.timeout||t.get("timeout");return Promise.resolve(function(r){try{var n=function(n){var s;return r?n:Promise.resolve(null==(s=t.get("requestHandler"))?void 0:s(a,u,o,e))},s=t.get("requestTransformer"),i=function(){if(s)return Promise.resolve(s({headers:a,params:u,method:o,url:c,body:l})).then(function(e){return r=1,e})}();return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(e){return Promise.reject(e)}}()).then(function(e){var r,s="string"==typeof e&&e?e:c;return null==(r=t.get("logHandler"))||r({type:"ready",url:s,method:o,headers:a,timeout:d,body:l}),{url:s,method:o,body:l,params:u,headers:a,timeout:d,credentials:n.credentials||t.get("credentials")}})}catch(e){return Promise.reject(e)}},m=function(e,t,r){try{return Promise.resolve(f(e,t,r)).then(function(e){var t=new URL(e.url),r=e.params;r instanceof Object&&Object.keys(r).forEach(function(e){return t.searchParams.set(e,r[e])});var n=new AbortController,s=e.timeout>0?setTimeout(function(){return n.abort()},e.timeout):null,o=new Request(t,{method:e.method,headers:new Headers(e.headers),body:e.body,credentials:e.credentials,signal:e.timeout>0?n.signal:null,redirect:"follow"});return Promise.resolve(fetch(o).then(function(r){try{var n=function(e){return{url:u,method:i,status:a,statusText:o,headers:s,body:e}},s=Object.fromEntries(r.headers.entries()),o=r.statusText,a=r.status,i=e.method,u=t.toString();return Promise.resolve("HEAD"===e.method?n(""):Promise.resolve(r.text()).then(n))}catch(e){return Promise.reject(e)}}).catch(function(r){return{url:t.toString(),method:e.method,status:-1,statusText:"NetworkError",body:String(r)}}).finally(function(){null!==s&&clearTimeout(s)}))})}catch(e){return Promise.reject(e)}},g="data",v="message",y=function(e){var t=[],r=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),r.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(r.messageField||v)+" 作为错误消息")}var n=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),n.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(n.dataField||g)+" 作为响应数据,读取 "+(n.messageField||v)+" 作为提示消息"),n.statusField&&t.push(" 当 "+n.statusField+" 为 "+(n.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),n.ignoreMessage&&t.push(" 并忽略以下消息:"+n.ignoreMessage)}return t.join("\n")};function p(e,t){for(var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}(e))){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Array.isArray(t)?t:[t]);!(r=n()).done;){var s=r.value;if(s in e)return(o=e[s])?"string"==typeof o?o:JSON.stringify(o):""}var o;return""}var b=/<title>([^<]+)<\/title>/i,P=/<message>([^<]+)<\/message>/i;function j(e){var t=e.match(b);if(t)return t[1];var r=e.match(P);return r?r[1]:""}function w(e){return e>=200&&e<400}var T=function e(t,r,o,a,i){try{var u,c,l,d=i||0,h=Math.max(0,Math.min(10,null!=(u=null!=(c=null==a?void 0:a.maxRetry)?c:o.get("maxRetry"))?u:0)),f=null!=(l=null==a?void 0:a.retryResolve)?l:o.get("retryResolve"),m=o.get("logHandler")||n;m({type:"prepear",url:r,method:(null==a?void 0:a.method)||"GET",retry:d,maxRetry:h,message:0===d?"start":"retry "+d+"/"+h+" start",headers:null==a?void 0:a.headers,options:a});var g=Date.now();return Promise.resolve(t(r,o,a)).then(function(n){var i,u,c=n.status,l=Date.now()-g,v="[cost "+l+"]["+c+"] "+(c<0?n.body:"");m({type:"finished",url:r,method:n.method,retry:d,maxRetry:h,message:0===d?"finish "+v:"retry "+d+"/"+h+" finish "+v,response:n,headers:n.headers,cost:l});var y=w(c);if(!h||"network"===f&&c>0||"status"===f&&y||d>=h)return n;var p=null!=(i=null!=(u=null==a?void 0:a.retryInterval)?u:o.get("retryInterval"))?i:0;return Promise.resolve(s(Math.max(100,"function"==typeof p?p(d+1)||0:p))).then(function(){return Promise.resolve(e(t,r,o,a,d+1))})})}catch(e){return Promise.reject(e)}};function x(n,s,o,a){var i,u;if(n.status<0)return O({ok:!1,status:n.status,code:n.statusText,headers:{},message:"",data:null},n.method+" "+s+" "+n.statusText,n.method,s,o,a);w(n.status)||null==(u=o.get("errorHandler"))||u(n.status,n.method,s);var c,l,h,f,m,y=d({},(c=n.status,l=n.statusText,h=n.body,f=o.get("responseRule"),m=(null==a?void 0:a.responseRule)||f,w(c)?function(n,s,o,a){var i=n||{resolve:"body"},u={ok:!0,code:o,message:"",data:null};if(202===s||204===s||!a)return u;if("body"===i.resolve)return u.data=e(a)?t(a):a,u;var c=t(a);if(!c||!r(c))return u.ok=!1,u.code="ResponseFormatError",u.message="响应内容无法格式化为 Object",u;var l=i.statusField,d=i.statusOKValue||"",h=i.dataField||g,f=i.messageField||v,m=i.ignoreMessage||"";if(l&&!(l in c))return u.ok=!1,u.code="ResponseFieldMissing",u.message="响应内容找不到状态字段 "+l,u;var y=l?c[l]+"":"";return u.ok=!l||y===d,u.code=y||o,u.data=h in c?c[h]:null,u.message=p(c,f),m&&u.message&&(Array.isArray(m)&&m.includes(u.message)||"string"==typeof m&&u.message===m)&&(u.message=""),u}(m.ok||f.ok,c,l,h):function(n,s,o){var a=n||{resolve:"json",messageField:v},i={ok:!1,code:s,message:o,data:null};switch(a.resolve){case"body":i.message=j(o)||o;break;case"json":i.message=j(o)||function(n,s){if(void 0===s&&(s=v),!e(n))return"";var o=t(n);return o&&r(o)&&p(o,s)||n}(o,a.messageField)}return i}(m.failed||f.failed,l,h)),{status:n.status,headers:Object.fromEntries(Object.entries(n.headers||{}).map(function(e){var t=e[1];return[e[0].toLowerCase(),t]}))});return null==(i=o.get("responseHandler"))||i(d({},y),n.method,s),O(y,y.ok?y.message:n.method+" "+s+" ["+(y.code||n.statusText)+"] "+(y.message||n.statusText),n.method,s,o,a)}function O(e,t,r,n,s,o){var a=s.get("message"),i=!1!==a&&!1!==(null==o?void 0:o.message)&&((null==o?void 0:o.message)||a);return!1!==i&&s.showMessage(!e.ok,"function"==typeof i?i(e,r,n,t):t),e}var E=/*#__PURE__*/function(){function e(e){this.config={baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}},e&&this.set(e)}var t=e.prototype;return t.set=function(e){if(e.baseURL&&!/^\/.+/.test(e.baseURL)&&!o(e.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,e)},t.get=function(e){return this.config[e]},t.getFullUrl=function(e){return e.startsWith("/")?a(e):a(e,this.config.baseURL)},t.showMessage=function(e,t){this.config.messageHandler&&t&&this.config.messageHandler(e,t)},e}(),R=function(e,t,r){try{return Promise.resolve(f(e,t,r)).then(function(e){var t=d({},e,{onUploadProgress:null==r?void 0:r.onUploadProgress}),s=t.method,o=t.onUploadProgress||n,a=i(t.url,t.params);return Promise.resolve(new Promise(function(e){var r=1,n=0,i=new XMLHttpRequest;i.open(s,a,!0),i.upload.addEventListener("progress",function(e){r=e.total,o({total:e.total,loaded:e.loaded})}),i.addEventListener("load",function(){n&&clearTimeout(n),o({loaded:r,total:r}),e({url:a,method:s,status:i.status,statusText:i.statusText,headers:k(i),body:"HEAD"===s?"":i.responseText})}),i.addEventListener("error",function(){n&&clearTimeout(n),e({url:a,method:s,status:-2,statusText:"Failed",body:""})}),i.addEventListener("abort",function(){n&&clearTimeout(n),e({url:a,method:s,status:-3,statusText:"Aborted",body:""})}),Object.entries(t.headers).forEach(function(e){i.setRequestHeader(e[0],e[1])}),"include"===t.credentials&&(i.withCredentials=!0),i.send(t.body||void 0),t.timeout>0&&(n=setTimeout(function(){i.abort()},t.timeout))}))})}catch(e){return Promise.reject(e)}};function k(e){var t={};if(!e)return t;var r=e.getAllResponseHeaders();return r&&"null"!==r&&r.replace(/\r/g,"").split("\n").forEach(function(e){var r=e.trim();if(r){var n=r.split(":"),s=n[0].trim();s&&(t[s]=(n[1]||"").trim())}}),t}var H=function(e,t,r){try{return Promise.resolve(T(m,e,t,r)).then(function(n){return x(n,e,t,r)})}catch(e){return Promise.reject(e)}},L=function(e,t,r){try{return Promise.resolve(T(R,e,t,r)).then(function(n){return x(n,e,t,r)})}catch(e){return Promise.reject(e)}},A=/*#__PURE__*/function(){function e(e){void 0===e&&(e=500),this.ttl=void 0,this.cache=void 0,this.cache={},this.ttl=Math.max(e,0)}var t=e.prototype;return t.getKey=function(e,t){return e+Object.keys(t||{}).sort().map(function(e){return e+"#"+(null==t?void 0:t[e])}).join(",")},t.updateTTL=function(e){this.ttl=Math.max(e,0)},t.get=function(e){if(0===this.ttl)return null;var t=this.cache[e];return t?t.ttl<Date.now()?(delete this.cache[e],null):t.res:null},t.set=function(e,t){0!==this.ttl&&(this.cache[e]={ttl:Date.now()+this.ttl,res:t})},e}(),C=/*#__PURE__*/function(){function e(e,t){this.agent=void 0,this.config=void 0,this.cache=void 0,this.config=new E(t),this.agent=e,this.cache=new A(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}var t=e.prototype;return t.exec=function(e,t){try{return Promise.resolve(this.agent(e,this.config,t))}catch(e){return Promise.reject(e)}},t.guard=function(e,t,r){try{return Promise.resolve(function(e,t,r,n){if(t.ok&&!u(t.data)&&n){var s=c(n,"响应数据未能正确识别");return s.guard(t.data)||(console.error("ResponseCheckFaild",e,t.data),r.showMessage(!0,e+" "+s.message),t.data=null),t}return t}(e,t,this.config,r))}catch(e){return Promise.reject(e)}},t.setConfig=function(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))},t.getConfig=function(e){return this.config.get(e)},t.head=function(e,t){try{var r=this,n=Object.assign({},t||null);n.method="HEAD";var s=r.guard;return Promise.resolve(r.exec(e,n)).then(function(t){return s.call(r,e,t,null)})}catch(e){return Promise.reject(e)}},t.get=function(e,t,r){try{var n,s=function(r){if(n)return r;var s=o.exec(e,a);o.cache.set(i,s);var u=o.guard;return Promise.resolve(s).then(function(r){return u.call(o,e,r,t||null)})},o=this,a=Object.assign({},r||null);a.method="GET";var i=o.cache.getKey(e,a.params),u=o.cache.get(i),c=function(){if(u){var r=o.guard;return Promise.resolve(u).then(function(s){var a=r.call(o,e,s,t||null);return n=1,a})}}();return Promise.resolve(c&&c.then?c.then(s):s(c))}catch(e){return Promise.reject(e)}},t.post=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="POST",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},t.del=function(e,t,r){try{var n=this,s=Object.assign({},r||null);s.method="DELETE";var o=n.guard;return Promise.resolve(n.exec(e,s)).then(function(r){return o.call(n,e,r,t||null)})}catch(e){return Promise.reject(e)}},t.put=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PUT",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},t.patch=function(e,t,r,n){try{var s=this,o=Object.assign({},n||null);o.method="PATCH",o.body=t;var a=s.guard;return Promise.resolve(s.exec(e,o)).then(function(t){return a.call(s,e,t,r||null)})}catch(e){return Promise.reject(e)}},e}(),F=function(e,t,r){void 0===r&&(r={});try{var n=window;return"var"in r||(r.var="jsonxData"+Math.random().toString(16).slice(2)),Promise.resolve(e?l(i(e,r,!0)).then(function(){var s=n[r.var+""];return t(s)?s:(console.warn("response type check faild",e,s),null)}).catch(function(){return null}):null)}catch(e){return Promise.reject(e)}},S=function(e,t,r){void 0===r&&(r={});try{var n=window;"callback"in r||(r.callback="jsonxData"+Math.random().toString(16).slice(2));var s=r.callback+"";if(!e)return Promise.resolve(null);var o=i(e,r,!0);return Promise.resolve(new Promise(function(r){n[s]=function(o){if(s in window&&delete n[s],t(o))return o;console.warn("response type check faild",e,o),r(null)},l(o).catch(function(){r(null),delete n[s]})}))}catch(e){return Promise.reject(e)}},U=function(e,t,r){try{return Promise.resolve(function(e,t,r,n){try{var s=new FormData,o=null==r?void 0:r.body,a=d({},t);for(var i in o instanceof Object&&Object.entries(o).forEach(function(e){var t=e[0],r=e[1];r instanceof Blob?a[t]=r:Array.isArray(r)?r.forEach(function(e,r){s.append(t+"["+r+"]",String(e))}):s.append(t,String(r))}),a)s.append(i,a[i]);var u=new E(n);return Promise.resolve(R(e,u,d({},r,{method:"POST",body:s}))).then(function(t){return x(t,e,u,r)})}catch(e){return Promise.reject(e)}}(e,t,r,{baseURL:D.getConfig("baseURL"),logHandler:D.getConfig("logHandler"),errorHandler:D.getConfig("errorHandler"),requestHandler:D.getConfig("requestHandler"),messageHandler:D.getConfig("messageHandler"),responseHandler:D.getConfig("responseHandler")}))}catch(e){return Promise.reject(e)}};function M(e){return"fetch"in window?new C(H,e):new C(L,e)}var D=M(),q=D.setConfig,I=D.head,B=D.get,G=D.post,K=D.del,N=D.put,J=D.patch;export{M as NetRequest,K as del,B as get,y as getResponseRulesDescription,I as head,S as jsonp,F as jsonx,J as patch,G as post,N as put,q as setGlobalConfig,U as upload};
|
|
1
|
+
import{isJsonLike as e,parseJSON as t,isStringRecord as r,noop as n,sleep as o,isFullURL as s,getFullURL as a,addParamsToString as i,isEmpty as u,getTypeGuard as c,loadJS as l}from"@seayoo-web/utils";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},d.apply(this,arguments)}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var f=function(e,t,r){try{var n=Object.assign({method:"GET"},r),o=n.body instanceof FormData,s=o?"POST":n.method;"GET"!==s&&"HEAD"!==s&&"DELETE"!==s||void 0!==n.body&&(console.warn("request body is invalid with method get, head, delete"),delete n.body);var a=Object.assign(o?{}:{"Content-Type":"application/json;charset=utf-8"},n.headers),i=n.params||{},u={};Object.keys(i).forEach(function(e){var t;void 0!==i[e]&&(u[e]="string"==typeof(t=i[e])?t:Array.isArray(t)?t.join(","):t+"")});var c=t.getFullUrl(e),l=function(e){if(e)return e instanceof Blob||e instanceof ArrayBuffer||e instanceof FormData||e instanceof URLSearchParams||"string"==typeof e?e:JSON.stringify(e)}(n.body),d=n.timeout||t.get("timeout");return Promise.resolve(function(r){try{var n=function(n){var o;return r?n:Promise.resolve(null==(o=t.get("requestHandler"))?void 0:o(a,u,s,e))},o=t.get("requestTransformer"),i=function(){if(o)return Promise.resolve(o({headers:a,params:u,method:s,url:c,body:l})).then(function(e){return r=1,e})}();return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(e){return Promise.reject(e)}}()).then(function(e){var r,o="string"==typeof e&&e?e:c;return null==(r=t.get("logHandler"))||r({type:"ready",url:o,method:s,headers:a,timeout:d,body:l}),{url:o,method:s,body:l,params:u,headers:a,timeout:d,credentials:n.credentials||t.get("credentials")}})}catch(e){return Promise.reject(e)}},m=function(e,t,r){try{return Promise.resolve(f(e,t,r)).then(function(e){var t=new URL(e.url),r=e.params;r instanceof Object&&Object.keys(r).forEach(function(e){return t.searchParams.set(e,r[e])});var n=new AbortController,o=e.timeout>0?setTimeout(function(){return n.abort()},e.timeout):null,s=new Request(t,{method:e.method,headers:new Headers(e.headers),body:e.body,credentials:e.credentials,signal:e.timeout>0?n.signal:null,redirect:"follow"});return Promise.resolve(fetch(s).then(function(r){try{var n=function(e){return{url:u,method:i,status:a,statusText:s,headers:o,body:e}},o=Object.fromEntries(r.headers.entries()),s=r.statusText,a=r.status,i=e.method,u=t.toString();return Promise.resolve("HEAD"===e.method?n(""):Promise.resolve(r.text()).then(n))}catch(e){return Promise.reject(e)}}).catch(function(r){return{url:t.toString(),method:e.method,status:-1,statusText:"NetworkError",body:String(r)}}).finally(function(){null!==o&&clearTimeout(o)}))})}catch(e){return Promise.reject(e)}},g="data",v="message",y=function(e){var t=[],r=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),r.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(r.messageField||v)+" 作为错误消息")}var n=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),n.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(n.dataField||g)+" 作为响应数据,读取 "+(n.messageField||v)+" 作为提示消息"),n.statusField&&t.push(" 当 "+n.statusField+" 为 "+(n.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),n.ignoreMessage&&t.push(" 并忽略以下消息:"+n.ignoreMessage)}return t.join("\n")};function p(e,t){for(var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}(e))){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Array.isArray(t)?t:[t]);!(r=n()).done;){var o=r.value;if(o in e)return(s=e[o])?"string"==typeof s?s:JSON.stringify(s):""}var s;return""}var b=/<title>([^<]+)<\/title>/i,P=/<message>([^<]+)<\/message>/i;function j(e){var t=e.match(b);if(t)return t[1];var r=e.match(P);return r?r[1]:""}function w(e){return e>=200&&e<400}var T=function e(t,r,s,a,i){try{var u,c,l,d=i||0,h=Math.max(0,Math.min(10,null!=(u=null!=(c=null==a?void 0:a.maxRetry)?c:s.get("maxRetry"))?u:0)),f=null!=(l=null==a?void 0:a.retryResolve)?l:s.get("retryResolve"),m=s.get("logHandler")||n;m({type:"prepear",url:r,method:(null==a?void 0:a.method)||"GET",retry:d,maxRetry:h,message:0===d?"start":"retry "+d+"/"+h+" start",headers:null==a?void 0:a.headers,options:a});var g=Date.now();return Promise.resolve(t(r,s,a)).then(function(n){var i,u,c=n.status,l=Date.now()-g,v="[cost "+l+"]["+c+"] "+(c<0?n.body:"");m({type:"finished",url:r,method:n.method,retry:d,maxRetry:h,message:0===d?"finish "+v:"retry "+d+"/"+h+" finish "+v,response:n,headers:n.headers,cost:l});var y=w(c);if(!h||"network"===f&&c>0||"status"===f&&y||d>=h)return n;var p=null!=(i=null!=(u=null==a?void 0:a.retryInterval)?u:s.get("retryInterval"))?i:0;return Promise.resolve(o(Math.max(100,"function"==typeof p?p(d+1)||0:p))).then(function(){return Promise.resolve(e(t,r,s,a,d+1))})})}catch(e){return Promise.reject(e)}};function x(n,o,s,a){var i,u;if(n.status<0)return O({ok:!1,status:n.status,code:n.statusText,headers:{},message:"",data:null},n.method+" "+o+" "+n.statusText,n.method,o,s,a);w(n.status)||null==(u=s.get("errorHandler"))||u(n.status,n.method,o);var c,l,h,f,m,y=d({},(c=n.status,l=n.statusText,h=n.body,f=s.get("responseRule"),m=(null==a?void 0:a.responseRule)||f,w(c)?function(n,o,s,a){var i=n||{resolve:"body"},u={ok:!0,code:s,message:"",data:null};if(202===o||204===o||!a)return u;if("body"===i.resolve)return u.data=e(a)?t(a):a,u;var c=t(a);if(!c||!r(c))return u.ok=!1,u.code="ResponseFormatError",u.message="响应内容无法格式化为 Object",u;var l=i.statusField,d=i.statusOKValue||"",h=i.dataField||g,f=i.messageField||v,m=i.ignoreMessage||"";if(l&&!(l in c))return u.ok=!1,u.code="ResponseFieldMissing",u.message="响应内容找不到状态字段 "+l,u;var y=l?c[l]+"":"";return u.ok=!l||y===d,u.code=y||s,u.data=h in c?c[h]:null,u.message=p(c,f),m&&u.message&&(Array.isArray(m)&&m.includes(u.message)||"string"==typeof m&&u.message===m)&&(u.message=""),u}(m.ok||f.ok,c,l,h):function(n,o,s){var a=n||{resolve:"json",messageField:v},i={ok:!1,code:o,message:s,data:null};switch(a.resolve){case"body":i.message=j(s)||s;break;case"json":i.message=j(s)||function(n,o){if(void 0===o&&(o=v),!e(n))return"";var s=t(n);return s&&r(s)&&p(s,o)||n}(s,a.messageField)}return i}(m.failed||f.failed,l,h)),{status:n.status,headers:Object.fromEntries(Object.entries(n.headers||{}).map(function(e){var t=e[1];return[e[0].toLowerCase(),t]}))});return null==(i=s.get("responseHandler"))||i(d({},y),n.method,o),O(y,y.ok?y.message:n.method+" "+o+" ["+(y.code||n.statusText)+"] "+(y.message||n.statusText),n.method,o,s,a)}function O(e,t,r,n,o,s){var a=o.get("message"),i=!1!==a&&!1!==(null==s?void 0:s.message)&&((null==s?void 0:s.message)||a);return!1!==i&&o.showMessage(!e.ok,"function"==typeof i?i(e,r,n,t):t),e}var E=/*#__PURE__*/function(){function e(e){this.config={baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}},e&&this.set(e)}var t=e.prototype;return t.set=function(e){if(e.baseURL&&!/^\/.+/.test(e.baseURL)&&!s(e.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,e)},t.get=function(e){return this.config[e]},t.getFullUrl=function(e){return e.startsWith("/")?a(e):a(e,this.config.baseURL)},t.showMessage=function(e,t){this.config.messageHandler&&t&&this.config.messageHandler(e,t)},e}(),R=function(e,t,r){try{return Promise.resolve(f(e,t,r)).then(function(e){var t=d({},e,{onUploadProgress:null==r?void 0:r.onUploadProgress}),o=t.method,s=t.onUploadProgress||n,a=i(t.url,t.params);return Promise.resolve(new Promise(function(e){var r=1,n=0,i=new XMLHttpRequest;i.open(o,a,!0),i.upload.addEventListener("progress",function(e){r=e.total,s({total:e.total,loaded:e.loaded})}),i.addEventListener("load",function(){n&&clearTimeout(n),s({loaded:r,total:r}),e({url:a,method:o,status:i.status,statusText:i.statusText,headers:k(i),body:"HEAD"===o?"":i.responseText})}),i.addEventListener("error",function(){n&&clearTimeout(n),e({url:a,method:o,status:-2,statusText:"Failed",body:""})}),i.addEventListener("abort",function(){n&&clearTimeout(n),e({url:a,method:o,status:-3,statusText:"Aborted",body:""})}),Object.entries(t.headers).forEach(function(e){i.setRequestHeader(e[0],e[1])}),"include"===t.credentials&&(i.withCredentials=!0),i.send(t.body||void 0),t.timeout>0&&(n=setTimeout(function(){i.abort()},t.timeout))}))})}catch(e){return Promise.reject(e)}};function k(e){var t={};if(!e)return t;var r=e.getAllResponseHeaders();return r&&"null"!==r&&r.replace(/\r/g,"").split("\n").forEach(function(e){var r=e.trim();if(r){var n=r.split(":"),o=n[0].trim();o&&(t[o]=(n[1]||"").trim())}}),t}var H=function(e,t,r){try{return Promise.resolve(T(m,e,t,r)).then(function(n){return x(n,e,t,r)})}catch(e){return Promise.reject(e)}},L=function(e,t,r){try{return Promise.resolve(T(R,e,t,r)).then(function(n){return x(n,e,t,r)})}catch(e){return Promise.reject(e)}},A=/*#__PURE__*/function(){function e(e){void 0===e&&(e=500),this.ttl=void 0,this.cache=void 0,this.cache={},this.ttl=Math.max(e,0)}var t=e.prototype;return t.getKey=function(e,t){return e+Object.keys(t||{}).sort().map(function(e){return e+"#"+(null==t?void 0:t[e])}).join(",")},t.updateTTL=function(e){this.ttl=Math.max(e,0)},t.get=function(e){if(0===this.ttl)return null;var t=this.cache[e];return t?t.ttl<Date.now()?(delete this.cache[e],null):t.res:null},t.set=function(e,t){0!==this.ttl&&(this.cache[e]={ttl:Date.now()+this.ttl,res:t})},e}(),C=/*#__PURE__*/function(){function e(e,t){this.agent=void 0,this.config=void 0,this.cache=void 0,this.config=new E(t),this.agent=e,this.cache=new A(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}var t=e.prototype;return t.exec=function(e,t){try{return Promise.resolve(this.agent(e,this.config,t))}catch(e){return Promise.reject(e)}},t.guard=function(e,t,r){try{return Promise.resolve(function(e,t,r,n){if(t.ok&&!u(t.data)&&n){var o=c(n,"响应数据未能正确识别");return o.guard(t.data)||(console.error("ResponseCheckFaild",e,t.data),r.showMessage(!0,e+" "+o.message),t.data=null),t}return t}(e,t,this.config,r))}catch(e){return Promise.reject(e)}},t.setConfig=function(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))},t.getConfig=function(e){return this.config.get(e)},t.head=function(e,t){try{var r=this,n=Object.assign({},t||null);n.method="HEAD";var o=r.guard;return Promise.resolve(r.exec(e,n)).then(function(t){return o.call(r,e,t,null)})}catch(e){return Promise.reject(e)}},t.get=function(e,t,r){try{var n,o=function(r){if(n)return r;var o=s.exec(e,a);s.cache.set(i,o);var u=s.guard;return Promise.resolve(o).then(function(r){return u.call(s,e,r,t||null)})},s=this,a=Object.assign({},r||null);a.method="GET";var i=s.cache.getKey(e,a.params),u=s.cache.get(i),c=function(){if(u){var r=s.guard;return Promise.resolve(u).then(function(o){var a=r.call(s,e,o,t||null);return n=1,a})}}();return Promise.resolve(c&&c.then?c.then(o):o(c))}catch(e){return Promise.reject(e)}},t.post=function(e,t,r,n){try{var o=this,s=Object.assign({},n||null);s.method="POST",s.body=t;var a=o.guard;return Promise.resolve(o.exec(e,s)).then(function(t){return a.call(o,e,t,r||null)})}catch(e){return Promise.reject(e)}},t.del=function(e,t,r){try{var n=this,o=Object.assign({},r||null);o.method="DELETE";var s=n.guard;return Promise.resolve(n.exec(e,o)).then(function(r){return s.call(n,e,r,t||null)})}catch(e){return Promise.reject(e)}},t.put=function(e,t,r,n){try{var o=this,s=Object.assign({},n||null);s.method="PUT",s.body=t;var a=o.guard;return Promise.resolve(o.exec(e,s)).then(function(t){return a.call(o,e,t,r||null)})}catch(e){return Promise.reject(e)}},t.patch=function(e,t,r,n){try{var o=this,s=Object.assign({},n||null);s.method="PATCH",s.body=t;var a=o.guard;return Promise.resolve(o.exec(e,s)).then(function(t){return a.call(o,e,t,r||null)})}catch(e){return Promise.reject(e)}},e}(),F=function(e,t,r){void 0===r&&(r={});try{var n=window;return"var"in r||(r.var="jsonxData"+Math.random().toString(16).slice(2)),Promise.resolve(e?l(i(e,r,!0)).then(function(){var o=n[r.var+""];return t(o)?o:(console.warn("response type check faild",e,o),null)}).catch(function(){return null}):null)}catch(e){return Promise.reject(e)}},S=function(e,t,r){void 0===r&&(r={});try{var n=window;"callback"in r||(r.callback="jsonxData"+Math.random().toString(16).slice(2));var o=r.callback+"";if(!e)return Promise.resolve(null);var s=i(e,r,!0);return Promise.resolve(new Promise(function(r){n[o]=function(s){if(o in window&&delete n[o],t(s))return s;console.warn("response type check faild",e,s),r(null)},l(s).catch(function(){r(null),delete n[o]})}))}catch(e){return Promise.reject(e)}},U=function(e,t,r){try{return Promise.resolve(function(e,t,r,n){try{var o=new FormData,s=null==r?void 0:r.body,a=d({},t);for(var i in s instanceof Object&&Object.entries(s).forEach(function(e){var t=e[0],r=e[1];r instanceof Blob?a[t]=r:Array.isArray(r)?r.forEach(function(e,r){o.append(t+"["+r+"]",String(e))}):o.append(t,String(r))}),a)o.append(i,a[i]);var u=new E(n);return Promise.resolve(R(e,u,d({},r,{method:"POST",body:o}))).then(function(t){return x(t,e,u,r)})}catch(e){return Promise.reject(e)}}(e,t,r,{baseURL:D.getConfig("baseURL"),logHandler:D.getConfig("logHandler"),errorHandler:D.getConfig("errorHandler"),requestHandler:D.getConfig("requestHandler"),messageHandler:D.getConfig("messageHandler"),responseHandler:D.getConfig("responseHandler")}))}catch(e){return Promise.reject(e)}};function M(e){if("window"in globalThis)return"fetch"in window?new C(H,e):new C(L,e);throw new Error("Default Module Only Support In Brower")}var D=M(),q=D.setConfig,I=D.head,B=D.get,G=D.post,K=D.del,N=D.put,J=D.patch;export{M as NetRequest,K as del,B as get,y as getResponseRulesDescription,I as head,S as jsonp,F as jsonx,J as patch,G as post,N as put,q as setGlobalConfig,U as upload};
|
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seayoo-web/request",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "requst tools for seayoo web",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/index.cjs",
|
|
7
|
-
"module": "dist/index.js",
|
|
8
|
-
"source": "src/index.ts",
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"source": "./src/index.ts",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
|
-
"
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
14
|
"require": "./dist/index.cjs"
|
|
15
15
|
},
|
|
16
16
|
"./node": {
|
|
17
17
|
"types": "./dist/node.d.ts",
|
|
18
|
-
"
|
|
18
|
+
"import": "./dist/node.js",
|
|
19
19
|
"require": "./dist/node.cjs"
|
|
20
20
|
},
|
|
21
21
|
"./wx": {
|
|
22
22
|
"types": "./dist/wx.d.ts",
|
|
23
|
-
"
|
|
23
|
+
"import": "./dist/wx.js",
|
|
24
24
|
"require": "./dist/wx.cjs"
|
|
25
25
|
}
|
|
26
26
|
},
|