adtec-hnyzfc-core-package 1.2.3 → 1.2.5
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 +1 @@
|
|
|
1
|
-
import S from"axios";import{v4 as
|
|
1
|
+
import S from"axios";import{v4 as T}from"uuid";import w from"./encrypt.js";import{computeSignaDigests as I}from"./buildUploadHeaders.js";import{getCurrentMenu as k,getBehaviorParentId as y,reportApiCall as l}from"./behaviorTrack.js";import{buildRequestContext as v}from"./behaviorContext.js";import{ElMessage as p}from"element-plus";import{frontendBus as A}from"./frontendBus.js";import"jsencrypt";import"ts-md5";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";let n=!1;const c=()=>{A.emit("loginAgain")};let u=[];const i=S.create({timeout:6e4,validateStatus(e){return e>=200&&e<500}});function C(e){const r=e.skipAuthorization?"":sessionStorage.getItem("Authorization");let t="";e.method==="get"?(e.params&&(typeof e.params=="string"?t=JSON.stringify(JSON.parse(e.params)):t=JSON.stringify(e.params)),t+=e.url):e.data&&(typeof e.data=="string"?t=JSON.stringify(JSON.parse(e.data)):t=JSON.stringify(e.data));const s=I(r||"",t);e.headers.sessionId=e.skipAuthorization?"":sessionStorage.getItem("sessionId"),e.headers.Authorization=r,e.headers.signa=s.signa,e.headers.antiShakeKey=s.antiShakeKey;const a=e.menuId||k()?.id,o=e.behaviorContext||v(e.behavior);e.behaviorContext=o,e.headers["X-Menu-Id"]=a||"",e.headers["X-Behavior-Id"]=o?.pageViewId||a&&y(a)||"",e.headers["X-Behavior-Page-Id"]=o?.pageViewId||"",e.headers["X-Behavior-Action-Id"]=o?.actionId||"",e.headers["X-Behavior-Request-Id"]=o?.requestId||"",e.headers["X-Behavior-Association"]=o?.associationMode||"PAGE_ONLY";const m=sessionStorage.getItem("timeDifference"),d=T(),g=new Date().getTime(),f={timeDifference:m,guid:d,localTime:g};e.headers.replayToken=w.encrypt(JSON.stringify(f))}const h=new Map;i.interceptors.request.use(e=>{if(C(e),e.isAntiShake){const r=e.antiShakeTime,t=`${e.method}-${e.url}-${e.antiShakeKey}`,s=h.get(t);return s&&s(),new Promise(a=>{const o=setTimeout(()=>{clearTimeout(o),a(e)},r);h.set(t,()=>{clearTimeout(o)})})}else return e},e=>Promise.resolve(e));i.interceptors.response.use(async e=>{const{status:r,data:t,config:s}=e;if(r===200){if(t.code==="0")return Promise.resolve(e);if(t.code=="10508")n=!0;else if(t.code=="10401"&&s.url!=="/api/system/login/refreshToken"&&sessionStorage.getItem("Authorization")&&sessionStorage.getItem("refreshToken")){if(n)return new Promise(a=>{u.push({fn:()=>{a(i(s))},url:s.url})});{n=!0;const a=sessionStorage.getItem("refreshToken"),o=await i.post("/api/system/login/refreshToken",{rToken:a});if(o.data.code==="0"){sessionStorage.setItem("Authorization",o.data.data.token),sessionStorage.setItem("refreshToken",o.data.data.refreshToken);const m=i(s);return u.forEach(d=>{d.fn()}),n=!1,u=[],m}else throw n=!1,u=[],p.warning({showClose:!0,message:"用户信息已过期,请重新登录",grouping:!0}),c(),{code:"10508",msg:"用户信息已过期,请重新登录",url:s.url,config:s}}}else return Promise.resolve(e)}return Promise.resolve(e)},e=>Promise.reject(e));const K=e=>{const r=Date.now();return i(e).then(t=>{const s=t.config||e;if(t.status===500)throw{code:t.status+"",msg:t.status+t.statusText,url:e.url,status:t.status,config:s};if(t.status!==200)throw{code:t.status+"",msg:t.status+t.statusText,url:e.url,status:t.status,config:s};if(e.responseType==="blob")return l({config:s,status:t.status,costTime:Date.now()-r}),t;{const a=t.data;if(a.code==="0")return l({config:s,status:t.status,code:a.code,costTime:Date.now()-r}),a.data;throw a.code=="10508"?(p.warning({showClose:!0,message:"用户信息已过期,请重新登录",grouping:!0}),c(),{code:a.code,msg:a.msg,url:e.url,config:s}):{code:a.code,msg:a.msg,url:e.url,status:t.status,config:s}}}).catch(t=>{const s=t?.config||t?.response?.config||e;throw l({config:s,status:t?.status||t?.response?.status,code:t?.code,error:t,costTime:Date.now()-r}),t.msg?t:{code:t.response?.status?t.response.status+"":t.code||"500",msg:t.message||"请求失败",url:e.url}})};export{K as default};
|