@vef-framework/core 1.0.130 → 1.0.132

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.
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- "use strict";var v=require("@tanstack/react-query"),K=require("react"),C=require("./query-client.cjs"),I=require("./request-client.cjs"),R=Object.defineProperty,P=a=>{throw TypeError(a)},x=(a,e,i)=>e in a?R(a,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[e]=i,A=(a,e,i)=>x(a,typeof e!="symbol"?e+"":e,i),w=(a,e,i)=>e.has(a)||P("Cannot "+i),n=(a,e,i)=>(w(a,e,"read from private field"),i?i.call(a):e.get(a)),D=(a,e,i)=>e.has(a)?P("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,i),g=(a,e,i,t)=>(w(a,e,"write to private field"),t?t.call(a,i):e.set(a,i),i),f=(a,e,i)=>(w(a,e,"access private method"),i),u,m,b,h,y,k,M,S,F;class E{constructor(e){this.options=e,D(this,y),A(this,"useApiQuery"),A(this,"useSuspenseApiQuery"),A(this,"useApiMutation"),A(this,"useIsFetching"),A(this,"useIsMutating"),A(this,"QueryClientProvider"),D(this,u),D(this,m),D(this,b),D(this,h),g(this,u,C.createQueryClient(e)),g(this,m,I.createRequestClient(e)),g(this,b,{get:async(t,s)=>{const r=n(this,h);return g(this,h,void 0),await n(this,m).get(t,{...s,signal:r})},post:async(t,s,r)=>{const c=n(this,h);return g(this,h,void 0),await n(this,m).post(t,s,{...r,signal:c})},put:async(t,s,r)=>{const c=n(this,h);return g(this,h,void 0),await n(this,m).put(t,s,{...r,signal:c})},delete:async(t,s)=>{const r=n(this,h);return g(this,h,void 0),await n(this,m).delete(t,{...s,signal:r})}});const i=this;this.useApiQuery=function(t,s,r){var c;const{keepPreviousData:d,placeholderData:p,initialData:o,...Q}=r??{},l=v.useQuery({queryKey:[t.key,s],queryFn:({signal:q})=>t(s,{signal:q}),select:f(i,y,k),placeholderData:p??d===!0?v.keepPreviousData:void 0,initialData:o?{code:0,message:"ok",data:o}:void 0,...Q});return f(c=i,y,S).call(c,l)},this.useSuspenseApiQuery=function(t,s,r){const{keepPreviousData:c,initialData:d,...p}=r??{},{data:o,refetch:Q}=v.useSuspenseQuery({queryKey:[t.key,s],queryFn:({signal:l})=>t(s,{signal:l}),select:f(i,y,k),initialData:d?{code:0,message:"ok",data:d}:void 0,...p});return{data:o,refetch:f(this,y,M).call(this,Q)}},this.useApiMutation=function(t){const{isPending:s,isIdle:r,isError:c,isSuccess:d,error:p,data:o,mutateAsync:Q}=v.useMutation({mutationKey:[t.key],mutationFn:l=>t(l)});return{mutate:async l=>await Q(l),isPending:s,isIdle:r,isError:c,isSuccess:d,message:o?.message,error:p??void 0,data:o?.data}},this.useIsFetching=function(t,s){return v.useIsFetching({queryKey:arguments.length>1?[t,s]:[t],type:"active",exact:!1})>0},this.useIsMutating=function(t){return v.useIsMutating({mutationKey:[t],exact:!1})>0},this.QueryClientProvider=function({children:t}){return K.createElement(v.QueryClientProvider,{client:n(i,u)},t)}}async fetchApiQuery(e,i,t){const{initialData:s,...r}=t??{};return(await n(this,u).fetchQuery({queryKey:[e.key,i],queryFn:({signal:c})=>e(i,{signal:c}),initialData:s?{code:0,message:"ok",data:s}:void 0,...r})).data}createQueryApi(e,i){const t=f(this,y,F).call(this,e,i);return t.useQuery=this.useApiQuery.bind(this,t),t.useSuspenseQuery=this.useSuspenseApiQuery.bind(this,t),t.fetchQuery=this.fetchApiQuery.bind(this,t),t.getQueryData=this.getApiQueryData.bind(this,e),t.getQueriesData=this.getApiQueriesData.bind(this,e),t.setQueryData=(s,r)=>this.setApiQueryData(s,e,r),t.ensureQueryData=this.ensureApiQueryData.bind(this,t),t.removeQueries=this.removeApiQueries.bind(this,e),t.invalidateQueries=this.invalidateApiQueries.bind(this,e),t.resetQueries=this.resetApiQueries.bind(this,e),t.refetchQueries=this.refetchApiQueries.bind(this,e),t.cancelQueries=this.cancelApiQueries.bind(this,e),t.isFetching=this.isFetching.bind(this,e),t.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(t)}createMutationApi(e,i,t=[]){const s=f(this,y,F).call(this,e,i);return s.relatedQueries=Object.freeze(t),s.useMutation=this.useApiMutation.bind(this,s),s.refetchRelatedQueries=function(){return Promise.all(t.map(r=>r.refetchQueries()))},s.invalidateRelatedQueries=function(){return Promise.all(t.map(r=>r.invalidateQueries()))},s.isMutating=this.isMutating.bind(this,e),s.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(s)}getApiQueryData(e,i){return n(this,u).getQueryData(arguments.length>1?[e,i]:[e])}getApiQueriesData(e,i){return n(this,u).getQueriesData({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})}setApiQueryData(e,i,t){n(this,u).setQueryData(arguments.length>2?[i,t]:[i],e)}async ensureApiQueryData(e,i,t){const{initialData:s,...r}=t??{};return(await n(this,u).ensureQueryData({queryKey:[e.key,i],queryFn:({signal:c})=>e(i,{signal:c}),initialData:s?{code:0,message:"ok",data:s}:void 0,...r,revalidateIfStale:!0})).data}removeApiQueries(e,i){n(this,u).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,i]:[e]})}invalidateApiQueries(e,i){return n(this,u).invalidateQueries({queryKey:arguments.length>1?[e,i]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,i){return n(this,u).resetQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,i){return n(this,u).refetchQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,i){return n(this,u).cancelQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,i){return n(this,u).isFetching({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})>0}isMutating(e){return n(this,u).isMutating({mutationKey:[e],exact:!1})>0}}u=new WeakMap,m=new WeakMap,b=new WeakMap,h=new WeakMap,y=new WeakSet,k=function(a){return a.data},M=function(a){return async e=>{const i=await a(e);return{isSuccess:i.isSuccess,isError:i.isError,error:i.error,data:i.data}}},S=function({isPending:a,isFetching:e,isLoading:i,isRefetching:t,isSuccess:s,isPlaceholderData:r,isError:c,isLoadingError:d,isRefetchError:p,isStale:o,error:Q,data:l,refetch:q}){return{isPending:a,isSuccess:s,isError:c,isLoadingError:d,isRefetchError:p,isLoading:i,isFetching:e,isRefetching:t,isPlaceholderData:r,isStale:o,error:Q??void 0,data:l,refetch:f(this,y,M).call(this,q)}},F=function(a,e){const i=e(n(this,b)),t=async(s,r)=>(g(this,h,r?.signal),await i(s));return t.key=a,t};function O(a){return Object.freeze(new E(a))}exports.ApiClient=E,exports.createApiClient=O;
2
+ "use strict";var f=require("@tanstack/react-query"),K=require("react"),C=require("./query-client.cjs"),I=require("./request-client.cjs"),R=Object.defineProperty,P=r=>{throw TypeError(r)},x=(r,e,i)=>e in r?R(r,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[e]=i,A=(r,e,i)=>x(r,typeof e!="symbol"?e+"":e,i),q=(r,e,i)=>e.has(r)||P("Cannot "+i),n=(r,e,i)=>(q(r,e,"read from private field"),i?i.call(r):e.get(r)),D=(r,e,i)=>e.has(r)?P("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,i),o=(r,e,i,t)=>(q(r,e,"write to private field"),t?t.call(r,i):e.set(r,i),i),m=(r,e,i)=>(q(r,e,"access private method"),i),c,y,b,h,g,k,M,S,F;class E{constructor(e){this.options=e,D(this,g),A(this,"useApiQuery"),A(this,"useSuspenseApiQuery"),A(this,"useApiMutation"),A(this,"useIsFetching"),A(this,"useIsMutating"),A(this,"QueryClientProvider"),D(this,c),D(this,y),D(this,b),D(this,h),o(this,c,C.createQueryClient(e)),o(this,y,I.createRequestClient(e)),o(this,b,{get:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).get(t,{...s,signal:a})},post:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).post(t,s,{...a,signal:u})},put:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).put(t,s,{...a,signal:u})},delete:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).delete(t,{...s,signal:a})},upload:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).upload(t,s,{...a,signal:u})},download:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).download(t,{...s,signal:a})}});const i=this;this.useApiQuery=function(t,s,a){var u;const{keepPreviousData:p,placeholderData:Q,initialData:l,...v}=a??{},d=f.useQuery({queryKey:[t.key,s],queryFn:({signal:w})=>t(s,{signal:w}),select:m(i,g,k),placeholderData:Q??p===!0?f.keepPreviousData:void 0,initialData:l?{code:0,message:"ok",data:l}:void 0,...v});return m(u=i,g,S).call(u,d)},this.useSuspenseApiQuery=function(t,s,a){const{keepPreviousData:u,initialData:p,...Q}=a??{},{data:l,refetch:v}=f.useSuspenseQuery({queryKey:[t.key,s],queryFn:({signal:d})=>t(s,{signal:d}),select:m(i,g,k),initialData:p?{code:0,message:"ok",data:p}:void 0,...Q});return{data:l,refetch:m(this,g,M).call(this,v)}},this.useApiMutation=function(t){const{isPending:s,isIdle:a,isError:u,isSuccess:p,error:Q,data:l,mutateAsync:v}=f.useMutation({mutationKey:[t.key],mutationFn:d=>t(d)});return{mutate:async d=>await v(d),isPending:s,isIdle:a,isError:u,isSuccess:p,message:l?.message,error:Q??void 0,data:l?.data}},this.useIsFetching=function(t,s){return f.useIsFetching({queryKey:arguments.length>1?[t,s]:[t],type:"active",exact:!1})>0},this.useIsMutating=function(t){return f.useIsMutating({mutationKey:[t],exact:!1})>0},this.QueryClientProvider=function({children:t}){return K.createElement(f.QueryClientProvider,{client:n(i,c)},t)}}async fetchApiQuery(e,i,t){const{initialData:s,...a}=t??{};return(await n(this,c).fetchQuery({queryKey:[e.key,i],queryFn:({signal:u})=>e(i,{signal:u}),initialData:s?{code:0,message:"ok",data:s}:void 0,...a})).data}createQueryApi(e,i){const t=m(this,g,F).call(this,e,i);return t.useQuery=this.useApiQuery.bind(this,t),t.useSuspenseQuery=this.useSuspenseApiQuery.bind(this,t),t.fetchQuery=this.fetchApiQuery.bind(this,t),t.getQueryData=this.getApiQueryData.bind(this,e),t.getQueriesData=this.getApiQueriesData.bind(this,e),t.setQueryData=(s,a)=>this.setApiQueryData(s,e,a),t.ensureQueryData=this.ensureApiQueryData.bind(this,t),t.removeQueries=this.removeApiQueries.bind(this,e),t.invalidateQueries=this.invalidateApiQueries.bind(this,e),t.resetQueries=this.resetApiQueries.bind(this,e),t.refetchQueries=this.refetchApiQueries.bind(this,e),t.cancelQueries=this.cancelApiQueries.bind(this,e),t.isFetching=this.isFetching.bind(this,e),t.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(t)}createMutationApi(e,i,t=[]){const s=m(this,g,F).call(this,e,i);return s.relatedQueries=Object.freeze(t),s.useMutation=this.useApiMutation.bind(this,s),s.refetchRelatedQueries=function(){return Promise.all(t.map(a=>a.refetchQueries()))},s.invalidateRelatedQueries=function(){return Promise.all(t.map(a=>a.invalidateQueries()))},s.isMutating=this.isMutating.bind(this,e),s.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(s)}getApiQueryData(e,i){return n(this,c).getQueryData(arguments.length>1?[e,i]:[e])}getApiQueriesData(e,i){return n(this,c).getQueriesData({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})}setApiQueryData(e,i,t){n(this,c).setQueryData(arguments.length>2?[i,t]:[i],e)}async ensureApiQueryData(e,i,t){const{initialData:s,...a}=t??{};return(await n(this,c).ensureQueryData({queryKey:[e.key,i],queryFn:({signal:u})=>e(i,{signal:u}),initialData:s?{code:0,message:"ok",data:s}:void 0,...a,revalidateIfStale:!0})).data}removeApiQueries(e,i){n(this,c).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,i]:[e]})}invalidateApiQueries(e,i){return n(this,c).invalidateQueries({queryKey:arguments.length>1?[e,i]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,i){return n(this,c).resetQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,i){return n(this,c).refetchQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,i){return n(this,c).cancelQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,i){return n(this,c).isFetching({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})>0}isMutating(e){return n(this,c).isMutating({mutationKey:[e],exact:!1})>0}}c=new WeakMap,y=new WeakMap,b=new WeakMap,h=new WeakMap,g=new WeakSet,k=function(r){return r.data},M=function(r){return async e=>{const i=await r(e);return{isSuccess:i.isSuccess,isError:i.isError,error:i.error,data:i.data}}},S=function({isPending:r,isFetching:e,isLoading:i,isRefetching:t,isSuccess:s,isPlaceholderData:a,isError:u,isLoadingError:p,isRefetchError:Q,isStale:l,error:v,data:d,refetch:w}){return{isPending:r,isSuccess:s,isError:u,isLoadingError:p,isRefetchError:Q,isLoading:i,isFetching:e,isRefetching:t,isPlaceholderData:a,isStale:l,error:v??void 0,data:d,refetch:m(this,g,M).call(this,w)}},F=function(r,e){const i=e(n(this,b)),t=async(s,a)=>(o(this,h,a?.signal),await i(s));return t.key=r,t};function O(r){return Object.freeze(new E(r))}exports.ApiClient=E,exports.createApiClient=O;
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- "use strict";var o=require("@vef-framework/shared"),v=require("axios"),P=require("qs"),R=t=>{throw TypeError(t)},E=(t,a,e)=>a.has(t)||R("Cannot "+e),p=(t,a,e)=>(E(t,a,"read from private field"),e?e.call(t):a.get(t)),U=(t,a,e)=>a.has(t)?R("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(t):a.set(t,e),j=(t,a,e,s)=>(E(t,a,"write to private field"),s?s.call(t,e):a.set(t,e),e),l;const b=/\{\w+\}/;class q{constructor(a){this.options=a,U(this,l);const{baseUrl:e,timeout:s,getAccessToken:m,successCode:u=0,unauthorizedCode:w=1e3,accessDeniedCode:c=1002,tokenExpiredCode:f=1001,onUnauthorized:g,onAccessDenied:h}=a;j(this,l,v.create({baseURL:e,timeout:s??1e3*30,headers:{"Content-Type":"application/json"},paramsSerializer:r=>P.stringify(r,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),p(this,l).interceptors.request.use(r=>{const d=m?.();d&&(r.headers.Authorization=`Bearer ${d}`);const{url:n}=r;return n&&b.test(n)&&(r.url=n.replace(b,(i,y)=>{const C=r.params?.[y];if(o.isNullish(C))throw new Error(`Path parameter ${y} is nil`);return C})),r}),p(this,l).interceptors.response.use(async r=>{const{code:d,message:n}=r.data;if(d===u)return r;throw d===w?await g?.():d===f?(o.showInfoMessage("登录已失效"),await g?.()):d===c?(o.showWarningMessage(`${n},请联系管理员为您开通`),await h?.()):o.showWarningMessage(n),new o.VefError(d,n)},r=>{if(r instanceof v.CanceledError)return Promise.reject(r);const{response:d,message:n}=r;if(d?.data){const i=`处理请求响应信息异常:${n??"无"}`;return Promise.reject(new o.VefError(d.status,i))}else{let i=n??(o.isString(r)?r:"");return i==="Network Error"?i="接口连接异常可能原因:网络不通或存在跨域问题。":i.includes("timeout")?i="接口请求超时":i.includes("Request failed with status code")?i=`接口状态码异常:${n.substring(n.length-3)}`:i="接口未知异常",o.showErrorMessage(i),Promise.reject(new o.VefError(-1,i))}})}async get(a,e){return(await p(this,l).get(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async post(a,e,s){return(await p(this,l).post(a,e,{params:s?.params,headers:s?.headers,signal:s?.signal})).data}async put(a,e,s){return(await p(this,l).put(a,e,{params:s?.params,headers:s?.headers,signal:s?.signal})).data}async delete(a,e){return(await p(this,l).delete(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async upload(a,e,s){return(await p(this,l).postForm(a,e,{params:s?.params,headers:s?.headers,signal:s?.signal,onUploadProgress:o.isFunction(s?.onProgress)?m=>{const u=m.lengthComputable?m.total??0:0,{loaded:w}=m,c=Math.round(w/u*100);s.onProgress?.(c)}:void 0})).data}async download(a,e){const{data:s,headers:m}=await p(this,l).get(a,{params:e?.params,headers:e?.headers,responseType:"blob",onDownloadProgress:o.isFunction(e?.onProgress)?c=>{const f=c.lengthComputable?c.total??0:0,{loaded:g}=c,h=Math.round(g/f*100);e.onProgress?.(h)}:void 0});let u=null;try{u=JSON.parse(await s.text())}catch{}if(u&&u.code!==0)throw new o.VefError(u.code,u.message);const w=m.get("content-disposition");if(o.isString(w)){const c=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(w);if(c&&c.groups){const{name:f}=c.groups,g=decodeURIComponent(f),h=document.createElement("a");h.href=URL.createObjectURL(s),h.download=o.isFunction(e?.fileName)?e.fileName(g):e?.fileName??g,h.click(),URL.revokeObjectURL(h.href)}}}}l=new WeakMap;function k(t){return Object.freeze(new q(t))}exports.RequestClient=q,exports.createRequestClient=k;
2
+ "use strict";var l=require("@vef-framework/shared"),R=require("axios"),U=require("qs"),b=s=>{throw TypeError(s)},q=(s,a,e)=>a.has(s)||b("Cannot "+e),p=(s,a,e)=>(q(s,a,"read from private field"),e?e.call(s):a.get(s)),N=(s,a,e)=>a.has(s)?b("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,e),M=(s,a,e,t)=>(q(s,a,"write to private field"),t?t.call(s,e):a.set(s,e),e),d;const E=/\{\w+\}/;class P{constructor(a){this.options=a,N(this,d);const{baseUrl:e,timeout:t,getAccessToken:m,successCode:u=0,unauthorizedCode:w=1e3,accessDeniedCode:i=1002,tokenExpiredCode:f=1001,onUnauthorized:g,onAccessDenied:h,onErrorMessage:j,onInfoMessage:k,onWarningMessage:C}=a;M(this,d,R.create({baseURL:e,timeout:t??1e3*30,headers:{"Content-Type":"application/json"},paramsSerializer:r=>U.stringify(r,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),p(this,d).interceptors.request.use(r=>{const c=m?.();c&&(r.headers.Authorization=`Bearer ${c}`);const{url:o}=r;return o&&E.test(o)&&(r.url=o.replace(E,(n,y)=>{const v=r.params?.[y];if(l.isNullish(v))throw new Error(`Path parameter ${y} is nil`);return v})),r}),p(this,d).interceptors.response.use(async r=>{const{code:c,message:o}=r.data;if(c===u)return r;throw c===w?await g?.():c===f?(await k?.("登录已失效"),await g?.()):c===i?(await C?.(`${o},请联系管理员为您开通`),await h?.()):await C?.(o),new l.VefError(c,o)},r=>{if(r instanceof R.CanceledError)return Promise.reject(r);const{response:c,message:o}=r;if(c?.data){const n=`处理请求响应信息异常:${o??"无"}`;return Promise.reject(new l.VefError(c.status,n))}else{let n=o??(l.isString(r)?r:"");return n==="Network Error"?n="接口连接异常可能原因:网络不通或存在跨域问题。":n.includes("timeout")?n="接口请求超时":n.includes("Request failed with status code")?n=`接口状态码异常:${o.substring(o.length-3)}`:n="接口未知异常",j?.(n),Promise.reject(new l.VefError(-1,n))}})}async get(a,e){return(await p(this,d).get(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async post(a,e,t){return(await p(this,d).post(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async put(a,e,t){return(await p(this,d).put(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async delete(a,e){return(await p(this,d).delete(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async upload(a,e,t){return(await p(this,d).postForm(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal,onUploadProgress:l.isFunction(t?.onProgress)?m=>{const u=m.lengthComputable?m.total??0:0,{loaded:w}=m,i=Math.round(w/u*100);t.onProgress?.(i)}:void 0})).data}async download(a,e){const{data:t,headers:m}=await p(this,d).get(a,{params:e?.params,headers:e?.headers,responseType:"blob",onDownloadProgress:l.isFunction(e?.onProgress)?i=>{const f=i.lengthComputable?i.total??0:0,{loaded:g}=i,h=Math.round(g/f*100);e.onProgress?.(h)}:void 0});let u=null;try{u=JSON.parse(await t.text())}catch{}if(u&&u.code!==0)throw new l.VefError(u.code,u.message);const w=m.get("content-disposition");if(l.isString(w)){const i=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(w);if(i&&i.groups){const{name:f}=i.groups,g=decodeURIComponent(f),h=document.createElement("a");h.href=URL.createObjectURL(t),h.download=l.isFunction(e?.fileName)?e.fileName(g):e?.fileName??g,h.click(),URL.revokeObjectURL(h.href)}}}}d=new WeakMap;function S(s){return Object.freeze(new P(s))}exports.RequestClient=P,exports.createRequestClient=S;
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- import{useQuery as E,keepPreviousData as K,useSuspenseQuery as I,useMutation as R,useIsFetching as x,useIsMutating as C,QueryClientProvider as O}from"@tanstack/react-query";import{createElement as W}from"react";import{createQueryClient as j}from"./query-client.js";import{createRequestClient as z}from"./request-client.js";var L=Object.defineProperty,F=a=>{throw TypeError(a)},T=(a,e,i)=>e in a?L(a,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[e]=i,m=(a,e,i)=>T(a,typeof e!="symbol"?e+"":e,i),w=(a,e,i)=>e.has(a)||F("Cannot "+i),n=(a,e,i)=>(w(a,e,"read from private field"),i?i.call(a):e.get(a)),A=(a,e,i)=>e.has(a)?F("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,i),g=(a,e,i,t)=>(w(a,e,"write to private field"),t?t.call(a,i):e.set(a,i),i),f=(a,e,i)=>(w(a,e,"access private method"),i),u,v,D,h,y,k,M,P,q;class S{constructor(e){this.options=e,A(this,y),m(this,"useApiQuery"),m(this,"useSuspenseApiQuery"),m(this,"useApiMutation"),m(this,"useIsFetching"),m(this,"useIsMutating"),m(this,"QueryClientProvider"),A(this,u),A(this,v),A(this,D),A(this,h),g(this,u,j(e)),g(this,v,z(e)),g(this,D,{get:async(t,s)=>{const r=n(this,h);return g(this,h,void 0),await n(this,v).get(t,{...s,signal:r})},post:async(t,s,r)=>{const c=n(this,h);return g(this,h,void 0),await n(this,v).post(t,s,{...r,signal:c})},put:async(t,s,r)=>{const c=n(this,h);return g(this,h,void 0),await n(this,v).put(t,s,{...r,signal:c})},delete:async(t,s)=>{const r=n(this,h);return g(this,h,void 0),await n(this,v).delete(t,{...s,signal:r})}});const i=this;this.useApiQuery=function(t,s,r){var c;const{keepPreviousData:d,placeholderData:p,initialData:o,...Q}=r??{},l=E({queryKey:[t.key,s],queryFn:({signal:b})=>t(s,{signal:b}),select:f(i,y,k),placeholderData:p??d===!0?K:void 0,initialData:o?{code:0,message:"ok",data:o}:void 0,...Q});return f(c=i,y,P).call(c,l)},this.useSuspenseApiQuery=function(t,s,r){const{keepPreviousData:c,initialData:d,...p}=r??{},{data:o,refetch:Q}=I({queryKey:[t.key,s],queryFn:({signal:l})=>t(s,{signal:l}),select:f(i,y,k),initialData:d?{code:0,message:"ok",data:d}:void 0,...p});return{data:o,refetch:f(this,y,M).call(this,Q)}},this.useApiMutation=function(t){const{isPending:s,isIdle:r,isError:c,isSuccess:d,error:p,data:o,mutateAsync:Q}=R({mutationKey:[t.key],mutationFn:l=>t(l)});return{mutate:async l=>await Q(l),isPending:s,isIdle:r,isError:c,isSuccess:d,message:o?.message,error:p??void 0,data:o?.data}},this.useIsFetching=function(t,s){return x({queryKey:arguments.length>1?[t,s]:[t],type:"active",exact:!1})>0},this.useIsMutating=function(t){return C({mutationKey:[t],exact:!1})>0},this.QueryClientProvider=function({children:t}){return W(O,{client:n(i,u)},t)}}async fetchApiQuery(e,i,t){const{initialData:s,...r}=t??{};return(await n(this,u).fetchQuery({queryKey:[e.key,i],queryFn:({signal:c})=>e(i,{signal:c}),initialData:s?{code:0,message:"ok",data:s}:void 0,...r})).data}createQueryApi(e,i){const t=f(this,y,q).call(this,e,i);return t.useQuery=this.useApiQuery.bind(this,t),t.useSuspenseQuery=this.useSuspenseApiQuery.bind(this,t),t.fetchQuery=this.fetchApiQuery.bind(this,t),t.getQueryData=this.getApiQueryData.bind(this,e),t.getQueriesData=this.getApiQueriesData.bind(this,e),t.setQueryData=(s,r)=>this.setApiQueryData(s,e,r),t.ensureQueryData=this.ensureApiQueryData.bind(this,t),t.removeQueries=this.removeApiQueries.bind(this,e),t.invalidateQueries=this.invalidateApiQueries.bind(this,e),t.resetQueries=this.resetApiQueries.bind(this,e),t.refetchQueries=this.refetchApiQueries.bind(this,e),t.cancelQueries=this.cancelApiQueries.bind(this,e),t.isFetching=this.isFetching.bind(this,e),t.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(t)}createMutationApi(e,i,t=[]){const s=f(this,y,q).call(this,e,i);return s.relatedQueries=Object.freeze(t),s.useMutation=this.useApiMutation.bind(this,s),s.refetchRelatedQueries=function(){return Promise.all(t.map(r=>r.refetchQueries()))},s.invalidateRelatedQueries=function(){return Promise.all(t.map(r=>r.invalidateQueries()))},s.isMutating=this.isMutating.bind(this,e),s.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(s)}getApiQueryData(e,i){return n(this,u).getQueryData(arguments.length>1?[e,i]:[e])}getApiQueriesData(e,i){return n(this,u).getQueriesData({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})}setApiQueryData(e,i,t){n(this,u).setQueryData(arguments.length>2?[i,t]:[i],e)}async ensureApiQueryData(e,i,t){const{initialData:s,...r}=t??{};return(await n(this,u).ensureQueryData({queryKey:[e.key,i],queryFn:({signal:c})=>e(i,{signal:c}),initialData:s?{code:0,message:"ok",data:s}:void 0,...r,revalidateIfStale:!0})).data}removeApiQueries(e,i){n(this,u).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,i]:[e]})}invalidateApiQueries(e,i){return n(this,u).invalidateQueries({queryKey:arguments.length>1?[e,i]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,i){return n(this,u).resetQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,i){return n(this,u).refetchQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,i){return n(this,u).cancelQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,i){return n(this,u).isFetching({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})>0}isMutating(e){return n(this,u).isMutating({mutationKey:[e],exact:!1})>0}}u=new WeakMap,v=new WeakMap,D=new WeakMap,h=new WeakMap,y=new WeakSet,k=function(a){return a.data},M=function(a){return async e=>{const i=await a(e);return{isSuccess:i.isSuccess,isError:i.isError,error:i.error,data:i.data}}},P=function({isPending:a,isFetching:e,isLoading:i,isRefetching:t,isSuccess:s,isPlaceholderData:r,isError:c,isLoadingError:d,isRefetchError:p,isStale:o,error:Q,data:l,refetch:b}){return{isPending:a,isSuccess:s,isError:c,isLoadingError:d,isRefetchError:p,isLoading:i,isFetching:e,isRefetching:t,isPlaceholderData:r,isStale:o,error:Q??void 0,data:l,refetch:f(this,y,M).call(this,b)}},q=function(a,e){const i=e(n(this,D)),t=async(s,r)=>(g(this,h,r?.signal),await i(s));return t.key=a,t};function B(a){return Object.freeze(new S(a))}export{S as ApiClient,B as createApiClient};
2
+ import{useQuery as E,keepPreviousData as K,useSuspenseQuery as I,useMutation as R,useIsFetching as x,useIsMutating as C,QueryClientProvider as O}from"@tanstack/react-query";import{createElement as W}from"react";import{createQueryClient as j}from"./query-client.js";import{createRequestClient as z}from"./request-client.js";var L=Object.defineProperty,F=r=>{throw TypeError(r)},T=(r,e,i)=>e in r?L(r,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[e]=i,m=(r,e,i)=>T(r,typeof e!="symbol"?e+"":e,i),w=(r,e,i)=>e.has(r)||F("Cannot "+i),n=(r,e,i)=>(w(r,e,"read from private field"),i?i.call(r):e.get(r)),A=(r,e,i)=>e.has(r)?F("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,i),o=(r,e,i,t)=>(w(r,e,"write to private field"),t?t.call(r,i):e.set(r,i),i),f=(r,e,i)=>(w(r,e,"access private method"),i),c,y,D,h,g,k,M,P,q;class S{constructor(e){this.options=e,A(this,g),m(this,"useApiQuery"),m(this,"useSuspenseApiQuery"),m(this,"useApiMutation"),m(this,"useIsFetching"),m(this,"useIsMutating"),m(this,"QueryClientProvider"),A(this,c),A(this,y),A(this,D),A(this,h),o(this,c,j(e)),o(this,y,z(e)),o(this,D,{get:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).get(t,{...s,signal:a})},post:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).post(t,s,{...a,signal:u})},put:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).put(t,s,{...a,signal:u})},delete:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).delete(t,{...s,signal:a})},upload:async(t,s,a)=>{const u=n(this,h);return o(this,h,void 0),await n(this,y).upload(t,s,{...a,signal:u})},download:async(t,s)=>{const a=n(this,h);return o(this,h,void 0),await n(this,y).download(t,{...s,signal:a})}});const i=this;this.useApiQuery=function(t,s,a){var u;const{keepPreviousData:p,placeholderData:Q,initialData:l,...v}=a??{},d=E({queryKey:[t.key,s],queryFn:({signal:b})=>t(s,{signal:b}),select:f(i,g,k),placeholderData:Q??p===!0?K:void 0,initialData:l?{code:0,message:"ok",data:l}:void 0,...v});return f(u=i,g,P).call(u,d)},this.useSuspenseApiQuery=function(t,s,a){const{keepPreviousData:u,initialData:p,...Q}=a??{},{data:l,refetch:v}=I({queryKey:[t.key,s],queryFn:({signal:d})=>t(s,{signal:d}),select:f(i,g,k),initialData:p?{code:0,message:"ok",data:p}:void 0,...Q});return{data:l,refetch:f(this,g,M).call(this,v)}},this.useApiMutation=function(t){const{isPending:s,isIdle:a,isError:u,isSuccess:p,error:Q,data:l,mutateAsync:v}=R({mutationKey:[t.key],mutationFn:d=>t(d)});return{mutate:async d=>await v(d),isPending:s,isIdle:a,isError:u,isSuccess:p,message:l?.message,error:Q??void 0,data:l?.data}},this.useIsFetching=function(t,s){return x({queryKey:arguments.length>1?[t,s]:[t],type:"active",exact:!1})>0},this.useIsMutating=function(t){return C({mutationKey:[t],exact:!1})>0},this.QueryClientProvider=function({children:t}){return W(O,{client:n(i,c)},t)}}async fetchApiQuery(e,i,t){const{initialData:s,...a}=t??{};return(await n(this,c).fetchQuery({queryKey:[e.key,i],queryFn:({signal:u})=>e(i,{signal:u}),initialData:s?{code:0,message:"ok",data:s}:void 0,...a})).data}createQueryApi(e,i){const t=f(this,g,q).call(this,e,i);return t.useQuery=this.useApiQuery.bind(this,t),t.useSuspenseQuery=this.useSuspenseApiQuery.bind(this,t),t.fetchQuery=this.fetchApiQuery.bind(this,t),t.getQueryData=this.getApiQueryData.bind(this,e),t.getQueriesData=this.getApiQueriesData.bind(this,e),t.setQueryData=(s,a)=>this.setApiQueryData(s,e,a),t.ensureQueryData=this.ensureApiQueryData.bind(this,t),t.removeQueries=this.removeApiQueries.bind(this,e),t.invalidateQueries=this.invalidateApiQueries.bind(this,e),t.resetQueries=this.resetApiQueries.bind(this,e),t.refetchQueries=this.refetchApiQueries.bind(this,e),t.cancelQueries=this.cancelApiQueries.bind(this,e),t.isFetching=this.isFetching.bind(this,e),t.useIsFetching=this.useIsFetching.bind(void 0,e),Object.freeze(t)}createMutationApi(e,i,t=[]){const s=f(this,g,q).call(this,e,i);return s.relatedQueries=Object.freeze(t),s.useMutation=this.useApiMutation.bind(this,s),s.refetchRelatedQueries=function(){return Promise.all(t.map(a=>a.refetchQueries()))},s.invalidateRelatedQueries=function(){return Promise.all(t.map(a=>a.invalidateQueries()))},s.isMutating=this.isMutating.bind(this,e),s.useIsMutating=this.useIsMutating.bind(void 0,e),Object.freeze(s)}getApiQueryData(e,i){return n(this,c).getQueryData(arguments.length>1?[e,i]:[e])}getApiQueriesData(e,i){return n(this,c).getQueriesData({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})}setApiQueryData(e,i,t){n(this,c).setQueryData(arguments.length>2?[i,t]:[i],e)}async ensureApiQueryData(e,i,t){const{initialData:s,...a}=t??{};return(await n(this,c).ensureQueryData({queryKey:[e.key,i],queryFn:({signal:u})=>e(i,{signal:u}),initialData:s?{code:0,message:"ok",data:s}:void 0,...a,revalidateIfStale:!0})).data}removeApiQueries(e,i){n(this,c).removeQueries({type:"all",exact:!1,queryKey:arguments.length>1?[e,i]:[e]})}invalidateApiQueries(e,i){return n(this,c).invalidateQueries({queryKey:arguments.length>1?[e,i]:[e],type:"all",exact:!1,stale:!1,refetchType:"active"},{throwOnError:!1,cancelRefetch:!1})}resetApiQueries(e,i){return n(this,c).resetQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{cancelRefetch:!0,throwOnError:!1})}refetchApiQueries(e,i){return n(this,c).refetchQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{throwOnError:!1,cancelRefetch:!1})}cancelApiQueries(e,i){return n(this,c).cancelQueries({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1},{revert:!0,silent:!0})}isFetching(e,i){return n(this,c).isFetching({queryKey:arguments.length>1?[e,i]:[e],type:"active",exact:!1})>0}isMutating(e){return n(this,c).isMutating({mutationKey:[e],exact:!1})>0}}c=new WeakMap,y=new WeakMap,D=new WeakMap,h=new WeakMap,g=new WeakSet,k=function(r){return r.data},M=function(r){return async e=>{const i=await r(e);return{isSuccess:i.isSuccess,isError:i.isError,error:i.error,data:i.data}}},P=function({isPending:r,isFetching:e,isLoading:i,isRefetching:t,isSuccess:s,isPlaceholderData:a,isError:u,isLoadingError:p,isRefetchError:Q,isStale:l,error:v,data:d,refetch:b}){return{isPending:r,isSuccess:s,isError:u,isLoadingError:p,isRefetchError:Q,isLoading:i,isFetching:e,isRefetching:t,isPlaceholderData:a,isStale:l,error:v??void 0,data:d,refetch:f(this,g,M).call(this,b)}},q=function(r,e){const i=e(n(this,D)),t=async(s,a)=>(o(this,h,a?.signal),await i(s));return t.key=r,t};function B(r){return Object.freeze(new S(r))}export{S as ApiClient,B as createApiClient};
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- import{isNullish as k,VefError as f,showInfoMessage as N,showWarningMessage as b,isString as v,showErrorMessage as q,isFunction as y}from"@vef-framework/shared";import M,{CanceledError as T}from"axios";import x from"qs";var E=s=>{throw TypeError(s)},P=(s,a,e)=>a.has(s)||E("Cannot "+e),u=(s,a,e)=>(P(s,a,"read from private field"),e?e.call(s):a.get(s)),z=(s,a,e)=>a.has(s)?E("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,e),L=(s,a,e,t)=>(P(s,a,"write to private field"),t?t.call(s,e):a.set(s,e),e),d;const U=/\{\w+\}/;class j{constructor(a){this.options=a,z(this,d);const{baseUrl:e,timeout:t,getAccessToken:h,successCode:l=0,unauthorizedCode:g=1e3,accessDeniedCode:i=1002,tokenExpiredCode:w=1001,onUnauthorized:m,onAccessDenied:p}=a;L(this,d,M.create({baseURL:e,timeout:t??1e3*30,headers:{"Content-Type":"application/json"},paramsSerializer:r=>x.stringify(r,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),u(this,d).interceptors.request.use(r=>{const c=h?.();c&&(r.headers.Authorization=`Bearer ${c}`);const{url:o}=r;return o&&U.test(o)&&(r.url=o.replace(U,(n,C)=>{const R=r.params?.[C];if(k(R))throw new Error(`Path parameter ${C} is nil`);return R})),r}),u(this,d).interceptors.response.use(async r=>{const{code:c,message:o}=r.data;if(c===l)return r;throw c===g?await m?.():c===w?(N("登录已失效"),await m?.()):c===i?(b(`${o},请联系管理员为您开通`),await p?.()):b(o),new f(c,o)},r=>{if(r instanceof T)return Promise.reject(r);const{response:c,message:o}=r;if(c?.data){const n=`处理请求响应信息异常:${o??"无"}`;return Promise.reject(new f(c.status,n))}else{let n=o??(v(r)?r:"");return n==="Network Error"?n="接口连接异常可能原因:网络不通或存在跨域问题。":n.includes("timeout")?n="接口请求超时":n.includes("Request failed with status code")?n=`接口状态码异常:${o.substring(o.length-3)}`:n="接口未知异常",q(n),Promise.reject(new f(-1,n))}})}async get(a,e){return(await u(this,d).get(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async post(a,e,t){return(await u(this,d).post(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async put(a,e,t){return(await u(this,d).put(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async delete(a,e){return(await u(this,d).delete(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async upload(a,e,t){return(await u(this,d).postForm(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal,onUploadProgress:y(t?.onProgress)?h=>{const l=h.lengthComputable?h.total??0:0,{loaded:g}=h,i=Math.round(g/l*100);t.onProgress?.(i)}:void 0})).data}async download(a,e){const{data:t,headers:h}=await u(this,d).get(a,{params:e?.params,headers:e?.headers,responseType:"blob",onDownloadProgress:y(e?.onProgress)?i=>{const w=i.lengthComputable?i.total??0:0,{loaded:m}=i,p=Math.round(m/w*100);e.onProgress?.(p)}:void 0});let l=null;try{l=JSON.parse(await t.text())}catch{}if(l&&l.code!==0)throw new f(l.code,l.message);const g=h.get("content-disposition");if(v(g)){const i=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(g);if(i&&i.groups){const{name:w}=i.groups,m=decodeURIComponent(w),p=document.createElement("a");p.href=URL.createObjectURL(t),p.download=y(e?.fileName)?e.fileName(m):e?.fileName??m,p.click(),URL.revokeObjectURL(p.href)}}}}d=new WeakMap;function O(s){return Object.freeze(new j(s))}export{j as RequestClient,O as createRequestClient};
2
+ import{isNullish as q,VefError as f,isString as v,isFunction as y}from"@vef-framework/shared";import M,{CanceledError as T}from"axios";import x from"qs";var P=s=>{throw TypeError(s)},j=(s,a,e)=>a.has(s)||P("Cannot "+e),u=(s,a,e)=>(j(s,a,"read from private field"),e?e.call(s):a.get(s)),z=(s,a,e)=>a.has(s)?P("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,e),L=(s,a,e,t)=>(j(s,a,"write to private field"),t?t.call(s,e):a.set(s,e),e),d;const k=/\{\w+\}/;class U{constructor(a){this.options=a,z(this,d);const{baseUrl:e,timeout:t,getAccessToken:h,successCode:l=0,unauthorizedCode:g=1e3,accessDeniedCode:i=1002,tokenExpiredCode:w=1001,onUnauthorized:m,onAccessDenied:p,onErrorMessage:E,onInfoMessage:N,onWarningMessage:C}=a;L(this,d,M.create({baseURL:e,timeout:t??1e3*30,headers:{"Content-Type":"application/json"},paramsSerializer:r=>x.stringify(r,{arrayFormat:"repeat",skipNulls:!0,charset:"utf-8"}),responseType:"json",validateStatus:()=>!0})),u(this,d).interceptors.request.use(r=>{const c=h?.();c&&(r.headers.Authorization=`Bearer ${c}`);const{url:o}=r;return o&&k.test(o)&&(r.url=o.replace(k,(n,b)=>{const R=r.params?.[b];if(q(R))throw new Error(`Path parameter ${b} is nil`);return R})),r}),u(this,d).interceptors.response.use(async r=>{const{code:c,message:o}=r.data;if(c===l)return r;throw c===g?await m?.():c===w?(await N?.("登录已失效"),await m?.()):c===i?(await C?.(`${o},请联系管理员为您开通`),await p?.()):await C?.(o),new f(c,o)},r=>{if(r instanceof T)return Promise.reject(r);const{response:c,message:o}=r;if(c?.data){const n=`处理请求响应信息异常:${o??"无"}`;return Promise.reject(new f(c.status,n))}else{let n=o??(v(r)?r:"");return n==="Network Error"?n="接口连接异常可能原因:网络不通或存在跨域问题。":n.includes("timeout")?n="接口请求超时":n.includes("Request failed with status code")?n=`接口状态码异常:${o.substring(o.length-3)}`:n="接口未知异常",E?.(n),Promise.reject(new f(-1,n))}})}async get(a,e){return(await u(this,d).get(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async post(a,e,t){return(await u(this,d).post(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async put(a,e,t){return(await u(this,d).put(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal})).data}async delete(a,e){return(await u(this,d).delete(a,{params:e?.params,headers:e?.headers,signal:e?.signal})).data}async upload(a,e,t){return(await u(this,d).postForm(a,e,{params:t?.params,headers:t?.headers,signal:t?.signal,onUploadProgress:y(t?.onProgress)?h=>{const l=h.lengthComputable?h.total??0:0,{loaded:g}=h,i=Math.round(g/l*100);t.onProgress?.(i)}:void 0})).data}async download(a,e){const{data:t,headers:h}=await u(this,d).get(a,{params:e?.params,headers:e?.headers,responseType:"blob",onDownloadProgress:y(e?.onProgress)?i=>{const w=i.lengthComputable?i.total??0:0,{loaded:m}=i,p=Math.round(m/w*100);e.onProgress?.(p)}:void 0});let l=null;try{l=JSON.parse(await t.text())}catch{}if(l&&l.code!==0)throw new f(l.code,l.message);const g=h.get("content-disposition");if(v(g)){const i=/filename[^;=\n]*=(?<name>(?<quote>['"]).*?\2|[^;\n]*)/.exec(g);if(i&&i.groups){const{name:w}=i.groups,m=decodeURIComponent(w),p=document.createElement("a");p.href=URL.createObjectURL(t),p.download=y(e?.fileName)?e.fileName(m):e?.fileName??m,p.click(),URL.revokeObjectURL(p.href)}}}}d=new WeakMap;function O(s){return Object.freeze(new U(s))}export{U as RequestClient,O as createRequestClient};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vef-framework/core",
3
3
  "type": "module",
4
- "version": "1.0.130",
4
+ "version": "1.0.132",
5
5
  "private": false,
6
6
  "description": "The core of the VEF framework",
7
7
  "author": "Venus",
@@ -23,11 +23,11 @@
23
23
  "@emotion/cache": "11.14.0",
24
24
  "@emotion/react": "11.14.0",
25
25
  "@emotion/styled": "11.14.0",
26
- "antd": "5.24.5",
27
- "use-sync-external-store": "^1.4.0",
28
- "@tanstack/react-query": "5.69.0",
29
- "@tanstack/react-router": "1.114.27",
30
- "@vef-framework/shared": "1.0.130",
26
+ "antd": "5.24.7",
27
+ "use-sync-external-store": "^1.5.0",
28
+ "@tanstack/react-query": "5.74.3",
29
+ "@tanstack/react-router": "1.116.0",
30
+ "@vef-framework/shared": "1.0.132",
31
31
  "axios": "1.8.4",
32
32
  "qs": "6.14.0"
33
33
  },
@@ -48,7 +48,7 @@
48
48
  "./package.json": "./package.json"
49
49
  },
50
50
  "module": "esm/index.js",
51
- "packageManager": "pnpm@10.6.5",
51
+ "packageManager": "pnpm@10.8.1",
52
52
  "peerDependencies": {
53
53
  "react": "18.3.1",
54
54
  "react-dom": "18.3.1"
@@ -11,6 +11,10 @@ export interface RequestMethods<R = unknown> {
11
11
  post: <D, P extends ObjectType = ObjectValue, T = R>(url: string, data?: D, options?: Except<RequestOptions<P>, "onProgress" | "signal">) => Promise<ApiResponse<T>>;
12
12
  put: <D, P extends ObjectType = ObjectValue, T = R>(url: string, data?: D, options?: Except<RequestOptions<P>, "onProgress" | "signal">) => Promise<ApiResponse<T>>;
13
13
  delete: <P extends ObjectType = ObjectValue, T = R>(url: string, options?: Except<RequestOptions<P>, "onProgress" | "signal">) => Promise<ApiResponse<T>>;
14
+ upload: <R = unknown, P extends ObjectType = ObjectValue>(url: string, data: FormData, options?: RequestOptions<P>) => Promise<ApiResponse<R>>;
15
+ download: <P extends ObjectType = ObjectValue>(url: string, options?: RequestOptions<P> & {
16
+ fileName?: string | Mapper<string, string>;
17
+ }) => Promise<void>;
14
18
  }
15
19
  /**
16
20
  * The API client options.
@@ -13,6 +13,9 @@ export interface RequestClientOptions {
13
13
  tokenExpiredCode?: number;
14
14
  onUnauthorized?: Provider<MaybePromise<void>>;
15
15
  onAccessDenied?: Provider<MaybePromise<void>>;
16
+ onErrorMessage?: Consumer<string>;
17
+ onInfoMessage?: Consumer<string>;
18
+ onWarningMessage?: Consumer<string>;
16
19
  }
17
20
  /**
18
21
  * The request options.