1 |
- import{d as Me,p as ke,i as Ee,r as m,b0 as De,c as B,B as ee,s as ve,b1 as We,b2 as xe}from"./index.c1b9962e.js";const Be={},de=Symbol("GLOBAL_OPTIONS_PROVIDE_KEY"),Oe=()=>Be;Me({name:"RequestConfig",props:{config:{type:Object,required:!0}},setup(e,{slots:t}){const{config:n}=e;return ke(de,n),()=>{var a;return(a=t.default)===null||a===void 0?void 0:a.call(t)}}});const Ge=Object.prototype.toString,Re=e=>Ge.call(e),Ue=e=>Re(e)==="[object String]",Ce=e=>Re(e)==="[object Object]",Ve=e=>Array.isArray(e),te=e=>e!==null&&typeof e=="object",He=e=>te(e)&&z(e.then)&&z(e.catch),z=e=>e instanceof Function,le=e=>e==null,Te=typeof window=="undefined",ye=()=>{var e,t;return!Te&&((e=window)===null||e===void 0||(t=e.document)===null||t===void 0?void 0:t.visibilityState)==="visible"},Pe=()=>{var e,t,n;return(e=!Te&&((t=window)===null||t===void 0||(n=t.navigator)===null||n===void 0?void 0:n.onLine))!==null&&e!==void 0?e:!0},Ye=e=>{const t={};return Object.keys(e).forEach(n=>{t[n]=xe(e[n])}),t},ne=Promise.resolve(null),Ie=async(...e)=>{const t=await fetch(...e);if(t.ok)return t.json();throw new Error(t.statusText)},he=(e,t,n=void 0)=>{const a=t.replace(/\[(\d+)\]/g,".$1").split(".");let f=e;for(const T of a)if(f=Object(f)[T],f===void 0)return n;return f};function je(e,t){const n=Object.assign({},e);for(const a of t)delete n[a];return n}const ce=(e,t=!1)=>{const n=`Warning: [vue-request] ${e}`;if(t)return new Error(n);console.error(n)},ze=(e,t)=>{let n=!1;return(...a)=>{n||(n=!0,e(...a),setTimeout(()=>{n=!1},t))}};var me;const Ke=new Set,Ae=new Set,Ne=new Set,ie=(e,t)=>{let n;switch(e){case"FOCUS_LISTENER":n=Ke;break;case"RECONNECT_LISTENER":n=Ne;break;case"VISIBLE_LISTENER":n=Ae;break}if(!n.has(t))return n.add(t),()=>{n.delete(t)}},ge=e=>{e.forEach(t=>{t()})};!Te&&(me=window)!==null&&me!==void 0&&me.addEventListener&&(window.addEventListener("visibilitychange",()=>{ye()&&ge(Ae)},!1),window.addEventListener("focus",()=>ge(Ke),!1),window.addEventListener("online",()=>ge(Ne),!1));function Qe(e,t,n){let a,f,T,b,v,c,E=0,P=!1,I=!1,w=!0;const _=!t&&t!==0&&typeof window.requestAnimationFrame=="function";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0,te(n)&&(P=!!n.leading,I="maxWait"in n,T=I?Math.max(+n.maxWait||0,t):T,w="trailing"in n?!!n.trailing:w);function O(i){const u=a,h=f;return a=f=void 0,E=i,b=e.apply(h,u),b}function g(i,u){return _?(window.cancelAnimationFrame(v),window.requestAnimationFrame(i)):setTimeout(i,u)}function S(i){if(_)return window.cancelAnimationFrame(i);clearTimeout(i)}function p(i){return E=i,v=g(L,t),P?O(i):b}function q(i){const u=i-c,h=i-E,s=t-u;return I?Math.min(s,T-h):s}function k(i){const u=i-c,h=i-E;return c===void 0||u>=t||u<0||I&&h>=T}function L(){const i=Date.now();if(k(i))return R(i);v=g(L,q(i))}function R(i){return v=void 0,w&&a?O(i):(a=f=void 0,b)}function C(){v!==void 0&&S(v),E=0,a=c=f=v=void 0}function F(){return v===void 0?b:R(Date.now())}function N(){return v!==void 0}function j(...i){const u=Date.now(),h=k(u);if(a=i,f=this,c=u,h){if(v===void 0)return p(c);if(I)return v=g(L,t),O(c)}return v===void 0&&(v=g(L,t)),b}return j.cancel=C,j.flush=F,j.pending=N,j}function qe(e,t){for(const n in t)if(t[n]!==void 0){if(!te(t[n])||!te(e[n])||!(n in e)){e[n]=t[n];continue}(Ce(t[n])||Ve(t[n]))&&qe(e[n],t[n])}}function Se(e,...t){const n=Object.assign({},e);if(!t.length)return n;for(const a of t)qe(n,a);return n}function Je(e,t,n){let a=!0,f=!0;if(typeof e!="function")throw new TypeError("Expected a function");return te(n)&&(a="leading"in n?!!n.leading:a,f="trailing"in n?!!n.trailing:f),Qe(e,t,{leading:a,trailing:f,maxWait:t})}const Xe=(e,t)=>n=>{Object.keys(n).forEach(a=>{e[a].value=n[a]}),t.forEach(a=>a(e))},se=(e,t,n)=>{var a,f,T;const{initialAutoRunFlag:b,initialData:v,loadingDelay:c,pollingInterval:E,debounceInterval:P,debounceOptions:I,throttleInterval:w,throttleOptions:_,pollingWhenHidden:O,pollingWhenOffline:g,errorRetryCount:S,errorRetryInterval:p,stopPollingWhenHiddenOrOffline:q,refreshOnWindowFocus:k,refocusTimespan:L,updateCache:R,formatResult:C,onSuccess:F,onError:N,onBefore:j,onAfter:i}=t,u=m(0),h=m((a=n==null?void 0:n.loading)!==null&&a!==void 0?a:!1),s=m((f=n==null?void 0:n.data)!==null&&f!==void 0?f:v),r=m(n==null?void 0:n.error),d=m((T=n==null?void 0:n.params)!==null&&T!==void 0?T:[]),Q=Xe({loading:h,data:s,error:r,params:d},[l=>R(l)]),G=()=>{u.value=0},D=m(0),V=m(),J=m(),H=m(),ae=()=>{V.value&&V.value(),H.value&&H.value(),J.value&&J.value()},X=()=>{let l;return c&&(l=setTimeout(Q,c,{loading:!0})),()=>l&&clearTimeout(l)},re=l=>{if(r.value&&S!==0)return;let K;if(!le(E)&&E>=0)if((O||ye())&&(g||Pe()))K=setTimeout(l,E);else{q.value=!0;return}return()=>K&&clearTimeout(K)},o=B(()=>{if(p)return p;const l=1e3,K=1,M=9,U=Math.floor(Math.random()*2**Math.min(u.value,M)+K);return l*U}),A=l=>{let K;const M=S===-1,U=u.value<S;return r.value&&(M||U)&&(M||(u.value+=1),K=setTimeout(l,o.value)),()=>K&&clearTimeout(K)},y=(...l)=>{Q({loading:!c,params:l}),H.value=X(),D.value+=1;const K=D.value;return j==null||j(l),e(...l).then(M=>{if(K===D.value){const U=C?C(M):M;return Q({data:U,loading:!1,error:void 0}),F&&F(U,l),G(),U}return ne}).catch(M=>(K===D.value&&(Q({data:void 0,loading:!1,error:M}),N&&N(M,l),console.error(M)),ne)).finally(()=>{K===D.value&&(H.value(),J.value=A(()=>y(...l)),V.value=re(()=>y(...l)),i==null||i(l))})},W=!le(P)&&Qe(y,P,I),$=!le(w)&&Je(y,w,_),x=(...l)=>(ae(),G(),!b.value&&W?(W(...l),ne):$?($(...l),ne):y(...l)),Z=()=>{D.value+=1,Q({loading:!1}),W&&W.cancel(),$&&$.cancel(),ae()},fe=()=>x(...d.value),$e=l=>{const K=z(l)?l(s.value):l;Q({data:K})},we=[],oe=l=>{l&&we.push(l)},_e=()=>{q.value&&(O||ye())&&(g||Pe())&&(fe(),q.value=!1)};O||oe(ie("VISIBLE_LISTENER",_e)),g||oe(ie("RECONNECT_LISTENER",_e));const Le=ze(fe,L);return k&&(oe(ie("VISIBLE_LISTENER",Le)),oe(ie("FOCUS_LISTENER",Le))),{loading:h,data:s,error:r,params:d,run:x,cancel:Z,refresh:fe,mutate:$e,unmount:()=>{we.forEach(l=>l())}}},ue=new Map,pe=e=>{if(le(e))return;const t=ue.get(e);if(!!t)return{data:t.data,cacheTime:t.cacheTime}},Ze=(e,t,n)=>{const a=ue.get(e);a!=null&&a.timer&&clearTimeout(a.timer);const f=setTimeout(()=>ue.delete(e),n);ue.set(e,{data:t,timer:f,cacheTime:new Date().getTime()})},Y="__QUERY_DEFAULT_KEY__";function Fe(e,t){const n=Ee(de,{}),{cacheKey:a,defaultParams:f=[],manual:T=!1,ready:b=m(!0),refreshDeps:v=[],loadingDelay:c=0,pollingWhenHidden:E=!1,pollingWhenOffline:P=!1,refreshOnWindowFocus:I=!1,refocusTimespan:w=5e3,cacheTime:_=6e5,staleTime:O=0,errorRetryCount:g=0,errorRetryInterval:S=0,queryKey:p,...q}={...Oe(),...n,...t},k=m(!1),L=m(!1),C={initialAutoRunFlag:L,loadingDelay:c,pollingWhenHidden:E,pollingWhenOffline:P,stopPollingWhenHiddenOrOffline:k,cacheKey:a,errorRetryCount:g,errorRetryInterval:S,refreshOnWindowFocus:I,refocusTimespan:w,updateCache:o=>{var A,y;if(!a)return;const W=(A=pe(a))===null||A===void 0?void 0:A.data,$=W==null?void 0:W.queries,x=Ye(o),Z=(y=p==null?void 0:p(...o.params.value))!==null&&y!==void 0?y:Y;Ze(a,{queries:{...$,[Z]:{...$==null?void 0:$[Z],...x}},latestQueriesKey:Z},_)},...je(q,["pagination","listKey"])},F=m(!1),N=m(),j=m(),i=m(),u=ee({[Y]:ee(se(e,C))}),h=m(Y),s=B(()=>{var o;return(o=u[h.value])!==null&&o!==void 0?o:{}});if(ve(s,o=>{F.value=o.loading,N.value=o.data,j.value=o.error,i.value=o.params},{immediate:!0,deep:!0}),a){var r;const o=pe(a);o!=null&&(r=o.data)!==null&&r!==void 0&&r.queries&&(Object.keys(o.data.queries).forEach(A=>{const y=o.data.queries[A];u[A]=ee(se(e,C,{loading:y.loading,params:y.params,data:y.data,error:y.error}))}),o.data.latestQueriesKey&&(h.value=o.data.latestQueriesKey))}const d=m(),Q=m(!1),G=(...o)=>{var A;if(!b.value&&!Q.value)return d.value=o,ne;const y=(A=p==null?void 0:p(...o))!==null&&A!==void 0?A:Y;return u[y]||(u[y]=ee(se(e,C))),h.value=y,s.value.run(...o)},D=()=>{V(),h.value=Y,u[Y]=ee(se(e,C))},V=()=>{Object.keys(u).forEach(o=>{u[o].cancel(),u[o].unmount(),delete u[o]})},J=()=>s.value.cancel(),H=()=>s.value.refresh(),ae=o=>s.value.mutate(o);if(!T){var X;L.value=!0;const o=pe(a),A=(X=o==null?void 0:o.data.queries)!==null&&X!==void 0?X:{},y=o&&(O===-1||o.cacheTime+O>new Date().getTime()),W=Object.keys(A).length>0;y||(W?Object.keys(u).forEach($=>{var x;(x=u[$])===null||x===void 0||x.refresh()}):G(...f)),L.value=!1}const re=m();return re.value=ve(b,o=>{Q.value=!0,o&&d.value&&(G(...d.value),re.value())},{flush:"sync"}),v.length&&ve(v,()=>{!T&&s.value.refresh()}),We(()=>{V()}),{loading:F,data:N,error:j,params:i,cancel:J,refresh:H,mutate:ae,run:G,reset:D,queries:u}}const be=e=>(...t)=>{if(z(e))return be(e(...t))();if(He(e))return e;if(Ce(e)){const{url:n,...a}=e;return Ie(n,a)}else{if(Ue(e))return Ie(e);throw ce("Unknown service type",!0)}};function tn(e,t){var n;z(e)||ce("useLoadMore only support function service");const a=be(e),f=Ee(de,{}),{queryKey:T,isNoMore:b,listKey:v="list",...c}=Object.assign({listKey:(n=f.listKey)!==null&&n!==void 0?n:Oe().listKey},t!=null?t:{});T&&ce("useLoadMore does not support concurrent request");const E=m(!1),P=m(!1),I=m(!1),w=0,_=m(w),{data:O,params:g,queries:S,run:p,reset:q,cancel:k,...L}=Fe(a,{...c,onSuccess:(...s)=>{var r;P.value=!1,_.value++,c==null||(r=c.onSuccess)===null||r===void 0||r.call(c,...s)},onError:(...s)=>{var r;P.value=!1,c==null||(r=c.onError)===null||r===void 0||r.call(c,...s)},queryKey:()=>String(_.value)}),R=m(O.value);De(()=>{O.value!==void 0&&(R.value=O.value)});const C=B(()=>b&&z(b)?b(R.value):!1),F=B(()=>{let s=[];return Object.values(S).forEach(r=>{const d=he(r.data,v);d&&Array.isArray(d)&&(s=s.concat(d))}),s}),N=()=>{if(C.value)return;P.value=!0;const[,...s]=g.value,r=[{dataList:F.value,data:R.value},...s];p(...r)},j=()=>{Object.keys(S).forEach(s=>{s!==w.toString()&&(S[s].cancel(),S[s].unmount(),delete S[s])})};return{data:R,dataList:F,params:g,noMore:C,loadingMore:P,refreshing:E,reloading:I,run:p,reload:async()=>{I.value=!0,q(),_.value=w,R.value=void 0;const[,...s]=g.value,r=[void 0,...s];await p(...r),I.value=!1},loadMore:N,reset:q,refresh:async()=>{E.value=!0;const s=_.value-1,r=s<w?w:s;R.value=S[r].data,_.value=w;const[,...d]=g.value,Q=[void 0,...d];await p(...Q),j(),E.value=!1},cancel:()=>{k(),P.value=!1,E.value=!1},...je(L,["refresh","mutate"])}}function an(e,t){var n,a;const f=be(e),T={pagination:{currentKey:"current",pageSizeKey:"pageSize",totalKey:"total",totalPageKey:"totalPage"}},b=Ee(de,{}),{pagination:{currentKey:v,pageSizeKey:c,totalKey:E,totalPageKey:P},queryKey:I,...w}=Se(T,{pagination:(n=Oe().pagination)!==null&&n!==void 0?n:{}},{pagination:(a=b.pagination)!==null&&a!==void 0?a:{}},t!=null?t:{});I&&ce("usePagination does not support concurrent request");const _=Se({defaultParams:[{[v]:1,[c]:10}]},w),{data:O,params:g,queries:S,run:p,reset:q,...k}=Fe(f,_),L=r=>{const[d,...Q]=g.value,D=[{...d,...r},...Q];p(...D)},R=r=>{L({[v]:r})},C=r=>{L({[c]:r})},F=(r,d)=>{L({[v]:r,[c]:d})},N=m(!1),j=async()=>{const{defaultParams:r,manual:d}=_;q(),d||(N.value=!0,await p(...r),N.value=!1)},i=B(()=>he(O.value,E,0)),u=B({get:()=>{var r,d;return(r=(d=g.value[0])===null||d===void 0?void 0:d[v])!==null&&r!==void 0?r:_.defaultParams[0][v]},set:r=>{R(r)}}),h=B({get:()=>{var r,d;return(r=(d=g.value[0])===null||d===void 0?void 0:d[c])!==null&&r!==void 0?r:_.defaultParams[0][c]},set:r=>{C(r)}}),s=B(()=>he(O.value,P,Math.ceil(i.value/h.value)));return{data:O,params:g,current:u,pageSize:h,total:i,totalPage:s,reloading:N,run:p,changeCurrent:R,changePageSize:C,changePagination:F,reload:j,...k}}export{an as a,tn as u};
|