wx-request-plus
Version:
增强型微信小程序请求库,支持错误处理、Promise、缓存、弱网处理、请求队列等功能
12 lines (10 loc) • 28 kB
JavaScript
;var C=(n,u)=>()=>(u||n((u={exports:{}}).exports,u),u.exports);var j=C(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0}),Object.defineProperty(L,"ErrorType",{enumerable:!0,get:function(){return be}});var w,be=((w={}).TIMEOUT="TIMEOUT",w.NETWORK="NETWORK",w.CANCEL="CANCEL",w.SERVER="SERVER",w.CLIENT="CLIENT",w.OFFLINE="OFFLINE",w.UNKNOWN="UNKNOWN",w)});var Y=C(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0}),Object.defineProperty(W,"default",{enumerable:!0,get:function(){return ge}});var ge=function(){"use strict";function n(){this.handlers=[]}var u=n.prototype;return u.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},u.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},u.forEach=function(e){this.handlers.forEach(function(t){t!==null&&e(t)})},n}()});var ee=C(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),Object.defineProperty(_,"default",{enumerable:!0,get:function(){return Ee}});var S,me=(S=require("lru-cache"))&&S.__esModule?S:{default:S};function Z(n,u,e,t,r,s,i){try{var a=n[s](i),o=a.value}catch(l){e(l);return}a.done?u(o):Promise.resolve(o).then(t,r)}function P(n){return function(){var u=this,e=arguments;return new Promise(function(t,r){var s=n.apply(u,e);function i(o){Z(s,t,r,i,a,"next",o)}function a(o){Z(s,t,r,i,a,"throw",o)}i(void 0)})}}function k(n,u){var e,t,r,s,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(o){return function(l){var c=[o,l];if(e)throw TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(r=2&c[0]?t.return:c[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,c[1])).done)return r;switch(t=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,t=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){i.label=c[1];break}if(c[0]===6&&i.label<r[1]){i.label=r[1],r=c;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(c);break}r[2]&&i.ops.pop(),i.trys.pop();continue}c=u.call(n,i)}catch(E){c=[6,E],t=0}finally{e=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var Ee=function(){"use strict";function n(e){e===void 0&&(e={}),this.cache=new me.default({max:e.maxSize||100,ttl:e.maxAge||3e5,allowStale:!1,updateAgeOnGet:!0,updateAgeOnHas:!1})}var u=n.prototype;return u.get=function(e){var t=this;return P(function(){var r;return k(this,function(s){return(r=t.cache.get(e))&&(r.fromCache=!0),[2,r]})})()},u.set=function(e,t,r){var s=this;return P(function(){return k(this,function(i){return t.timestamp=Date.now(),s.cache.set(e,t,{ttl:r||void 0}),[2]})})()},u.delete=function(e){var t=this;return P(function(){return k(this,function(r){return t.cache.delete(e),[2]})})()},u.clear=function(){var e=this;return P(function(){return k(this,function(t){return e.cache.clear(),[2]})})()},n}()});var N=C(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});var qe=K,te={buildURL:function(){return we},combineURLs:function(){return se},createError:function(){return Re},debounce:function(){return Ae},deepMerge:function(){return function n(){for(var u=arguments.length,e=Array(u),t=0;t<u;t++)e[t]=arguments[t];var r={};return e.forEach(function(s){s&&Object.keys(s).forEach(function(i){var a=s[i];(a===void 0?"undefined":O(a))!=="object"||a===null||Array.isArray(a)?r[i]=a:O(r[i])==="object"&&r[i]!==null?r[i]=n(r[i],a):r[i]=n({},a)})}),r}},delay:function(){return Te},generateCacheKey:function(){return Ce},generateRandomId:function(){return Qe},get:function(){return Ue},getNetworkStatus:function(){return xe},getPriority:function(){return Se},getValueByPath:function(){return Ie},isAbsoluteURL:function(){return ie},isJSONData:function(){return Me},isNetworkError:function(){return Oe},normalizeHeaderName:function(){return Pe},parseHeaders:function(){return ke},serializeParams:function(){return oe},sha256:function(){return ae},shouldCache:function(){return Ne},sortObjectKeys:function(){return M},throttle:function(){return je}};for(D in te)Object.defineProperty(qe,D,{enumerable:!0,get:te[D]});var D,ne=j();function re(n,u){(u==null||u>n.length)&&(u=n.length);for(var e=0,t=Array(u);e<u;e++)t[e]=n[e];return t}function O(n){return n&&typeof Symbol<"u"&&n.constructor===Symbol?"symbol":typeof n}function ue(n,u){var e=typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(e)return(e=e.call(n)).next.bind(e);if(Array.isArray(n)||(e=function(r,s){if(r){if(typeof r=="string")return re(r,void 0);var i=Object.prototype.toString.call(r).slice(8,-1);if(i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set")return Array.from(i);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return re(r,void 0)}}(n))||u&&n&&typeof n.length=="number"){e&&(n=e);var t=0;return function(){return t>=n.length?{done:!0}:{done:!1,value:n[t++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function we(n,u,e){var t="";if(t=u&&!ie(n)?se(u,n):n,e&&Object.keys(e).length>0){var r=t.split("#"),s=oe(e),i=r[0].indexOf("?")===-1?"?":"&";r[0]+=i+s,t=r.join("#")}return t}function ie(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function se(n,u){return u?n.replace(/\/+$/,"")+"/"+u.replace(/^\/+/,""):n}function oe(n){var u=[];return Object.keys(n).forEach(function(e){var t=n[e];t!=null&&(Array.isArray(t)?t.forEach(function(r){u.push(encodeURIComponent(e)+"="+encodeURIComponent(r))}):u.push(encodeURIComponent(e)+"="+encodeURIComponent(t)))}),u.join("&")}function Ce(n){var u=n.url,e=n.method,t=n.params,r=n.data;if(n.cacheKey)return n.cacheKey;var s=(e===void 0?"GET":e)+":"+(u===void 0?"":u);if(t&&Object.keys(t).length>0&&(s+=":params:"+JSON.stringify(M(t))),r!==void 0)try{(r===void 0?"undefined":O(r))==="object"&&r!==null?s+=":data:"+JSON.stringify(M(r)):s+=":data:"+String(r)}catch{s+=":data:"+String(r)}return ae(s)}function M(n){if(!n||(n===void 0?"undefined":O(n))!=="object"||Array.isArray(n))return n;var u={};return Object.keys(n).sort().forEach(function(e){u[e]=M(n[e])}),u}function Re(n,u,e,t,r,s){s===void 0&&(s=ne.ErrorType.UNKNOWN);var i=Error(n);return i.config=u,i.status=e,i.data=t,i.headers=r,i.type=s,i}function Te(n){return new Promise(function(u){return setTimeout(u,n)})}function Oe(n){return!n.status&&n.type===ne.ErrorType.NETWORK}function xe(){return new Promise(function(n){wx.getNetworkType({success:function(u){var e=u.networkType,t=e!=="none";n({isConnected:t,networkType:e,signalStrength:t?e==="wifi"?90:70:0})},fail:function(){n({isConnected:!0,networkType:"unknown"})}})})}function Ae(n,u){var e=null;return function(){for(var t=arguments.length,r=Array(t),s=0;s<t;s++)r[s]=arguments[s];var i=this;e&&clearTimeout(e),e=setTimeout(function(){n.apply(i,r)},u)}}function je(n,u){var e=!1;return function(){for(var t=arguments.length,r=Array(t),s=0;s<t;s++)r[s]=arguments[s];e||(n.apply(this,r),e=!0,setTimeout(function(){e=!1},u))}}function Ne(n){var u=(n.method||"GET").toUpperCase(),e=n.cache;return e!==!1&&e!=="no-cache"&&u==="GET"&&(e===!0||e==="force-cache"||e==="only-if-cached")}function Se(n){return n.priority||5}function Pe(n,u){n&&Object.keys(n).forEach(function(e){e!==u&&e.toUpperCase()===u.toUpperCase()&&(n[u]=n[e],delete n[e])})}function ke(n){var u,e,t,r={};return n&&n.split(`
`).forEach(function(s){(t=s.indexOf(":"))!==-1&&(u=s.substring(0,t).trim().toLowerCase(),e=s.substring(t+1).trim(),u&&(r[u]=r[u]?r[u]+", "+e:e))}),r}function Me(n){return Object.prototype.toString.call(n)==="[object Object]"||Array.isArray(n)}function Qe(){return Math.random().toString(36).substring(2,15)}function Ue(n,u,e){if(e===void 0&&(e=void 0),!n||!u)return e;for(var t,r=u.split("."),s=n,i=ue(r);!(t=i()).done;){var a=t.value;if(s==null||(s===void 0?"undefined":O(s))!=="object")return e;s=s[a]}return s===void 0?e:s}function Ie(n,u,e){if(e===void 0&&(e=void 0),!n||!u)return e;for(var t,r=u.split("."),s=n,i=ue(r);!(t=i()).done;){var a=t.value;if(s==null||(s===void 0?"undefined":O(s))!=="object")return e;s=s[a]}return s===void 0?e:s}function ae(n){var u=0;if(n.length===0)return u.toString(36);for(var e=0;e<n.length;e++)u=(u<<5)-u+n.charCodeAt(e),u&=u;return Math.abs(u).toString(36).padStart(8,"0")}});var ce=C(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0}),Object.defineProperty(z,"default",{enumerable:!0,get:function(){return Le}});var y=j(),x=N(),Le=function(n){return new Promise(function(u,e){var t=n.url,r=n.data,s=n.headers,i=n.method,a=n.timeout,o=n.responseType,l=n.enableHttp2,c=n.enableQuic,E=n.enableCache,q=n.enableVerify;if(!t){e((0,x.createError)("\u8BF7\u6C42URL\u4E0D\u80FD\u4E3A\u7A7A",n,void 0,void 0,void 0,y.ErrorType.CLIENT));return}var h={url:t,data:r,header:s===void 0?{}:s,method:i===void 0?"GET":i,timeout:a,enableHttp2:l,enableQuic:c,enableCache:E,success:function(f){var p={data:f.data,status:f.statusCode,statusText:f.errMsg||"",headers:f.header||{},config:n,request:d,timestamp:Date.now()};if((n.validateStatus||function(v){return v>=200&&v<300})(f.statusCode)){if(n.transformResponse)try{p.data=n.transformResponse(p.data,p)}catch(v){e((0,x.createError)("\u8F6C\u6362\u54CD\u5E94\u6570\u636E\u5931\u8D25: "+v.message,n,f.statusCode,f.data,f.header,y.ErrorType.CLIENT));return}n.onDone&&n.onDone(p),u(p)}else e((0,x.createError)("\u8BF7\u6C42\u5931\u8D25\uFF0C\u72B6\u6001\u7801: "+f.statusCode,n,f.statusCode,f.data,f.header,f.statusCode>=500?y.ErrorType.SERVER:y.ErrorType.CLIENT))},fail:function(f){var p=y.ErrorType.UNKNOWN,v=f.errMsg||"\u8BF7\u6C42\u5931\u8D25";f.errMsg&&(f.errMsg.includes("timeout")?(p=y.ErrorType.TIMEOUT,v="\u8BF7\u6C42\u8D85\u65F6"):f.errMsg.includes("abort")?(p=y.ErrorType.CANCEL,v="\u8BF7\u6C42\u5DF2\u53D6\u6D88"):f.errMsg.includes("fail")&&(f.errMsg.includes("\u65AD\u5F00")||f.errMsg.includes("disconnect")?(p=y.ErrorType.NETWORK,v="\u7F51\u7EDC\u8FDE\u63A5\u65AD\u5F00"):f.errMsg.includes("\u8D85\u65F6")||f.errMsg.includes("timeout")?(p=y.ErrorType.TIMEOUT,v="\u8BF7\u6C42\u8D85\u65F6"):f.errMsg.includes("\u627E\u4E0D\u5230")||f.errMsg.includes("not found")?(p=y.ErrorType.CLIENT,v="\u672A\u627E\u5230\u8BF7\u6C42\u5730\u5740"):(p=y.ErrorType.NETWORK,v="\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")));var X=(0,x.createError)(v,n,0,void 0,void 0,p);X.originalError=f,e(X)}};q!==void 0&&(h.sslVerify=q),o&&(h.responseType=o);var d=null;try{d=wx.request(h)}catch(f){var A=(0,x.createError)("\u521B\u5EFA\u8BF7\u6C42\u5931\u8D25: "+f.message,n,0,void 0,void 0,y.ErrorType.CLIENT);A.originalError=f,e(A);return}try{n.onDownloadProgress&&d&&(d.onProgressUpdate?d.onProgressUpdate(n.onDownloadProgress):console.warn("\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u4E0B\u8F7D\u8FDB\u5EA6\u76D1\u542C"))}catch(f){console.warn("\u8BBE\u7F6E\u4E0B\u8F7D\u8FDB\u5EA6\u76D1\u542C\u5931\u8D25",f)}try{n.cancelToken&&d&&typeof d.abort=="function"&&n.cancelToken.promise.then(function(f){if(d){try{d.abort()}catch(p){console.warn("\u53D6\u6D88\u8BF7\u6C42\u64CD\u4F5C\u5931\u8D25",p)}e((0,x.createError)(f||"\u8BF7\u6C42\u5DF2\u53D6\u6D88",n,void 0,void 0,void 0,y.ErrorType.CANCEL))}}).catch(function(f){console.error("\u5904\u7406\u53D6\u6D88\u4EE4\u724C\u65F6\u51FA\u9519",f)})}catch(f){console.warn("\u8BBE\u7F6E\u53D6\u6D88\u8BF7\u6C42\u64CD\u4F5C\u5931\u8D25",f)}})}});var fe=C(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0}),Object.defineProperty(G,"default",{enumerable:!0,get:function(){return _e}});var We=N(),_e=function(){"use strict";function n(e){e===void 0&&(e={}),this.queue=[],this.processing=[],this.offlineQueue=[],this.isProcessing=!1,this.isNetworkAvailable=!0,this.maxConcurrent=e.maxConcurrent||10,this.enableOfflineQueue=e.enableOfflineQueue!==!1,this.setupNetworkListener()}var u=n.prototype;return u.enqueue=function(e){if(!this.isNetworkAvailable&&this.enableOfflineQueue){this.offlineQueue.push(e);return}this.queue.push(e),this.sortQueue(),this.isProcessing||this.processQueue()},u.cancel=function(e){var t=this.queue.filter(function(r){return e(r.config)});this.queue=this.queue.filter(function(r){return!e(r.config)}),[].concat(t,this.processing.filter(function(r){return e(r.config)})).forEach(function(r){(r.status==="pending"||r.status==="processing")&&(r.status="failed")})},u.clear=function(){this.queue=[],this.offlineQueue=[]},u.getStatus=function(){return{queueSize:this.queue.length,processingSize:this.processing.length,offlineQueueSize:this.offlineQueue.length,isNetworkAvailable:this.isNetworkAvailable}},u.processQueue=function(){var e=this;if(!this.isProcessing){this.isProcessing=!0;var t=function(){if(e.processing.length>=e.maxConcurrent||e.queue.length===0){e.isProcessing=!1;return}var r=e.queue.shift();if(!r){e.isProcessing=!1;return}e.processItem(r),t()};t()}},u.processItem=function(e){var t=this;e.status="processing",this.processing.push(e),e.execute().then(function(){e.status="completed"}).catch(function(r){e.status="failed",console.error("\u961F\u5217\u9879\u6267\u884C\u5931\u8D25:",r)}).finally(function(){var r=t.processing.indexOf(e);r!==-1&&t.processing.splice(r,1),t.processQueue()})},u.sortQueue=function(){this.queue.sort(function(e,t){var r=t.priority-e.priority;return r!==0?r:e.timestamp-t.timestamp})},u.setupNetworkListener=function(){var e=this;(0,We.getNetworkStatus)().then(function(t){e.handleNetworkChange(t.isConnected)}),wx.onNetworkStatusChange(function(t){e.handleNetworkChange(t.isConnected)})},u.handleNetworkChange=function(e){var t=this;if(this.isNetworkAvailable=e,e&&this.offlineQueue.length>0){var r=[].concat(this.offlineQueue);this.offlineQueue=[],r.forEach(function(s){t.queue.push(s)}),this.sortQueue(),this.processQueue()}},n}()});var de=C(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0}),Object.defineProperty(J,"default",{enumerable:!0,get:function(){return ze}});var F=j(),le=Q(Y()),De=Q(ee()),V=Q(ce()),Ke=Q(fe()),b=N();function he(n,u,e,t,r,s,i){try{var a=n[s](i),o=a.value}catch(l){e(l);return}a.done?u(o):Promise.resolve(o).then(t,r)}function R(n){return function(){var u=this,e=arguments;return new Promise(function(t,r){var s=n.apply(u,e);function i(o){he(s,t,r,i,a,"next",o)}function a(o){he(s,t,r,i,a,"throw",o)}i(void 0)})}}function g(){return(g=Object.assign||function(n){for(var u=1;u<arguments.length;u++){var e=arguments[u];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}return n}).apply(this,arguments)}function Q(n){return n&&n.__esModule?n:{default:n}}function H(n){return n&&typeof Symbol<"u"&&n.constructor===Symbol?"symbol":typeof n}function T(n,u){var e,t,r,s,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(o){return function(l){var c=[o,l];if(e)throw TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(r=2&c[0]?t.return:c[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,c[1])).done)return r;switch(t=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,t=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(r=(r=i.trys).length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){i.label=c[1];break}if(c[0]===6&&i.label<r[1]){i.label=r[1],r=c;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(c);break}r[2]&&i.ops.pop(),i.trys.pop();continue}c=u.call(n,i)}catch(E){c=[6,E],t=0}finally{e=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var ze=function(){"use strict";function n(e){e===void 0&&(e={}),this.defaults=g({baseURL:"",timeout:1e4,headers:{"Content-Type":"application/json"},method:"GET",validateStatus:function(t){return t>=200&&t<300},maxCacheSize:100,maxCacheAge:3e5,retryTimes:3,retryDelay:1e3,enableQueue:!0,maxConcurrent:10,enableOfflineQueue:!0},e),this.cacheAdapter=new De.default({maxSize:this.defaults.maxCacheSize,maxAge:this.defaults.maxCacheAge}),this.requestQueue=new Ke.default({maxConcurrent:this.defaults.maxConcurrent,enableOfflineQueue:this.defaults.enableOfflineQueue}),this.interceptors={request:new le.default,response:new le.default},this.request=this.request.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.put=this.put.bind(this),this.delete=this.delete.bind(this),this.head=this.head.bind(this),this.options=this.options.bind(this),this.clearCache=this.clearCache.bind(this),this.cancelRequests=this.cancelRequests.bind(this),this.getStatus=this.getStatus.bind(this),this.cancelAll=this.cancelAll.bind(this),this.sendRequest=this.sendRequest.bind(this),this.performRequest=this.performRequest.bind(this),this.handleRequestError=this.handleRequestError.bind(this),this.cacheResponse=this.cacheResponse.bind(this),this.refreshCache=this.refreshCache.bind(this),this.enhanceErrorMessage=this.enhanceErrorMessage.bind(this),this.all=this.all.bind(this),this.spread=this.spread.bind(this)}var u=n.prototype;return u.request=function(e,t,r){var s=this;if(!s||!s.defaults){var i=Error(`\u8C03\u7528WxRequest\u65B9\u6CD5\u65F6\u9047\u5230this\u4E0A\u4E0B\u6587\u4E22\u5931\u95EE\u9898\u3002
\u53EF\u80FD\u7684\u539F\u56E0:
1. \u89E3\u6784\u8C03\u7528 - \u4F8B\u5982: const {request} = wxRequest;
2. \u5355\u72EC\u4F20\u9012\u65B9\u6CD5 - \u4F8B\u5982: const req = wxRequest.request;
3. \u5728\u4E8B\u4EF6\u5904\u7406\u51FD\u6570\u4E2D\u8C03\u7528\u6CA1\u6709\u7ED1\u5B9Athis
\u6B63\u786E\u7528\u6CD5:
- wxRequest.request(...) // \u76F4\u63A5\u901A\u8FC7\u5B9E\u4F8B\u8C03\u7528
- const req = wxRequest.request.bind(wxRequest) // \u4F7F\u7528bind\u7ED1\u5B9A
- const req = (...args) => wxRequest.request(...args) // \u4F7F\u7528\u7BAD\u5934\u51FD\u6570`);throw console.error(i),i}try{typeof e=="string"?((o=r||((t===void 0?"undefined":H(t))!=="object"||Array.isArray(t)||(a=Date,a!=null&&typeof Symbol<"u"&&a[Symbol.hasInstance]?!!a[Symbol.hasInstance](t):t instanceof a)?{}:t)).url=e,t?typeof t=="string"?o.method=t:((t===void 0?"undefined":H(t))==="object"||Array.isArray(t))&&(o.data=t,o.method=o.method||"POST"):o.method=o.method||"GET"):o=e,(o=(0,b.deepMerge)(s.defaults,o)).requestAdapter||(o.requestAdapter=V.default),!o.cacheAdapter&&(0,b.shouldCache)(o)&&(o.cacheAdapter=s.cacheAdapter);var a,o,l=[s.sendRequest.bind(s),void 0],c=[];s.interceptors.request.forEach(function(h){c.unshift(h.fulfilled,h.rejected)});var E=[];s.interceptors.response.forEach(function(h){E.push(h.fulfilled,h.rejected)}),l=[].concat(c,l,E);for(var q=Promise.resolve(o);l.length;)q=q.then(l.shift(),l.shift());return q=(q=q.then(function(h){if(o.skipExtract)return h;var d=o.extractField||s.defaults.extractField;if(!d)return h;if(typeof d=="function")return g({},h,{data:d(h.data)});var A=(0,b.getValueByPath)(h.data,d);return A===void 0?(console.warn("\u65E0\u6CD5\u4ECE\u54CD\u5E94\u4E2D\u63D0\u53D6\u5B57\u6BB5: "+d),h):g({},h,{data:A})})).then(function(h){var d;return(o.returnData!==void 0?o.returnData:s.defaults.returnData)&&(d=h.data)!=null?d:h})}catch(h){return console.error("WxRequest.request\u8C03\u7528\u5931\u8D25:",h),Promise.reject(h)}},u.sendRequest=function(e){var t=this;return R(function(){var r,s,i,a;return T(this,function(o){switch(o.label){case 0:if(o.trys.push([0,5,,6]),r=t.prepareFinalConfig(e),!((0,b.shouldCache)(r)&&r.cacheAdapter))return[3,4];s=(0,b.generateCacheKey)(r),r.url,r.cache,r.params,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,r.cacheAdapter.get(s)];case 2:return(i=o.sent())?(r.url,r.cache,i.config=r,r.cache==="only-if-cached"?[2,i]:(r.cache!=="force-cache"&&setTimeout(function(){t.refreshCache(r,s).catch(function(l){console.error("\u540E\u53F0\u5237\u65B0\u7F13\u5B58\u5931\u8D25:",l)})},10),[2,i])):(r.url,r.cache,[3,4]);case 3:return console.error("\u8BFB\u53D6\u7F13\u5B58\u5931\u8D25:",o.sent()),[3,4];case 4:return[2,t.performRequest(r)];case 5:return console.error("WxRequest.sendRequest\u8C03\u7528\u5931\u8D25:",a=o.sent()),[2,Promise.reject(a)];case 6:return[2]}})})()},u.prepareFinalConfig=function(e){var t=(0,b.deepMerge)(this.defaults,e);return t.url&&(t.url=(0,b.buildURL)(t.url,t.baseURL,t.params)),t.requestAdapter||(t.requestAdapter=V.default),!t.cacheAdapter&&(0,b.shouldCache)(t)&&(t.cacheAdapter=this.cacheAdapter),t},u.performRequest=function(e){var t=this;return R(function(){var r;return T(this,function(s){return r=R(function(){var i,a;return T(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,(e.requestAdapter||V.default)(e)];case 1:return i=o.sent(),t.cacheResponse(e,i),[2,i];case 2:return a=o.sent(),[2,t.handleRequestError(a,e)];case 3:return[2]}})}),!t.defaults.enableQueue||e.ignoreQueue?[2,r()]:[2,new Promise(function(i,a){t.requestQueue.enqueue({config:e,execute:R(function(){return T(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,r()];case 1:return i(o.sent()),[3,3];case 2:return a(o.sent()),[3,3];case 3:return[2]}})}),priority:e.priority||5,timestamp:Date.now(),status:"pending"})})]})})()},u.handleRequestError=function(e,t){var r=this;return R(function(){var s,i,a,o;return T(this,function(l){switch(l.label){case 0:if(s=e.retryCount||0,i=typeof t.retry=="number"?t.retry:t.retry===!0&&r.defaults.retryTimes||0,e.type||(e.type=F.ErrorType.UNKNOWN),e.retryCount=s,!(s<i&&(e.type===F.ErrorType.NETWORK||e.type===F.ErrorType.TIMEOUT||e.status&&e.status>=500)))return[3,4];e.retryCount=s+1,a=t.retryDelay||r.defaults.retryDelay||1e3,t.retryIncrementalDelay&&(a*=e.retryCount),e.retryCount,t.url,l.label=1;case 1:return l.trys.push([1,3,,4]),[4,(0,b.delay)(a)];case 2:return l.sent(),[2,r.performRequest(t)];case 3:throw(o=l.sent())&&(o===void 0?"undefined":H(o))==="object"&&(o.retryCount=e.retryCount),o;case 4:throw e.message=r.enhanceErrorMessage(e),e}})})()},u.enhanceErrorMessage=function(e){var t=e.message||"\u672A\u77E5\u9519\u8BEF";if(e.config&&e.config.url){var r=e.config.baseURL||"",s=e.config.url,i=s.startsWith("http")?s:""+r+s;t=t+" ["+(e.config.method||"GET")+" "+i+"]"}return e.type&&(t=t+" (\u7C7B\u578B: "+e.type+")"),e.status&&(t=t+" (\u72B6\u6001\u7801: "+e.status+")"),e.retryCount!==void 0&&e.retryCount>0&&(t=t+" (\u5DF2\u91CD\u8BD5: "+e.retryCount+"\u6B21)"),t},u.cacheResponse=function(e,t){var r=this;return R(function(){var s,i;return T(this,function(a){switch(a.label){case 0:return a.trys.push([0,3,,4]),(0,b.shouldCache)(e)&&e.cacheAdapter&&typeof e.cacheAdapter.set=="function"?(s=(0,b.generateCacheKey)(e),i=e.cacheExpire||r.defaults.maxCacheAge,[4,e.cacheAdapter.set(s,t,i)]):[3,2];case 1:a.sent(),a.label=2;case 2:return[3,4];case 3:return console.error("\u7F13\u5B58\u54CD\u5E94\u5931\u8D25:",a.sent()),[3,4];case 4:return[2]}})})()},u.refreshCache=function(e,t){var r=this;return R(function(){var s,i,a;return T(this,function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),s=g({},e,{cache:!1,ignoreQueue:!0,priority:1}),e.requestAdapter?[4,e.requestAdapter(s)]:[3,4];case 1:return i=o.sent(),e.cacheAdapter?(a=e.cacheExpire||r.defaults.maxCacheAge,[4,e.cacheAdapter.set(t,i,a)]):[3,3];case 2:o.sent(),o.label=3;case 3:return[3,5];case 4:console.warn("\u26A0\uFE0F \u65E0\u6CD5\u5237\u65B0\u7F13\u5B58\uFF1A\u7F3A\u5C11\u8BF7\u6C42\u9002\u914D\u5668"),o.label=5;case 5:return[3,7];case 6:return console.error("\u274C \u5237\u65B0\u7F13\u5B58\u5931\u8D25:",o.sent()),[3,7];case 7:return[2]}})})()},u.get=function(e,t){if(t===void 0&&(t={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.get()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},t,{method:"GET",url:e}))},u.post=function(e,t,r){if(r===void 0&&(r={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.post()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},r,{method:"POST",url:e,data:t}))},u.put=function(e,t,r){if(r===void 0&&(r={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.put()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},r,{method:"PUT",url:e,data:t}))},u.delete=function(e,t){if(t===void 0&&(t={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.delete()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},t,{method:"DELETE",url:e}))},u.head=function(e,t){if(t===void 0&&(t={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.head()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},t,{method:"HEAD",url:e}))},u.options=function(e,t){if(t===void 0&&(t={}),!this||!this.defaults)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.options()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.request(g({},t,{method:"OPTIONS",url:e}))},u.clearCache=function(){if(!this||!this.cacheAdapter)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.clearCache()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return this.cacheAdapter.clear()},u.cancelRequests=function(e){if(!this||!this.requestQueue)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.cancelRequests()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");this.requestQueue.cancel(e)},u.getStatus=function(){if(!this||!this.requestQueue)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.getStatus()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");return{queue:this.requestQueue.getStatus()}},u.cancelAll=function(){if(!this||!this)throw Error("WxRequest\u5B9E\u4F8B\u7684this\u4E0A\u4E0B\u6587\u4E22\u5931\u3002\u8BF7\u4F7F\u7528wxRequest.cancelAll()\u7684\u65B9\u5F0F\u8C03\u7528\uFF0C\u6216\u4F7F\u7528bind\u7ED1\u5B9A\u4E0A\u4E0B\u6587\u3002");this.cancelRequests(function(){return!0})},u.all=function(e){return Promise.all(e)},u.spread=function(e){return function(t){return e.apply(void 0,[].concat(t))}},n.create=function(e){return new n(e)},n}()});Object.defineProperty(exports,"__esModule",{value:!0});var U,I,B,Ge=exports,pe={ErrorType:function(){return Fe.ErrorType},all:function(){return et},createError:function(){return ye.createError},default:function(){return Ve},delay:function(){return ye.delay},delete:function(){return Xe},get:function(){return Je},head:function(){return Ye},interceptors:function(){return rt},options:function(){return Ze},post:function(){return Be},put:function(){return $e},request:function(){return He},spread:function(){return tt},wxRequest:function(){return m}};for($ in pe)Object.defineProperty(Ge,$,{enumerable:!0,get:pe[$]});var $,ve=(U=de())&&U.__esModule?U:{default:U},ye=N(),Fe=(I=j(),B=exports,Object.keys(I).forEach(function(n){n==="default"||Object.prototype.hasOwnProperty.call(B,n)||Object.defineProperty(B,n,{enumerable:!0,get:function(){return I[n]}})}),I),Ve=ve.default,m=new ve.default,He=m.request,Je=m.get,Be=m.post,$e=m.put,Xe=m.delete,Ye=m.head,Ze=m.options,et=m.all,tt=m.spread,rt=m.interceptors;