alloy-request
Version:
alloy-request 基于`axios`和`ahooks的useRequest`封装的 react 请求库
2 lines (1 loc) • 1.72 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const U=require("axios"),x=require("ahooks"),S={headers:{"Content-Type":"application/json"},timeout:3e4},s=U.create(S),u={getUrl:n=>n};function f({request:n,response:c,error:t,getUrl:r}){r&&(u.getUrl=r),s.interceptors.request.use(e=>n?n(e):e,e=>t?t(e):Promise.reject(e)),s.interceptors.response.use(e=>e.status===200?c?c(e):e.data:Promise.reject(e),e=>t?t(e):Promise.reject(e))}function l(n,c,t){var r;try{return s({...t,method:"POST",url:(r=u.getUrl)==null?void 0:r.call(u,n),data:c})}catch(e){return console.log(e),Promise.reject(e)}}function a(n,c,t){var r;try{const{parameterType:e="data",...i}=t||{};return s({...i,method:"GET",url:(r=u.getUrl)==null?void 0:r.call(u,n),[e]:c})}catch(e){return Promise.reject(e)}}function d(n,c,t){var r;try{return s({...t,method:"PUT",url:(r=u.getUrl)==null?void 0:r.call(u,n),data:c})}catch(e){return Promise.reject(e)}}function h(n,c,t){var r;try{return s({...t,method:"PATCH",url:(r=u.getUrl)==null?void 0:r.call(u,n),data:c})}catch(e){return Promise.reject(e)}}function g(n,c,t){var r;try{return s({...t,method:"DELETE",url:(r=u.getUrl)==null?void 0:r.call(u,n),data:c})}catch(e){return Promise.reject(e)}}const o={get:a,post:l,put:d,patch:h,del:g};function j(n,c,t){return x.useRequest(async r=>{var p;const i=(c??(()=>({})))(r),{method:m="post",payload:y,...T}=i,P=(p=o[m])==null?void 0:p.call(o,n,y,T);return t!=null&&t.formatResult?P.then(t.formatResult):P},t)}const v={initInstance:f,post:l,get:a,put:d,patch:h,del:g,useAxios:j};exports.default=v;exports.del=g;exports.get=a;exports.initInstance=f;exports.patch=h;exports.post=l;exports.put=d;exports.useAxios=j;