UNPKG

@quickapp-eco/quickapp-axios

Version:

网络请求axios工具库在快应用平台上的实现

2 lines (1 loc) 4.17 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@system.fetch")):"function"==typeof define&&define.amd?define(["@system.fetch"],t):(e=e||self)["quick-app-fetch"]=t(e.fetch$1)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var n=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},t={"Content-Type":"application/x-www-form-urlencoded"},o={transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],validateCode:function(e){return 200<=e&&e<300}};function r(){this.handlers=[]}function f(e,t,r){var n,o,c,s=new Error(e);return o=t,c=r,(n=s).config=o,c&&(n.code=c),n}function c(u){return new Promise(function(i,a){e.fetch(u).then(function(e){var t,r,n,o,c=e.data,s={code:c.code,data:c.data,headers:c.headers,config:u};t=i,r=a,o=(n=s).config.validateCode,n.status&&o&&!o(n.status)?r(f("Request failed with status code "+n.code,n.config,null)):t(n)}).catch(function(e){a(f(e.data,u,e.code))})})}function s(t,r,e){return e.forEach(function(e){t=e(t,r)}),t}function i(t){var e,r,n;return t.baseURL&&(n=t.url,!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(n))&&(t.url=(e=t.baseURL,(r=t.url)?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e)),t.header=t.header||{},t.header=Object.assign({},t.header.common||{},t.header[t.method]||{},t.header||{}),["delete","get","head","post","put","patch","common"].forEach(function(e){delete t.header[e]}),c(t).then(function(e){return e.data=s(e.data,e.headers,t.transformResponse),e}).catch(function(e){return e&&e.response&&(e.response.data=s(e.response.data,e.response.headers,t.transformResponse)),Promise.reject(e)})}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function p(e){this.defaults=e,this.interceptors={request:new r,response:new r}}function h(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function d(e){var t=new p(e),r=p.prototype.request.bind(t);return Object.assign(r,p.prototype,t),r}o.header={common:{}},["delete","get","head"].forEach(function(e){o.header[e]={}}),["post","put","patch"].forEach(function(e){o.header[e]=Object.assign({},t)}),r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(t){this.handlers.forEach(function(e){null!==e&&t(e)})},p.prototype.request=function(e){(e=Object.assign({},o,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[i,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},["delete","get","head","options"].forEach(function(r){p.prototype[r]=function(e,t){return this.request(u({},t||{},{method:r,url:e}))}}),["post","put","patch"].forEach(function(n){p.prototype[n]=function(e,t,r){return this.request(u({},r||{},{method:n,url:e,data:t}))}});var l=d(o);return l.Fetch=p,l.create=function(e){return d(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?h(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},o,{},e))},l});