diff --git a/assets/403-B9NrukKJ.js b/assets/403-PGxJXJ5i.js
similarity index 99%
rename from assets/403-B9NrukKJ.js
rename to assets/403-PGxJXJ5i.js
index 1ff714b7..8423bed0 100644
--- a/assets/403-B9NrukKJ.js
+++ b/assets/403-PGxJXJ5i.js
@@ -1 +1 @@
-import{L as r}from"./Layout-D9spSNzA.js";import{v as e,x as s,aE as l,t as i,I as h,J as n,L as p,u as c}from"./vue-V9u7w0-f.js";import"./index-BW5mlZCy.js";import"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const k={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"};function d(o,t){return e(),s("svg",k,t[0]||(t[0]=[l('',50)]))}const a={render:d},j=i({__name:"403",setup(o){return(t,v)=>(e(),h(r,null,{default:n(()=>[p(c(a))]),_:1}))}});export{j as default};
+import{L as r}from"./Layout-H9C08k5f.js";import{v as e,x as s,aE as l,t as i,I as h,J as n,L as p,u as c}from"./vue-V9u7w0-f.js";import"./index-Cxh72SLg.js";import"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const k={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"};function d(o,t){return e(),s("svg",k,t[0]||(t[0]=[l('',50)]))}const a={render:d},j=i({__name:"403",setup(o){return(t,v)=>(e(),h(r,null,{default:n(()=>[p(c(a))]),_:1}))}});export{j as default};
diff --git a/assets/404-hiP_NF0D.js b/assets/404-Bqk5xZFC.js
similarity index 99%
rename from assets/404-hiP_NF0D.js
rename to assets/404-Bqk5xZFC.js
index 96daa7d4..23ddb8f9 100644
--- a/assets/404-hiP_NF0D.js
+++ b/assets/404-Bqk5xZFC.js
@@ -1 +1 @@
-import{L as c}from"./Layout-D9spSNzA.js";import{v as l,x as h,aE as e,t as s,I as p,J as M,L as f,u as i}from"./vue-V9u7w0-f.js";import"./index-BW5mlZCy.js";import"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"};function d(t,a){return l(),h("svg",y,a[0]||(a[0]=[e('',141)]))}const r={render:d},H=s({__name:"404",setup(t){return(a,v)=>(l(),p(c,null,{default:M(()=>[f(i(r))]),_:1}))}});export{H as default};
+import{L as c}from"./Layout-H9C08k5f.js";import{v as l,x as h,aE as e,t as s,I as p,J as M,L as f,u as i}from"./vue-V9u7w0-f.js";import"./index-Cxh72SLg.js";import"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"};function d(t,a){return l(),h("svg",y,a[0]||(a[0]=[e('',141)]))}const r={render:d},H=s({__name:"404",setup(t){return(a,v)=>(l(),p(c,null,{default:M(()=>[f(i(r))]),_:1}))}});export{H as default};
diff --git a/assets/Layout-D9spSNzA.js b/assets/Layout-H9C08k5f.js
similarity index 89%
rename from assets/Layout-D9spSNzA.js
rename to assets/Layout-H9C08k5f.js
index cf7b4edc..d2ded4c8 100644
--- a/assets/Layout-D9spSNzA.js
+++ b/assets/Layout-H9C08k5f.js
@@ -1 +1 @@
-import"./index-BW5mlZCy.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{t as c}from"./element-zW3XFg-9.js";import{ac as _,v as d,x as i,A as l,y as m,L as e,J as o,a2 as p}from"./vue-V9u7w0-f.js";const u={},f={class:"error"},v={class:"error-svg"};function x(r,t){const s=c,a=_("router-link");return d(),i("div",f,[l("div",v,[m(r.$slots,"default",{},void 0,!0)]),e(a,{to:"/"},{default:o(()=>[e(s,{type:"primary"},{default:o(()=>t[0]||(t[0]=[p(" 回到首页 ")])),_:1})]),_:1})])}const V=n(u,[["render",x],["__scopeId","data-v-19cd37a7"]]);export{V as L};
+import"./index-Cxh72SLg.js";/* empty css */import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{t as c}from"./element-zW3XFg-9.js";import{ac as _,v as d,x as i,A as l,y as m,L as e,J as o,a2 as p}from"./vue-V9u7w0-f.js";const u={},f={class:"error"},v={class:"error-svg"};function x(r,t){const s=c,a=_("router-link");return d(),i("div",f,[l("div",v,[m(r.$slots,"default",{},void 0,!0)]),e(a,{to:"/"},{default:o(()=>[e(s,{type:"primary"},{default:o(()=>t[0]||(t[0]=[p(" 回到首页 ")])),_:1})]),_:1})])}const V=n(u,[["render",x],["__scopeId","data-v-19cd37a7"]]);export{V as L};
diff --git a/assets/SwitchRoles-7v_J7Orl.js b/assets/SwitchRoles-ClJL5VCY.js
similarity index 94%
rename from assets/SwitchRoles-7v_J7Orl.js
rename to assets/SwitchRoles-ClJL5VCY.js
index a63e9ec2..af10f3ad 100644
--- a/assets/SwitchRoles-7v_J7Orl.js
+++ b/assets/SwitchRoles-ClJL5VCY.js
@@ -1 +1 @@
-import{e as v}from"./index-BW5mlZCy.js";/* empty css *//* empty css */import{n as w,ak as g,al as R,o as x}from"./element-zW3XFg-9.js";import{t as S,r as V,w as h,v as l,I as u,J as r,A as a,x as k,G as B,ai as E,u as _,a2 as b,O as C,L as n,h as N}from"./vue-V9u7w0-f.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const t=v(),o=V(t.roles[0]);return h(o,i=>{t.changeRoles(i)}),(i,e)=>{const c=w,d=g,p=R,m=x;return l(),u(m,{shadow:"never"},{default:r(()=>[a("div",null,[e[1]||(e[1]=a("span",null,"你的角色:",-1)),(l(!0),k(B,null,E(_(t).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[b(C(s),1)]),_:2},1024))),128))]),a("div",G,[e[2]||(e[2]=a("span",null,"切换用户:",-1)),n(p,{modelValue:_(o),"onUpdate:modelValue":e[0]||(e[0]=s=>N(o)?o.value=s:null)},{default:r(()=>[n(d,{label:"editor",value:"editor"}),n(d,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])]),_:1})}}}),J=y(I,[["__scopeId","data-v-93f990ce"]]);export{J as S};
+import{e as v}from"./index-Cxh72SLg.js";/* empty css *//* empty css */import{n as w,ak as g,al as R,o as x}from"./element-zW3XFg-9.js";import{t as S,r as V,w as h,v as l,I as u,J as r,A as a,x as k,G as B,ai as E,u as _,a2 as b,O as C,L as n,h as N}from"./vue-V9u7w0-f.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"switch-roles"},I=S({__name:"SwitchRoles",setup(L){const t=v(),o=V(t.roles[0]);return h(o,i=>{t.changeRoles(i)}),(i,e)=>{const c=w,d=g,p=R,m=x;return l(),u(m,{shadow:"never"},{default:r(()=>[a("div",null,[e[1]||(e[1]=a("span",null,"你的角色:",-1)),(l(!0),k(B,null,E(_(t).roles,(s,f)=>(l(),u(c,{key:f,effect:"plain",size:"large"},{default:r(()=>[b(C(s),1)]),_:2},1024))),128))]),a("div",G,[e[2]||(e[2]=a("span",null,"切换用户:",-1)),n(p,{modelValue:_(o),"onUpdate:modelValue":e[0]||(e[0]=s=>N(o)?o.value=s:null)},{default:r(()=>[n(d,{label:"editor",value:"editor"}),n(d,{label:"admin",value:"admin"})]),_:1},8,["modelValue"])])]),_:1})}}}),J=y(I,[["__scopeId","data-v-93f990ce"]]);export{J as S};
diff --git a/assets/button-level-DJadszT6.js b/assets/button-level-Bl8w4eNi.js
similarity index 93%
rename from assets/button-level-DJadszT6.js
rename to assets/button-level-Bl8w4eNi.js
index 2ea37010..98bc4bb7 100644
--- a/assets/button-level-DJadszT6.js
+++ b/assets/button-level-Bl8w4eNi.js
@@ -1 +1 @@
-import{j as g,e as x}from"./index-BW5mlZCy.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as E}from"./SwitchRoles-7v_J7Orl.js";import{t as P,o as w,aj as h,n as y,w as T,s as B}from"./element-zW3XFg-9.js";import{t as C,ak as z,v as a,x as D,L as o,J as t,R as p,I as r,a2 as s,u,F as f}from"./vue-V9u7w0-f.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-_W0GpTmX.js";function v(n){if(g(n)&&n.length>0){const{roles:i}=x();return i.some(e=>n.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin','editor'])"),!1}const S={class:"app-container"},V=C({__name:"button-level",setup(n){return(i,e)=>{const l=P,m=w,b=h,d=y,c=T,k=B,_=z("permission");return a(),D("div",S,[o(E),o(m,{header:"权限指令 v-permission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[p((a(),r(l,null,{default:t(()=>e[0]||(e[0]=[s(" admin ")])),_:1})),[[_,["admin"]]]),p((a(),r(l,null,{default:t(()=>e[1]||(e[1]=[s(" admin 和 editor ")])),_:1})),[[_,["admin","editor"]]])]),_:1}),o(m,{header:"权限函数 checkPermission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[o(b,{type:"warning",size:"large"},{default:t(()=>e[2]||(e[2]=[s(" Element Plus 的 el-tab-pane 和 el-table-column 以及其它动态渲染 DOM 的场景不适合使用 v-permission 这种情况下你可以通过 v-if + checkPermission 来实现 ")])),_:1}),o(k,{type:"border-card",class:"margin-top-20"},{default:t(()=>[u(v)(["admin"])?(a(),r(c,{key:0,label:"admin"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[3]||(e[3]=[s(` v-if="checkPermission(['admin'])" `)])),_:1})]),_:1})):f("",!0),u(v)(["admin","editor"])?(a(),r(c,{key:1,label:"admin 和 editor"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[4]||(e[4]=[s(` v-if="checkPermission(['admin', 'editor'])" `)])),_:1})]),_:1})):f("",!0)]),_:1})]),_:1})])}}}),G=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{G as default};
+import{j as g,e as x}from"./index-Cxh72SLg.js";/* empty css *//* empty css *//* empty css *//* empty css */import{S as E}from"./SwitchRoles-ClJL5VCY.js";import{t as P,o as w,aj as h,n as y,w as T,s as B}from"./element-zW3XFg-9.js";import{t as C,ak as z,v as a,x as D,L as o,J as t,R as p,I as r,a2 as s,u,F as f}from"./vue-V9u7w0-f.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-_W0GpTmX.js";function v(n){if(g(n)&&n.length>0){const{roles:i}=x();return i.some(e=>n.includes(e))}else return console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin','editor'])"),!1}const S={class:"app-container"},V=C({__name:"button-level",setup(n){return(i,e)=>{const l=P,m=w,b=h,d=y,c=T,k=B,_=z("permission");return a(),D("div",S,[o(E),o(m,{header:"权限指令 v-permission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[p((a(),r(l,null,{default:t(()=>e[0]||(e[0]=[s(" admin ")])),_:1})),[[_,["admin"]]]),p((a(),r(l,null,{default:t(()=>e[1]||(e[1]=[s(" admin 和 editor ")])),_:1})),[[_,["admin","editor"]]])]),_:1}),o(m,{header:"权限函数 checkPermission 示例",shadow:"never",class:"margin-top-20"},{default:t(()=>[o(b,{type:"warning",size:"large"},{default:t(()=>e[2]||(e[2]=[s(" Element Plus 的 el-tab-pane 和 el-table-column 以及其它动态渲染 DOM 的场景不适合使用 v-permission 这种情况下你可以通过 v-if + checkPermission 来实现 ")])),_:1}),o(k,{type:"border-card",class:"margin-top-20"},{default:t(()=>[u(v)(["admin"])?(a(),r(c,{key:0,label:"admin"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[3]||(e[3]=[s(` v-if="checkPermission(['admin'])" `)])),_:1})]),_:1})):f("",!0),u(v)(["admin","editor"])?(a(),r(c,{key:1,label:"admin 和 editor"},{default:t(()=>[o(d,{size:"large"},{default:t(()=>e[4]||(e[4]=[s(` v-if="checkPermission(['admin', 'editor'])" `)])),_:1})]),_:1})):f("",!0)]),_:1})]),_:1})])}}}),G=N(V,[["__scopeId","data-v-3d1bb89f"]]);export{G as default};
diff --git a/assets/el-message-box-B4F9u58u.js b/assets/el-message-box-BnTghVv8.js
similarity index 79%
rename from assets/el-message-box-B4F9u58u.js
rename to assets/el-message-box-BnTghVv8.js
index 16e81943..b3b8b75e 100644
--- a/assets/el-message-box-B4F9u58u.js
+++ b/assets/el-message-box-BnTghVv8.js
@@ -1 +1 @@
-import{f as e}from"./index-BW5mlZCy.js";function r(t){return e({url:"table",method:"post",data:t})}function u(t){return e({url:`table/${t}`,method:"delete"})}function l(t){return e({url:"table",method:"put",data:t})}function n(t){return e({url:"table",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
+import{f as e}from"./index-Cxh72SLg.js";function r(t){return e({url:"table",method:"post",data:t})}function u(t){return e({url:`table/${t}`,method:"delete"})}function l(t){return e({url:"table",method:"put",data:t})}function n(t){return e({url:"table",method:"get",params:t})}export{r as c,u as d,n as g,l as u};
diff --git a/assets/index-B6YcvTre.js b/assets/index-B6YcvTre.js
new file mode 100644
index 00000000..aef983ec
--- /dev/null
+++ b/assets/index-B6YcvTre.js
@@ -0,0 +1 @@
+import{f as B,e as U,u as N}from"./index-Cxh72SLg.js";/* empty css *//* empty css *//* empty css */import{t as k,v as h,x as E,aE as R,H as q,r as m,az as A,U as L,u as e,I as T,F as $,L as o,A as c,J as a,al as J,M as K,a2 as O}from"./vue-V9u7w0-f.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-CkA7b00H.js";import{W as H,X as W,Y as X,Z as Y,_ as Z,$ as j,E as G,C as P,a0 as Q,k as ee,a1 as oe,t as se}from"./element-zW3XFg-9.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vxe-_W0GpTmX.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";const te="/v3-admin-vite/assets/logo-text-2-CVewf8RJ.png";function ae(){return B({url:"login/code",method:"get"})}function re(r){return B({url:"users/login",method:"post",data:r})}const le=k({__name:"Owl",props:{closeEyes:{type:Boolean}},setup(r){const i=r;return(p,u)=>(h(),E("div",{class:q(["owl",{"owl-password":i.closeEyes}])},u[0]||(u[0]=[R('
',5)]),2))}}),ne=C(le,[["__scopeId","data-v-9d98ae89"]]);function de(){const r=m(!1);return{isFocus:r,handleBlur:()=>{r.value=!1},handleFocus:()=>{r.value=!0}}}const ie={class:"login-container"},ue={class:"login-card"},ce={class:"content"},me=k({__name:"index",setup(r){const i=A(),p=U(),u=N(),{isFocus:b,handleBlur:w,handleFocus:x}=de(),y=m(null),f=m(!1),_=m(""),t=L({username:"admin",password:"12345678",code:""}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:8,max:16,message:"长度在 8 到 16 个字符",trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur"}]};function F(){var l;(l=y.value)==null||l.validate(s=>{if(!s){G.error("表单校验不通过");return}f.value=!0,re(t).then(({data:n})=>{p.setToken(n.token),i.push("/")}).catch(()=>{g(),t.password=""}).finally(()=>{f.value=!1})})}function g(){t.code="",_.value="",ae().then(l=>{_.value=l.data})}return g(),(l,s)=>{const n=P,v=Q,V=ee,S=oe,z=se,M=H;return h(),E("div",ie,[e(u).showThemeSwitch?(h(),T(D,{key:0,class:"theme-switch"})):$("",!0),o(ne,{"close-eyes":e(b)},null,8,["close-eyes"]),c("div",ue,[s[4]||(s[4]=c("div",{class:"title"},[c("img",{src:te})],-1)),c("div",ce,[o(M,{ref_key:"loginFormRef",ref:y,model:e(t),rules:I,onKeyup:J(F,["enter"])},{default:a(()=>[o(v,{prop:"username"},{default:a(()=>[o(n,{modelValue:e(t).username,"onUpdate:modelValue":s[0]||(s[0]=d=>e(t).username=d),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":e(W),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),o(v,{prop:"password"},{default:a(()=>[o(n,{modelValue:e(t).password,"onUpdate:modelValue":s[1]||(s[1]=d=>e(t).password=d),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":e(X),size:"large","show-password":"",onBlur:e(w),onFocus:e(x)},null,8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(v,{prop:"code"},{default:a(()=>[o(n,{modelValue:e(t).code,"onUpdate:modelValue":s[2]||(s[2]=d=>e(t).code=d),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":e(Y),maxlength:"7",size:"large",onBlur:e(w),onFocus:e(x)},{append:a(()=>[o(S,{src:e(_),draggable:"false",onClick:g},{placeholder:a(()=>[o(V,null,{default:a(()=>[o(e(Z))]),_:1})]),error:a(()=>[o(V,null,{default:a(()=>[o(e(j))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon","onBlur","onFocus"])]),_:1}),o(z,{loading:e(f),type:"primary",size:"large",onClick:K(F,["prevent"])},{default:a(()=>s[3]||(s[3]=[O(" 登 录 ")])),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),ke=C(me,[["__scopeId","data-v-85c0703d"]]);export{ke as default};
diff --git a/assets/index-HwY9GhXC.js b/assets/index-B7kv1giV.js
similarity index 97%
rename from assets/index-HwY9GhXC.js
rename to assets/index-B7kv1giV.js
index 464fc364..ba16c5be 100644
--- a/assets/index-HwY9GhXC.js
+++ b/assets/index-B7kv1giV.js
@@ -1 +1 @@
-import"./index-BW5mlZCy.js";/* empty css */import{g as T,d as P}from"./el-message-box-B4F9u58u.js";import{L as s,t as M,r as k,U as b,n as S,ac as h,v as $,x as E,J as p,z as w,u as g,a2 as _}from"./vue-V9u7w0-f.js";/* empty css *//* empty css */import{a9 as R,E as C,t as U}from"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";const B={default:({row:y,column:l})=>{const i=y[l.field];return[s("span",{class:`el-tag el-tag--${i==="admin"?"primary":"warning"} el-tag--plain`},[i])]}},F={default:({row:y,column:l})=>{const i=y[l.field],[u,v]=i?["success","启用"]:["danger","禁用"];return[s("span",{class:`el-tag el-tag--${u} el-tag--plain`},[v])]}},O={class:"app-container"},H=M({name:"VxeTable",__name:"index",setup(y){const l=k(),i=b({loading:!0,autoResize:!0,pagerConfig:{align:"right"},formConfig:{items:[{field:"username",itemRender:{name:"$input",props:{placeholder:"用户名",clearable:!0}}},{field:"phone",itemRender:{name:"$input",props:{placeholder:"手机号",clearable:!0}}},{itemRender:{name:"$buttons",children:[{props:{type:"submit",content:"查询",status:"primary"}},{props:{type:"reset",content:"重置"}}]}}]},toolbarConfig:{refresh:!0,custom:!0,slots:{buttons:"toolbar-btns"}},customConfig:{checkMethod:({column:e})=>!["username"].includes(e.field)},columns:[{type:"checkbox",width:"50px"},{field:"username",title:"用户名"},{field:"roles",title:"角色",slots:B},{field:"phone",title:"手机号"},{field:"email",title:"邮箱"},{field:"status",title:"状态",slots:F},{field:"createTime",title:"创建时间"},{title:"操作",width:"150px",fixed:"right",showOverflow:!1,slots:{default:"row-operate"}}],proxyConfig:{seq:!0,form:!0,autoLoad:!0,props:{total:"total"},ajax:{query:({page:e,form:t})=>(i.loading=!0,r.clearTable(),new Promise(o=>{let a=0,c=[];const d=n=>{n!=null&&n.data&&(a=n.data.total,c=n.data.list),i.loading=!1,o({total:a,result:c})},f={username:t.username||void 0,phone:t.phone||void 0,size:e.pageSize,currentPage:e.currentPage};T(f).then(d).catch(d)}))}}}),u=k(),v=b({title:"",showClose:!0,escClosable:!0,maskClosable:!0,beforeHideMethod:()=>{var e;return(e=x.value)==null||e.clearValidate(),Promise.resolve()}}),x=k(),m=b({span:24,titleWidth:"100px",loading:!1,titleColon:!1,data:{username:"",password:""},items:[{field:"username",title:"用户名",itemRender:{name:"$input",props:{placeholder:"请输入"}}},{field:"password",title:"密码",itemRender:{name:"$input",props:{placeholder:"请输入"}}},{align:"right",itemRender:{name:"$buttons",children:[{props:{content:"取消"},events:{click:()=>{var e;return(e=u.value)==null?void 0:e.close()}}},{props:{type:"submit",content:"确定",status:"primary"},events:{click:()=>r.onSubmitForm()}}]}}],rules:{username:[{required:!0,validator:({itemValue:e})=>{switch(!0){case!e:return new Error("请输入");case!e.trim():return new Error("空格无效")}}}],password:[{required:!0,validator:({itemValue:e})=>{switch(!0){case!e:return new Error("请输入");case!e.trim():return new Error("空格无效")}}}]}}),r=b({isUpdate:!0,commitQuery:()=>{var e;return(e=l.value)==null?void 0:e.commitProxy("query")},clearTable:()=>{var e;return(e=l.value)==null?void 0:e.reloadData([])},onShowModal:e=>{var o,a,c,d;e?(r.isUpdate=!0,v.title="修改用户",m.data.username=e.username):(r.isUpdate=!1,v.title="新增用户");const t=(c=(a=(o=m.items)==null?void 0:o[0])==null?void 0:a.itemRender)==null?void 0:c.props;t&&(t.disabled=r.isUpdate),(d=u.value)==null||d.open(),S(()=>{var f,n;!r.isUpdate&&((f=x.value)==null||f.reset()),(n=x.value)==null||n.clearValidate()})},onSubmitForm:()=>{var e;m.loading||(e=x.value)==null||e.validate(t=>{if(t)return;m.loading=!0;const o=()=>{var a;m.loading=!1,(a=u.value)==null||a.close(),C.success("操作成功"),!r.isUpdate&&r.afterInsert(),r.commitQuery()};r.isUpdate?setTimeout(()=>o(),1e3):setTimeout(()=>o(),1e3)})},afterInsert:()=>{var t,o;const e=(o=(t=l.value)==null?void 0:t.getProxyInfo())==null?void 0:o.pager;e&&e.currentPage*e.pageSize===e.total&&++e.currentPage},onDelete:e=>{const t=`确定 删除 用户 ${e.username} ?`,o={type:"warning",showClose:!0,closeOnClickModal:!0,closeOnPressEscape:!0,cancelButtonText:"取消",confirmButtonText:"确定",dangerouslyUseHTMLString:!0};R.confirm(t,"提示",o).then(()=>{P(e.id).then(()=>{C.success("删除成功"),r.afterDelete(),r.commitQuery()})})},afterDelete:()=>{var o,a;const e=l.value.getData(),t=(a=(o=l.value)==null?void 0:o.getProxyInfo())==null?void 0:a.pager;t&&t.currentPage>1&&e.length===1&&--t.currentPage},moreFn:()=>{}});return(e,t)=>{const o=h("vxe-button"),a=U,c=h("vxe-grid"),d=h("vxe-form"),f=h("vxe-modal");return $(),E("div",O,[s(c,w({ref_key:"xGridDom",ref:l},g(i)),{"toolbar-btns":p(()=>[s(o,{status:"primary",icon:"vxe-icon-add",onClick:t[0]||(t[0]=n=>g(r).onShowModal())},{default:p(()=>t[1]||(t[1]=[_(" 新增用户 ")])),_:1}),s(o,{status:"danger",icon:"vxe-icon-delete"},{default:p(()=>t[2]||(t[2]=[_(" 批量删除 ")])),_:1})]),"row-operate":p(({row:n})=>[s(a,{link:"",type:"primary",onClick:D=>g(r).onShowModal(n)},{default:p(()=>t[3]||(t[3]=[_(" 修改 ")])),_:2},1032,["onClick"]),s(a,{link:"",type:"danger",onClick:D=>g(r).onDelete(n)},{default:p(()=>t[4]||(t[4]=[_(" 删除 ")])),_:2},1032,["onClick"])]),_:1},16),s(f,w({ref_key:"xModalDom",ref:u},g(v)),{default:p(()=>[s(d,w({ref_key:"xFormDom",ref:x},g(m)),null,16)]),_:1},16)])}}});export{H as default};
+import"./index-Cxh72SLg.js";/* empty css */import{g as T,d as P}from"./el-message-box-BnTghVv8.js";import{L as s,t as M,r as k,U as b,n as S,ac as h,v as $,x as E,J as p,z as w,u as g,a2 as _}from"./vue-V9u7w0-f.js";/* empty css *//* empty css */import{a9 as R,E as C,t as U}from"./element-zW3XFg-9.js";import"./vxe-_W0GpTmX.js";const B={default:({row:y,column:l})=>{const i=y[l.field];return[s("span",{class:`el-tag el-tag--${i==="admin"?"primary":"warning"} el-tag--plain`},[i])]}},F={default:({row:y,column:l})=>{const i=y[l.field],[u,v]=i?["success","启用"]:["danger","禁用"];return[s("span",{class:`el-tag el-tag--${u} el-tag--plain`},[v])]}},O={class:"app-container"},H=M({name:"VxeTable",__name:"index",setup(y){const l=k(),i=b({loading:!0,autoResize:!0,pagerConfig:{align:"right"},formConfig:{items:[{field:"username",itemRender:{name:"$input",props:{placeholder:"用户名",clearable:!0}}},{field:"phone",itemRender:{name:"$input",props:{placeholder:"手机号",clearable:!0}}},{itemRender:{name:"$buttons",children:[{props:{type:"submit",content:"查询",status:"primary"}},{props:{type:"reset",content:"重置"}}]}}]},toolbarConfig:{refresh:!0,custom:!0,slots:{buttons:"toolbar-btns"}},customConfig:{checkMethod:({column:e})=>!["username"].includes(e.field)},columns:[{type:"checkbox",width:"50px"},{field:"username",title:"用户名"},{field:"roles",title:"角色",slots:B},{field:"phone",title:"手机号"},{field:"email",title:"邮箱"},{field:"status",title:"状态",slots:F},{field:"createTime",title:"创建时间"},{title:"操作",width:"150px",fixed:"right",showOverflow:!1,slots:{default:"row-operate"}}],proxyConfig:{seq:!0,form:!0,autoLoad:!0,props:{total:"total"},ajax:{query:({page:e,form:t})=>(i.loading=!0,r.clearTable(),new Promise(o=>{let a=0,c=[];const d=n=>{n!=null&&n.data&&(a=n.data.total,c=n.data.list),i.loading=!1,o({total:a,result:c})},f={username:t.username||void 0,phone:t.phone||void 0,size:e.pageSize,currentPage:e.currentPage};T(f).then(d).catch(d)}))}}}),u=k(),v=b({title:"",showClose:!0,escClosable:!0,maskClosable:!0,beforeHideMethod:()=>{var e;return(e=x.value)==null||e.clearValidate(),Promise.resolve()}}),x=k(),m=b({span:24,titleWidth:"100px",loading:!1,titleColon:!1,data:{username:"",password:""},items:[{field:"username",title:"用户名",itemRender:{name:"$input",props:{placeholder:"请输入"}}},{field:"password",title:"密码",itemRender:{name:"$input",props:{placeholder:"请输入"}}},{align:"right",itemRender:{name:"$buttons",children:[{props:{content:"取消"},events:{click:()=>{var e;return(e=u.value)==null?void 0:e.close()}}},{props:{type:"submit",content:"确定",status:"primary"},events:{click:()=>r.onSubmitForm()}}]}}],rules:{username:[{required:!0,validator:({itemValue:e})=>{switch(!0){case!e:return new Error("请输入");case!e.trim():return new Error("空格无效")}}}],password:[{required:!0,validator:({itemValue:e})=>{switch(!0){case!e:return new Error("请输入");case!e.trim():return new Error("空格无效")}}}]}}),r=b({isUpdate:!0,commitQuery:()=>{var e;return(e=l.value)==null?void 0:e.commitProxy("query")},clearTable:()=>{var e;return(e=l.value)==null?void 0:e.reloadData([])},onShowModal:e=>{var o,a,c,d;e?(r.isUpdate=!0,v.title="修改用户",m.data.username=e.username):(r.isUpdate=!1,v.title="新增用户");const t=(c=(a=(o=m.items)==null?void 0:o[0])==null?void 0:a.itemRender)==null?void 0:c.props;t&&(t.disabled=r.isUpdate),(d=u.value)==null||d.open(),S(()=>{var f,n;!r.isUpdate&&((f=x.value)==null||f.reset()),(n=x.value)==null||n.clearValidate()})},onSubmitForm:()=>{var e;m.loading||(e=x.value)==null||e.validate(t=>{if(t)return;m.loading=!0;const o=()=>{var a;m.loading=!1,(a=u.value)==null||a.close(),C.success("操作成功"),!r.isUpdate&&r.afterInsert(),r.commitQuery()};r.isUpdate?setTimeout(()=>o(),1e3):setTimeout(()=>o(),1e3)})},afterInsert:()=>{var t,o;const e=(o=(t=l.value)==null?void 0:t.getProxyInfo())==null?void 0:o.pager;e&&e.currentPage*e.pageSize===e.total&&++e.currentPage},onDelete:e=>{const t=`确定 删除 用户 ${e.username} ?`,o={type:"warning",showClose:!0,closeOnClickModal:!0,closeOnPressEscape:!0,cancelButtonText:"取消",confirmButtonText:"确定",dangerouslyUseHTMLString:!0};R.confirm(t,"提示",o).then(()=>{P(e.id).then(()=>{C.success("删除成功"),r.afterDelete(),r.commitQuery()})})},afterDelete:()=>{var o,a;const e=l.value.getData(),t=(a=(o=l.value)==null?void 0:o.getProxyInfo())==null?void 0:a.pager;t&&t.currentPage>1&&e.length===1&&--t.currentPage},moreFn:()=>{}});return(e,t)=>{const o=h("vxe-button"),a=U,c=h("vxe-grid"),d=h("vxe-form"),f=h("vxe-modal");return $(),E("div",O,[s(c,w({ref_key:"xGridDom",ref:l},g(i)),{"toolbar-btns":p(()=>[s(o,{status:"primary",icon:"vxe-icon-add",onClick:t[0]||(t[0]=n=>g(r).onShowModal())},{default:p(()=>t[1]||(t[1]=[_(" 新增用户 ")])),_:1}),s(o,{status:"danger",icon:"vxe-icon-delete"},{default:p(()=>t[2]||(t[2]=[_(" 批量删除 ")])),_:1})]),"row-operate":p(({row:n})=>[s(a,{link:"",type:"primary",onClick:D=>g(r).onShowModal(n)},{default:p(()=>t[3]||(t[3]=[_(" 修改 ")])),_:2},1032,["onClick"]),s(a,{link:"",type:"danger",onClick:D=>g(r).onDelete(n)},{default:p(()=>t[4]||(t[4]=[_(" 删除 ")])),_:2},1032,["onClick"])]),_:1},16),s(f,w({ref_key:"xModalDom",ref:u},g(v)),{default:p(()=>[s(d,w({ref_key:"xFormDom",ref:x},g(m)),null,16)]),_:1},16)])}}});export{H as default};
diff --git a/assets/index-B8s_8mlg.js b/assets/index-BkUvWAEz.js
similarity index 92%
rename from assets/index-B8s_8mlg.js
rename to assets/index-BkUvWAEz.js
index 36ecd5b1..ecb8f7ba 100644
--- a/assets/index-B8s_8mlg.js
+++ b/assets/index-BkUvWAEz.js
@@ -1 +1 @@
-import"./index-BW5mlZCy.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ad as i,o as p}from"./element-zW3XFg-9.js";import{ac as _,v as l,x as m,A as o,L as e,J as r,a2 as d}from"./vue-V9u7w0-f.js";import"./vxe-_W0GpTmX.js";const f={},u={class:"app-container"};function v(x,t){const n=i,a=_("router-view"),s=p;return l(),m("div",u,[o("h4",null,[t[1]||(t[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),e(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>t[0]||(t[0]=[d(" src/router/config.ts ")])),_:1})]),e(s,{header:"二级路由"},{default:r(()=>[e(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
+import"./index-Cxh72SLg.js";/* empty css */import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{ad as i,o as p}from"./element-zW3XFg-9.js";import{ac as _,v as l,x as m,A as o,L as e,J as r,a2 as d}from"./vue-V9u7w0-f.js";import"./vxe-_W0GpTmX.js";const f={},u={class:"app-container"};function v(x,t){const n=i,a=_("router-view"),s=p;return l(),m("div",u,[o("h4",null,[t[1]||(t[1]=o("span",null," 三级及其以上路由缓存功能默认关闭,需要请前往此配置文件中打开: ",-1)),e(n,{type:"primary",href:"https://github.com/un-pany/v3-admin-vite/blob/main/src/router/config.ts",target:"_blank"},{default:r(()=>t[0]||(t[0]=[d(" src/router/config.ts ")])),_:1})]),e(s,{header:"二级路由"},{default:r(()=>[e(a)]),_:1})])}const B=c(f,[["render",v],["__scopeId","data-v-688a264b"]]);export{B as default};
diff --git a/assets/index-T6_Vcelv.js b/assets/index-CdmY9scD.js
similarity index 89%
rename from assets/index-T6_Vcelv.js
rename to assets/index-CdmY9scD.js
index 7acc72ef..4a330639 100644
--- a/assets/index-T6_Vcelv.js
+++ b/assets/index-CdmY9scD.js
@@ -1 +1 @@
-import"./index-BW5mlZCy.js";/* empty css *//* empty css */import{o as r,C as s}from"./element-zW3XFg-9.js";import{t as p,r as m,v as c,x as d,L as o,J as i,u,h as _}from"./vue-V9u7w0-f.js";import"./vxe-_W0GpTmX.js";const f={class:"app-container"},L=p({name:"Level3",__name:"index",setup(x){const e=m("");return(h,t)=>{const a=s,n=r;return c(),d("div",f,[o(n,{header:"三级路由"},{default:i(()=>[o(a,{modelValue:u(e),"onUpdate:modelValue":t[0]||(t[0]=l=>_(e)?e.value=l:null),placeholder:"输入任意字符测试缓存"},null,8,["modelValue"])]),_:1})])}}});export{L as default};
+import"./index-Cxh72SLg.js";/* empty css *//* empty css */import{o as r,C as s}from"./element-zW3XFg-9.js";import{t as p,r as m,v as c,x as d,L as o,J as i,u,h as _}from"./vue-V9u7w0-f.js";import"./vxe-_W0GpTmX.js";const f={class:"app-container"},L=p({name:"Level3",__name:"index",setup(x){const e=m("");return(h,t)=>{const a=s,n=r;return c(),d("div",f,[o(n,{header:"三级路由"},{default:i(()=>[o(a,{modelValue:u(e),"onUpdate:modelValue":t[0]||(t[0]=l=>_(e)?e.value=l:null),placeholder:"输入任意字符测试缓存"},null,8,["modelValue"])]),_:1})])}}});export{L as default};
diff --git a/assets/index-BW5mlZCy.js b/assets/index-Cxh72SLg.js
similarity index 96%
rename from assets/index-BW5mlZCy.js
rename to assets/index-Cxh72SLg.js
index f8f57a27..50175873 100644
--- a/assets/index-BW5mlZCy.js
+++ b/assets/index-Cxh72SLg.js
@@ -1,7 +1,7 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BbVHzdnx.js","assets/vue-V9u7w0-f.js","assets/useWatermark-XzwShjbX.js","assets/element-zW3XFg-9.js","assets/index.vue_vue_type_script_setup_true_lang-Bji1A5YR.js","assets/el-tooltip-l0sNRNKZ.js","assets/index-h8USmNax.css","assets/el-button-DhOMi8yW.css","assets/el-button-group-ePhtJS9H.css","assets/el-scrollbar-CYqf3UuD.css","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/vxe-_W0GpTmX.js","assets/index-BHcwwa-z.css","assets/el-tab-pane-BURcj4qt.css","assets/el-card-fwQOLwdi.css","assets/el-tag-DljBBxJR.css","assets/el-dialog-DCGCHX2q.css","assets/el-overlay-CUAhHdWP.css","assets/el-input-DdWwC06L.css","assets/index-CbD5WXVu.js","assets/403-B9NrukKJ.js","assets/Layout-D9spSNzA.js","assets/Layout-DVPSJTOz.css","assets/404-hiP_NF0D.js","assets/index-PVxXqcK6.js","assets/index-qktQwx2G.css","assets/el-form-item-CKZiX9BY.css","assets/index-CL5YZraS.js","assets/index-Fw2ODUIB.css","assets/index-CQhVxPaC.js","assets/index-BAc7P14O.js","assets/el-message-box-B4F9u58u.js","assets/el-message-box-BywBM3sh.css","assets/index-DrLvsj1b.css","assets/el-loading-C5IeuJ3V.css","assets/el-select-BaQA8IKP.css","assets/index-HwY9GhXC.js","assets/index-B8s_8mlg.js","assets/index-BG5pHSaj.css","assets/index-T6_Vcelv.js","assets/use-fetch-select-BU2weCHp.js","assets/use-fetch-select-i6DeuKe_.css","assets/use-fullscreen-loading-B1wkTnHB.js","assets/use-fullscreen-loading-BZZfQs7_.css","assets/use-watermark-CioxP5FQ.js","assets/use-watermark-DHr8hXba.css","assets/page-level-D9679DLM.js","assets/SwitchRoles-7v_J7Orl.js","assets/SwitchRoles-CRycCodv.css","assets/page-level-nLO9Fg8q.css","assets/button-level-DJadszT6.js","assets/button-level-ClaOf9yw.css"])))=>i.map(i=>d[i]);
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DZMNnYJ7.js","assets/vue-V9u7w0-f.js","assets/useWatermark-XzwShjbX.js","assets/element-zW3XFg-9.js","assets/index.vue_vue_type_script_setup_true_lang-CkA7b00H.js","assets/el-tooltip-l0sNRNKZ.js","assets/index-h8USmNax.css","assets/el-button-DhOMi8yW.css","assets/el-button-group-ePhtJS9H.css","assets/el-scrollbar-CYqf3UuD.css","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/vxe-_W0GpTmX.js","assets/index-BHcwwa-z.css","assets/el-tab-pane-BURcj4qt.css","assets/el-card-fwQOLwdi.css","assets/el-tag-DljBBxJR.css","assets/el-dialog-DCGCHX2q.css","assets/el-overlay-CUAhHdWP.css","assets/el-input-DdWwC06L.css","assets/index-CbD5WXVu.js","assets/403-PGxJXJ5i.js","assets/Layout-H9C08k5f.js","assets/Layout-DVPSJTOz.css","assets/404-Bqk5xZFC.js","assets/index-B6YcvTre.js","assets/index-DwbJB0NX.css","assets/el-form-item-CKZiX9BY.css","assets/index-dU35X-aR.js","assets/index-Fw2ODUIB.css","assets/index-CQhVxPaC.js","assets/index-Djr5CI3-.js","assets/el-message-box-BnTghVv8.js","assets/el-message-box-BywBM3sh.css","assets/index-DrLvsj1b.css","assets/el-loading-C5IeuJ3V.css","assets/el-select-BaQA8IKP.css","assets/index-B7kv1giV.js","assets/index-BkUvWAEz.js","assets/index-BG5pHSaj.css","assets/index-CdmY9scD.js","assets/use-fetch-select-DEA4kVTH.js","assets/use-fetch-select-i6DeuKe_.css","assets/use-fullscreen-loading-FuAIfCFu.js","assets/use-fullscreen-loading-BZZfQs7_.css","assets/use-watermark-BylEiH6f.js","assets/use-watermark-DHr8hXba.css","assets/page-level-pT7mErud.js","assets/SwitchRoles-ClJL5VCY.js","assets/SwitchRoles-CRycCodv.css","assets/page-level-nLO9Fg8q.css","assets/button-level-Bl8w4eNi.js","assets/button-level-ClaOf9yw.css"])))=>i.map(i=>d[i]);
var qt=Object.defineProperty;var Mt=(e,t,n)=>t in e?qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var N=(e,t,n)=>Mt(e,typeof t!="symbol"?t+"":t,n);import{at as Ht,au as zt,av as se,r as B,w as at,b as Ce,Q as Wt,aw as Jt,v as ut,x as $t,A as Gt,aa as q,t as Kt,I as Xt,u as Yt,ac as Qt,J as Zt,L as en,aq as tn}from"./vue-V9u7w0-f.js";import{E as X,a as nn,m as rn,g as sn,b as on,c as ct,d as an}from"./element-zW3XFg-9.js";import{V as lt}from"./vxe-_W0GpTmX.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();const un=Ht(),cn="modulepreload",ln=function(e){return"/v3-admin-vite/"+e},Ve={},O=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.allSettled(n.map(h=>{if(h=ln(h),h in Ve)return;Ve[h]=!0;const f=h.endsWith(".css"),m=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${m}`))return;const l=document.createElement("link");if(l.rel=f?"stylesheet":cn,f||(l.as="script"),l.crossOrigin="",l.href=h,c&&l.setAttribute("nonce",c),document.head.appendChild(l),f)return new Promise((E,w)=>{l.addEventListener("load",E),l.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return s.then(i=>{for(const c of i||[])c.status==="rejected"&&o(c.reason);return t().catch(o)})},fn="/v3-admin-vite/",Oe={history:zt(fn),dynamic:!0,defaultRoles:["DEFAULT_ROLE"],thirdLevelRouteCache:!1};function dn(e,t){var r;const n=(r=t.meta)==null?void 0:r.roles;return n?e.some(s=>n.includes(s)):!0}function ft(e,t){const n=[];return e.forEach(r=>{const s={...r};dn(t,s)&&(s.children&&(s.children=ft(s.children,t)),n.push(s))}),n}const pn=se("permission",()=>{const e=B([]),t=B([]),n=o=>{const i=ft(ot,o);s(i)},r=()=>{s(ot)},s=o=>{e.value=Ut.concat(o),t.value=o};return{routes:e,addRoutes:t,setRoutes:n,setAllRoutes:r}}),j="v3-admin-vite";class A{}N(A,"TOKEN",`${j}-token-key`),N(A,"CONFIG_LAYOUT",`${j}-config-layout-key`),N(A,"SIDEBAR_STATUS",`${j}-sidebar-status-key`),N(A,"ACTIVE_THEME_NAME",`${j}-active-theme-name-key`),N(A,"VISITED_VIEWS",`${j}-visited-views-key`),N(A,"CACHED_VIEWS",`${j}-cached-views-key`);function K(e){for(var t=1;t"u")){i=K({},t,i),typeof i.expires=="number"&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&(i.expires=i.expires.toUTCString()),s=encodeURIComponent(s).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var h in i)i[h]&&(c+="; "+h,i[h]!==!0&&(c+="="+i[h].split(";")[0]));return document.cookie=s+"="+e.write(o,s)+c}}function r(s){if(!(typeof document>"u"||arguments.length&&!s)){for(var o=document.cookie?document.cookie.split("; "):[],i={},c=0;ct=>{const n=hn.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),L=e=>(e=e.toLowerCase(),t=>oe(t)===e),ie=e=>t=>typeof t===e,{isArray:H}=Array,J=ie("undefined");function En(e){return e!==null&&!J(e)&&e.constructor!==null&&!J(e.constructor)&&P(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const pt=L("ArrayBuffer");function gn(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&pt(e.buffer),t}const yn=ie("string"),P=ie("function"),mt=ie("number"),ae=e=>e!==null&&typeof e=="object",wn=e=>e===!0||e===!1,Y=e=>{if(oe(e)!=="object")return!1;const t=De(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},bn=L("Date"),Sn=L("File"),Tn=L("Blob"),Rn=L("FileList"),An=e=>ae(e)&&P(e.pipe),_n=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||P(e.append)&&((t=oe(e))==="formdata"||t==="object"&&P(e.toString)&&e.toString()==="[object FormData]"))},Cn=L("URLSearchParams"),[On,vn,Fn,Dn]=["ReadableStream","Request","Response","Headers"].map(L),Pn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function $(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),H(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const I=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Et=e=>!J(e)&&e!==I;function Ee(){const{caseless:e}=Et(this)&&this||{},t={},n=(r,s)=>{const o=e&&ht(t,s)||s;Y(t[o])&&Y(r)?t[o]=Ee(t[o],r):Y(r)?t[o]=Ee({},r):H(r)?t[o]=r.slice():t[o]=r};for(let r=0,s=arguments.length;r($(t,(s,o)=>{n&&P(s)?e[o]=dt(s,n):e[o]=s},{allOwnKeys:r}),e),Ln=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),kn=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Bn=(e,t,n,r)=>{let s,o,i;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&De(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Nn=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},In=e=>{if(!e)return null;if(H(e))return e;let t=e.length;if(!mt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Un=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&De(Uint8Array)),Vn=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},jn=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},qn=L("HTMLFormElement"),Mn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Me=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Hn=L("RegExp"),gt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};$(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},zn=e=>{gt(e,(t,n)=>{if(P(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(P(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Wn=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return H(e)?r(e):r(String(e).split(t)),n},Jn=()=>{},$n=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,fe="abcdefghijklmnopqrstuvwxyz",He="0123456789",yt={DIGIT:He,ALPHA:fe,ALPHA_DIGIT:fe+fe.toUpperCase()+He},Gn=(e=16,t=yt.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function Kn(e){return!!(e&&P(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Xn=e=>{const t=new Array(10),n=(r,s)=>{if(ae(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const o=H(r)?[]:{};return $(r,(i,c)=>{const h=n(i,s+1);!J(h)&&(o[c]=h)}),t[s]=void 0,o}}return r};return n(e,0)},Yn=L("AsyncFunction"),Qn=e=>e&&(ae(e)||P(e))&&P(e.then)&&P(e.catch),wt=((e,t)=>e?setImmediate:t?((n,r)=>(I.addEventListener("message",({source:s,data:o})=>{s===I&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),I.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",P(I.postMessage)),Zn=typeof queueMicrotask<"u"?queueMicrotask.bind(I):typeof process<"u"&&process.nextTick||wt,a={isArray:H,isArrayBuffer:pt,isBuffer:En,isFormData:_n,isArrayBufferView:gn,isString:yn,isNumber:mt,isBoolean:wn,isObject:ae,isPlainObject:Y,isReadableStream:On,isRequest:vn,isResponse:Fn,isHeaders:Dn,isUndefined:J,isDate:bn,isFile:Sn,isBlob:Tn,isRegExp:Hn,isFunction:P,isStream:An,isURLSearchParams:Cn,isTypedArray:Un,isFileList:Rn,forEach:$,merge:Ee,extend:xn,trim:Pn,stripBOM:Ln,inherits:kn,toFlatObject:Bn,kindOf:oe,kindOfTest:L,endsWith:Nn,toArray:In,forEachEntry:Vn,matchAll:jn,isHTMLForm:qn,hasOwnProperty:Me,hasOwnProp:Me,reduceDescriptors:gt,freezeMethods:zn,toObjectSet:Wn,toCamelCase:Mn,noop:Jn,toFiniteNumber:$n,findKey:ht,global:I,isContextDefined:Et,ALPHABET:yt,generateString:Gn,isSpecCompliantForm:Kn,toJSONObject:Xn,isAsyncFn:Yn,isThenable:Qn,setImmediate:wt,asap:Zn};function g(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}a.inherits(g,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const bt=g.prototype,St={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{St[e]={value:e}});Object.defineProperties(g,St);Object.defineProperty(bt,"isAxiosError",{value:!0});g.from=(e,t,n,r,s,o)=>{const i=Object.create(bt);return a.toFlatObject(e,i,function(h){return h!==Error.prototype},c=>c!=="isAxiosError"),g.call(i,e.message,t,n,r,s),i.cause=e,i.name=e.name,o&&Object.assign(i,o),i};const er=null;function ge(e){return a.isPlainObject(e)||a.isArray(e)}function Tt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function ze(e,t,n){return e?e.concat(t).map(function(s,o){return s=Tt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function tr(e){return a.isArray(e)&&!e.some(ge)}const nr=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function ue(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(d,p){return!a.isUndefined(p[d])});const r=n.metaTokens,s=n.visitor||m,o=n.dots,i=n.indexes,h=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function f(u){if(u===null)return"";if(a.isDate(u))return u.toISOString();if(!h&&a.isBlob(u))throw new g("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(u)||a.isTypedArray(u)?h&&typeof Blob=="function"?new Blob([u]):Buffer.from(u):u}function m(u,d,p){let y=u;if(u&&!p&&typeof u=="object"){if(a.endsWith(d,"{}"))d=r?d:d.slice(0,-2),u=JSON.stringify(u);else if(a.isArray(u)&&tr(u)||(a.isFileList(u)||a.endsWith(d,"[]"))&&(y=a.toArray(u)))return d=Tt(d),y.forEach(function(T,S){!(a.isUndefined(T)||T===null)&&t.append(i===!0?ze([d],S,o):i===null?d:d+"[]",f(T))}),!1}return ge(u)?!0:(t.append(ze(p,d,o),f(u)),!1)}const l=[],E=Object.assign(nr,{defaultVisitor:m,convertValue:f,isVisitable:ge});function w(u,d){if(!a.isUndefined(u)){if(l.indexOf(u)!==-1)throw Error("Circular reference detected in "+d.join("."));l.push(u),a.forEach(u,function(y,b){(!(a.isUndefined(y)||y===null)&&s.call(t,y,a.isString(b)?b.trim():b,d,E))===!0&&w(y,d?d.concat(b):[b])}),l.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return w(e),t}function We(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Pe(e,t){this._pairs=[],e&&ue(e,this,t)}const Rt=Pe.prototype;Rt.append=function(t,n){this._pairs.push([t,n])};Rt.toString=function(t){const n=t?function(r){return t.call(this,r,We)}:We;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function rr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function At(e,t,n){if(!t)return e;const r=n&&n.encode||rr;a.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let o;if(s?o=s(t,n):o=a.isURLSearchParams(t)?t.toString():new Pe(t,n).toString(r),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class Je{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const _t={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},sr=typeof URLSearchParams<"u"?URLSearchParams:Pe,or=typeof FormData<"u"?FormData:null,ir=typeof Blob<"u"?Blob:null,ar={isBrowser:!0,classes:{URLSearchParams:sr,FormData:or,Blob:ir},protocols:["http","https","file","blob","url","data"]},xe=typeof window<"u"&&typeof document<"u",ye=typeof navigator=="object"&&navigator||void 0,ur=xe&&(!ye||["ReactNative","NativeScript","NS"].indexOf(ye.product)<0),cr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",lr=xe&&window.location.href||"http://localhost",fr=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:xe,hasStandardBrowserEnv:ur,hasStandardBrowserWebWorkerEnv:cr,navigator:ye,origin:lr},Symbol.toStringTag,{value:"Module"})),v={...fr,...ar};function dr(e,t){return ue(e,new v.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,o){return v.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function pr(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function mr(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&a.isArray(s)?s.length:i,h?(a.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!c):((!s[i]||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=mr(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(pr(r),s,n,0)}),n}return null}function hr(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const G={transitional:_t,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(Ct(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return dr(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const h=this.env&&this.env.FormData;return ue(c?{"files[]":t}:t,h&&new h,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),hr(t)):t}],transformResponse:[function(t){const n=this.transitional||G.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(c){if(i)throw c.name==="SyntaxError"?g.from(c,g.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:v.classes.FormData,Blob:v.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{G.headers[e]={}});const Er=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),gr=e=>{const t={};let n,r,s;return e&&e.split(`
`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&Er[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},$e=Symbol("internals");function W(e){return e&&String(e).trim().toLowerCase()}function Q(e){return e===!1||e==null?e:a.isArray(e)?e.map(Q):String(e)}function yr(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const wr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function de(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function br(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Sr(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}class D{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,h,f){const m=W(h);if(!m)throw new Error("header name must be a non-empty string");const l=a.findKey(s,m);(!l||s[l]===void 0||f===!0||f===void 0&&s[l]!==!1)&&(s[l||h]=Q(c))}const i=(c,h)=>a.forEach(c,(f,m)=>o(f,m,h));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!wr(t))i(gr(t),n);else if(a.isHeaders(t))for(const[c,h]of t.entries())o(h,c,r);else t!=null&&o(n,t,r);return this}get(t,n){if(t=W(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return yr(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=W(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||de(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=W(i),i){const c=a.findKey(r,i);c&&(!n||de(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||de(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,o)=>{const i=a.findKey(r,o);if(i){n[i]=Q(s),delete n[o];return}const c=t?br(o):String(o).trim();c!==o&&delete n[o],n[c]=Q(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[$e]=this[$e]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=W(i);r[c]||(Sr(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}}D.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(D.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(D);function pe(e,t){const n=this||G,r=t||n,s=D.from(r.headers);let o=r.data;return a.forEach(e,function(c){o=c.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Ot(e){return!!(e&&e.__CANCEL__)}function z(e,t,n){g.call(this,e??"canceled",g.ERR_CANCELED,t,n),this.name="CanceledError"}a.inherits(z,g,{__CANCEL__:!0});function vt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new g("Request failed with status code "+n.status,[g.ERR_BAD_REQUEST,g.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Tr(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Rr(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(h){const f=Date.now(),m=r[o];i||(i=f),n[s]=h,r[s]=f;let l=o,E=0;for(;l!==s;)E+=n[l++],l=l%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),f-i{n=m,s=null,o&&(clearTimeout(o),o=null),e.apply(null,f)};return[(...f)=>{const m=Date.now(),l=m-n;l>=r?i(f,m):(s=f,o||(o=setTimeout(()=>{o=null,i(s)},r-l)))},()=>s&&i(s)]}const ne=(e,t,n=3)=>{let r=0;const s=Rr(50,250);return Ar(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,h=i-r,f=s(h),m=i<=c;r=i;const l={loaded:i,total:c,progress:c?i/c:void 0,bytes:h,rate:f||void 0,estimated:f&&c&&m?(c-i)/f:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(l)},n)},Ge=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Ke=e=>(...t)=>a.asap(()=>e(...t)),_r=v.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,v.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(v.origin),v.navigator&&/(msie|trident)/i.test(v.navigator.userAgent)):()=>!0,Cr=v.hasStandardBrowserEnv?{write(e,t,n,r,s,o){const i=[e+"="+encodeURIComponent(t)];a.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),a.isString(r)&&i.push("path="+r),a.isString(s)&&i.push("domain="+s),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Or(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function vr(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ft(e,t){return e&&!Or(t)?vr(e,t):t}const Xe=e=>e instanceof D?{...e}:e;function V(e,t){t=t||{};const n={};function r(f,m,l,E){return a.isPlainObject(f)&&a.isPlainObject(m)?a.merge.call({caseless:E},f,m):a.isPlainObject(m)?a.merge({},m):a.isArray(m)?m.slice():m}function s(f,m,l,E){if(a.isUndefined(m)){if(!a.isUndefined(f))return r(void 0,f,l,E)}else return r(f,m,l,E)}function o(f,m){if(!a.isUndefined(m))return r(void 0,m)}function i(f,m){if(a.isUndefined(m)){if(!a.isUndefined(f))return r(void 0,f)}else return r(void 0,m)}function c(f,m,l){if(l in t)return r(f,m);if(l in e)return r(void 0,f)}const h={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(f,m,l)=>s(Xe(f),Xe(m),l,!0)};return a.forEach(Object.keys(Object.assign({},e,t)),function(m){const l=h[m]||s,E=l(e[m],t[m],m);a.isUndefined(E)&&l!==c||(n[m]=E)}),n}const Dt=e=>{const t=V({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:o,headers:i,auth:c}=t;t.headers=i=D.from(i),t.url=At(Ft(t.baseURL,t.url),e.params,e.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")));let h;if(a.isFormData(n)){if(v.hasStandardBrowserEnv||v.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((h=i.getContentType())!==!1){const[f,...m]=h?h.split(";").map(l=>l.trim()).filter(Boolean):[];i.setContentType([f||"multipart/form-data",...m].join("; "))}}if(v.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(t)),r||r!==!1&&_r(t.url))){const f=s&&o&&Cr.read(o);f&&i.set(s,f)}return t},Fr=typeof XMLHttpRequest<"u",Dr=Fr&&function(e){return new Promise(function(n,r){const s=Dt(e);let o=s.data;const i=D.from(s.headers).normalize();let{responseType:c,onUploadProgress:h,onDownloadProgress:f}=s,m,l,E,w,u;function d(){w&&w(),u&&u(),s.cancelToken&&s.cancelToken.unsubscribe(m),s.signal&&s.signal.removeEventListener("abort",m)}let p=new XMLHttpRequest;p.open(s.method.toUpperCase(),s.url,!0),p.timeout=s.timeout;function y(){if(!p)return;const T=D.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),R={data:!c||c==="text"||c==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:T,config:e,request:p};vt(function(F){n(F),d()},function(F){r(F),d()},R),p=null}"onloadend"in p?p.onloadend=y:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(y)},p.onabort=function(){p&&(r(new g("Request aborted",g.ECONNABORTED,e,p)),p=null)},p.onerror=function(){r(new g("Network Error",g.ERR_NETWORK,e,p)),p=null},p.ontimeout=function(){let S=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const R=s.transitional||_t;s.timeoutErrorMessage&&(S=s.timeoutErrorMessage),r(new g(S,R.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,p)),p=null},o===void 0&&i.setContentType(null),"setRequestHeader"in p&&a.forEach(i.toJSON(),function(S,R){p.setRequestHeader(R,S)}),a.isUndefined(s.withCredentials)||(p.withCredentials=!!s.withCredentials),c&&c!=="json"&&(p.responseType=s.responseType),f&&([E,u]=ne(f,!0),p.addEventListener("progress",E)),h&&p.upload&&([l,w]=ne(h),p.upload.addEventListener("progress",l),p.upload.addEventListener("loadend",w)),(s.cancelToken||s.signal)&&(m=T=>{p&&(r(!T||T.type?new z(null,e,p):T),p.abort(),p=null)},s.cancelToken&&s.cancelToken.subscribe(m),s.signal&&(s.signal.aborted?m():s.signal.addEventListener("abort",m)));const b=Tr(s.url);if(b&&v.protocols.indexOf(b)===-1){r(new g("Unsupported protocol "+b+":",g.ERR_BAD_REQUEST,e));return}p.send(o||null)})},Pr=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const o=function(f){if(!s){s=!0,c();const m=f instanceof Error?f:this.reason;r.abort(m instanceof g?m:new z(m instanceof Error?m.message:m))}};let i=t&&setTimeout(()=>{i=null,o(new g(`timeout ${t} of ms exceeded`,g.ETIMEDOUT))},t);const c=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(o):f.removeEventListener("abort",o)}),e=null)};e.forEach(f=>f.addEventListener("abort",o));const{signal:h}=r;return h.unsubscribe=()=>a.asap(c),h}},xr=function*(e,t){let n=e.byteLength;if(n{const s=Lr(e,t);let o=0,i,c=h=>{i||(i=!0,r&&r(h))};return new ReadableStream({async pull(h){try{const{done:f,value:m}=await s.next();if(f){c(),h.close();return}let l=m.byteLength;if(n){let E=o+=l;n(E)}h.enqueue(new Uint8Array(m))}catch(f){throw c(f),f}},cancel(h){return c(h),s.return()}},{highWaterMark:2})},ce=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Pt=ce&&typeof ReadableStream=="function",Br=ce&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),xt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Nr=Pt&&xt(()=>{let e=!1;const t=new Request(v.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Qe=64*1024,we=Pt&&xt(()=>a.isReadableStream(new Response("").body)),re={stream:we&&(e=>e.body)};ce&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!re[t]&&(re[t]=a.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new g(`Response type '${t}' is not supported`,g.ERR_NOT_SUPPORT,r)})})})(new Response);const Ir=async e=>{if(e==null)return 0;if(a.isBlob(e))return e.size;if(a.isSpecCompliantForm(e))return(await new Request(v.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(a.isArrayBufferView(e)||a.isArrayBuffer(e))return e.byteLength;if(a.isURLSearchParams(e)&&(e=e+""),a.isString(e))return(await Br(e)).byteLength},Ur=async(e,t)=>{const n=a.toFiniteNumber(e.getContentLength());return n??Ir(t)},Vr=ce&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:o,timeout:i,onDownloadProgress:c,onUploadProgress:h,responseType:f,headers:m,withCredentials:l="same-origin",fetchOptions:E}=Dt(e);f=f?(f+"").toLowerCase():"text";let w=Pr([s,o&&o.toAbortSignal()],i),u;const d=w&&w.unsubscribe&&(()=>{w.unsubscribe()});let p;try{if(h&&Nr&&n!=="get"&&n!=="head"&&(p=await Ur(m,r))!==0){let R=new Request(t,{method:"POST",body:r,duplex:"half"}),C;if(a.isFormData(r)&&(C=R.headers.get("content-type"))&&m.setContentType(C),R.body){const[F,x]=Ge(p,ne(Ke(h)));r=Ye(R.body,Qe,F,x)}}a.isString(l)||(l=l?"include":"omit");const y="credentials"in Request.prototype;u=new Request(t,{...E,signal:w,method:n.toUpperCase(),headers:m.normalize().toJSON(),body:r,duplex:"half",credentials:y?l:void 0});let b=await fetch(u);const T=we&&(f==="stream"||f==="response");if(we&&(c||T&&d)){const R={};["status","statusText","headers"].forEach(Ue=>{R[Ue]=b[Ue]});const C=a.toFiniteNumber(b.headers.get("content-length")),[F,x]=c&&Ge(C,ne(Ke(c),!0))||[];b=new Response(Ye(b.body,Qe,F,()=>{x&&x(),d&&d()}),R)}f=f||"text";let S=await re[a.findKey(re,f)||"text"](b,e);return!T&&d&&d(),await new Promise((R,C)=>{vt(R,C,{data:S,headers:D.from(b.headers),status:b.status,statusText:b.statusText,config:e,request:u})})}catch(y){throw d&&d(),y&&y.name==="TypeError"&&/fetch/i.test(y.message)?Object.assign(new g("Network Error",g.ERR_NETWORK,e,u),{cause:y.cause||y}):g.from(y,y&&y.code,e,u)}}),be={http:er,xhr:Dr,fetch:Vr};a.forEach(be,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ze=e=>`- ${e}`,jr=e=>a.isFunction(e)||e===null||e===!1,Lt={getAdapter:e=>{e=a.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let o=0;o`adapter ${c} `+(h===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since :
`+o.map(Ze).join(`
`):" "+Ze(o[0]):"as no adapter specified";throw new g("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:be};function me(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new z(null,e)}function et(e){return me(e),e.headers=D.from(e.headers),e.data=pe.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lt.getAdapter(e.adapter||G.adapter)(e).then(function(r){return me(e),r.data=pe.call(e,e.transformResponse,r),r.headers=D.from(r.headers),r},function(r){return Ot(r)||(me(e),r&&r.response&&(r.response.data=pe.call(e,e.transformResponse,r.response),r.response.headers=D.from(r.response.headers))),Promise.reject(r)})}const kt="1.7.9",le={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{le[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const tt={};le.transitional=function(t,n,r){function s(o,i){return"[Axios v"+kt+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new g(s(i," has been removed"+(n?" in "+n:"")),g.ERR_DEPRECATED);return n&&!tt[i]&&(tt[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,c):!0}};le.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function qr(e,t,n){if(typeof e!="object")throw new g("options must be an object",g.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=t[o];if(i){const c=e[o],h=c===void 0||i(c,o,e);if(h!==!0)throw new g("option "+o+" must be "+h,g.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new g("Unknown option "+o,g.ERR_BAD_OPTION)}}const Z={assertOptions:qr,validators:le},k=Z.validators;class U{constructor(t){this.defaults=t,this.interceptors={request:new Je,response:new Je}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=`
-`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=V(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Z.assertOptions(r,{silentJSONParsing:k.transitional(k.boolean),forcedJSONParsing:k.transitional(k.boolean),clarifyTimeoutError:k.transitional(k.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:Z.assertOptions(s,{encode:k.function,serialize:k.function},!0)),Z.assertOptions(n,{baseUrl:k.spelling("baseURL"),withXsrfToken:k.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[n.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],u=>{delete o[u]}),n.headers=D.concat(i,o);const c=[];let h=!0;this.interceptors.request.forEach(function(d){typeof d.runWhen=="function"&&d.runWhen(n)===!1||(h=h&&d.synchronous,c.unshift(d.fulfilled,d.rejected))});const f=[];this.interceptors.response.forEach(function(d){f.push(d.fulfilled,d.rejected)});let m,l=0,E;if(!h){const u=[et.bind(this),void 0];for(u.unshift.apply(u,c),u.push.apply(u,f),E=u.length,m=Promise.resolve(n);l{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(c=>{r.subscribe(c),o=c}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,c){r.reason||(r.reason=new z(o,i,c),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Le(function(s){t=s}),cancel:t}}}function Mr(e){return function(n){return e.apply(null,n)}}function Hr(e){return a.isObject(e)&&e.isAxiosError===!0}const Se={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Se).forEach(([e,t])=>{Se[t]=e});function Bt(e){const t=new U(e),n=dt(U.prototype.request,t);return a.extend(n,U.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Bt(V(e,s))},n}const _=Bt(G);_.Axios=U;_.CanceledError=z;_.CancelToken=Le;_.isCancel=Ot;_.VERSION=kt;_.toFormData=ue;_.AxiosError=g;_.Cancel=_.CanceledError;_.all=function(t){return Promise.all(t)};_.spread=Mr;_.isAxiosError=Hr;_.mergeConfig=V;_.AxiosHeaders=D;_.formToJSON=e=>Ct(a.isHTMLForm(e)?new FormData(e):e);_.getAdapter=Lt.getAdapter;_.HttpStatusCode=Se;_.default=_;function nt(){Be().logout(),location.reload()}function zr(){const e=_.create();return e.interceptors.request.use(t=>t,t=>Promise.reject(t)),e.interceptors.response.use(t=>{var o;const n=t.data,r=(o=t.request)==null?void 0:o.responseType;if(r==="blob"||r==="arraybuffer")return n;const s=n.code;if(s===void 0)return X.error("非本系统的接口"),Promise.reject(new Error("非本系统的接口"));switch(s){case 0:return n;case 401:return nt();default:return X.error(n.message||"Error"),Promise.reject(new Error("Error"))}},t=>{switch(nn(t,"response.status")){case 400:t.message="请求错误";break;case 401:nt();break;case 403:t.message="拒绝访问";break;case 404:t.message="请求地址出错";break;case 408:t.message="请求超时";break;case 500:t.message="服务器内部错误";break;case 501:t.message="服务未实现";break;case 502:t.message="网关错误";break;case 503:t.message="服务不可用";break;case 504:t.message="网关超时";break;case 505:t.message="HTTP 版本不受支持";break}return X.error(t.message),Promise.reject(t)}),e}function Wr(e){return t=>{const n=Fe(),r={baseURL:"https://mock.mengxuegu.com/mock/63218b5fb4c53348ed2bc212/api/v1",headers:{Authorization:n?`Bearer ${n}`:void 0,"Content-Type":"application/json"},data:{},timeout:5e3,withCredentials:!1},s=rn(r,t);return e(s)}}const Jr=zr(),$r=Wr(Jr);function Gr(){return $r({url:"users/info",method:"get"})}var Kr=(e=>(e[e.Mobile=0]="Mobile",e[e.Desktop=1]="Desktop",e))(Kr||{}),Nt=(e=>(e.Left="left",e.Top="top",e.LeftTop="left-top",e))(Nt||{});const Ks="opened",Xs="closed";function Xr(){const e=localStorage.getItem(A.CONFIG_LAYOUT);return e?JSON.parse(e):null}function Yr(e){localStorage.setItem(A.CONFIG_LAYOUT,JSON.stringify(e))}function Ys(){localStorage.removeItem(A.CONFIG_LAYOUT)}function Qs(){return localStorage.getItem(A.SIDEBAR_STATUS)}function Zs(e){localStorage.setItem(A.SIDEBAR_STATUS,e)}function Qr(){return localStorage.getItem(A.ACTIVE_THEME_NAME)}function Zr(e){localStorage.setItem(A.ACTIVE_THEME_NAME,e)}function es(){const e=localStorage.getItem(A.VISITED_VIEWS);return JSON.parse(e??"[]")}function ts(e){e.forEach(t=>{delete t.matched,delete t.redirectedFrom}),localStorage.setItem(A.VISITED_VIEWS,JSON.stringify(e))}function ns(){const e=localStorage.getItem(A.CACHED_VIEWS);return JSON.parse(e??"[]")}function rs(e){localStorage.setItem(A.CACHED_VIEWS,JSON.stringify(e))}const ss={layoutMode:Nt.Left,showSettings:!0,showTagsView:!0,fixedHeader:!0,showFooter:!0,showLogo:!0,showNotify:!0,showThemeSwitch:!0,showScreenfull:!0,showSearchMenu:!0,cacheTagsView:!1,showWatermark:!0,showGreyMode:!1,showColorWeakness:!1},os={...ss,...Xr()},ke=se("settings",()=>{const e={};for(const[n,r]of Object.entries(os)){const s=B(r);e[n]=s,at(s,()=>{const o=t();Yr(o)})}const t=()=>{const n={};for(const[r,s]of Object.entries(e))n[r]=s.value;return n};return e}),is=se("tags-view",()=>{const{cacheTagsView:e}=ke(),t=B(e?es():[]),n=B(e?ns():[]);return Ce(()=>{ts(t.value),rs(n.value)}),{visitedViews:t,cachedViews:n,addVisitedView:l=>{const E=t.value.findIndex(w=>w.path===l.path);E!==-1?t.value[E].fullPath!==l.fullPath&&(t.value[E]={...l}):t.value.push({...l})},addCachedView:l=>{var E;typeof l.name=="string"&&(n.value.includes(l.name)||(E=l.meta)!=null&&E.keepAlive&&n.value.push(l.name))},delVisitedView:l=>{const E=t.value.findIndex(w=>w.path===l.path);E!==-1&&t.value.splice(E,1)},delCachedView:l=>{if(typeof l.name!="string")return;const E=n.value.indexOf(l.name);E!==-1&&n.value.splice(E,1)},delOthersVisitedViews:l=>{t.value=t.value.filter(E=>{var w;return((w=E.meta)==null?void 0:w.affix)||E.path===l.path})},delOthersCachedViews:l=>{if(typeof l.name!="string")return;const E=n.value.indexOf(l.name);E!==-1?n.value=n.value.slice(E,E+1):n.value=[]},delAllVisitedViews:()=>{t.value=t.value.filter(l=>{var E;return(E=l.meta)==null?void 0:E.affix})},delAllCachedViews:()=>{n.value=[]}}}),Be=se("user",()=>{const e=B(Fe()||""),t=B([]),n=B(""),r=is(),s=ke(),o=async l=>{je(l),e.value=l},i=async()=>{var E;const{data:l}=await Gr();n.value=l.username,t.value=((E=l.roles)==null?void 0:E.length)>0?l.roles:Oe.defaultRoles},c=async l=>{const E=`token-${l}`;e.value=E,je(E),location.reload()},h=()=>{qe(),e.value="",t.value=[],ws(),m()},f=()=>{qe(),e.value="",t.value=[]},m=()=>{s.cacheTagsView||(r.delAllVisitedViews(),r.delAllCachedViews())};return{token:e,roles:t,username:n,setToken:o,getInfo:i,changeRoles:c,logout:h,resetToken:f}}),as=["/login"],us=[];function cs(e){return as.includes(e.path)||us.includes(e.name)}function ls(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(s){s(n)}),(r=e.get("*"))&&r.slice().map(function(s){s(t,n)})}}}const Te=ls(),Re=Symbol("ROUTE_CHANGE");let Ae;function fs(e){Te.emit(Re,e),Ae=e}function eo(){const e=[],t=(r,s=!1)=>{e.push(r),Te.on(Re,r),s&&Ae&&r(Ae)},n=r=>{Te.off(Re,r)};return Wt(()=>{e.forEach(n)}),{listenerRouteChange:t,removeRouteListener:n}}const rt="V3 Admin Vite",It=B("");function ds(e){It.value=e?`${rt} | ${e}`:rt}at(It,(e,t)=>{document&&e!==t&&(document.title=e)});function ps(){return{setTitle:ds}}var ee={exports:{}};var ms=ee.exports,st;function hs(){return st||(st=1,function(e,t){(function(n,r){e.exports=r()})(ms,function(){var n={};n.version="0.2.0";var r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'