V3 Admin Vite
-
+
diff --git a/static/403-ATjrXjkK.js b/static/403-QCMDKX7J.js
similarity index 99%
rename from static/403-ATjrXjkK.js
rename to static/403-QCMDKX7J.js
index 05abc02f..d93ca532 100644
--- a/static/403-ATjrXjkK.js
+++ b/static/403-QCMDKX7J.js
@@ -1 +1 @@
-import{E as r}from"./ErrorPageLayout-LUqm-yKd.js";import{m as t,p as s,aL as l,l as i,M as h,O as n,U as c,u as p}from"./vue-edbHIJ2J.js";import"./index-Fx4uz9-g.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const d={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"},k=l('',50),a=[k];function v(e,o){return t(),s("svg",d,[...a])}const f={render:v},j=i({__name:"403",setup(e){return(o,u)=>(t(),h(r,null,{default:n(()=>[c(p(f))]),_:1}))}});export{j as default};
+import{E as r}from"./ErrorPageLayout-hNNAWYq0.js";import{m as t,p as s,aL as l,l as i,M as h,O as n,U as c,u as p}from"./vue-edbHIJ2J.js";import"./index-cLr0opls.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const d={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"},k=l('',50),a=[k];function v(e,o){return t(),s("svg",d,[...a])}const f={render:v},j=i({__name:"403",setup(e){return(o,u)=>(t(),h(r,null,{default:n(()=>[c(p(f))]),_:1}))}});export{j as default};
diff --git a/static/404-3yb2ujsM.js b/static/404-T_h7pGBd.js
similarity index 99%
rename from static/404-3yb2ujsM.js
rename to static/404-T_h7pGBd.js
index ef893e58..4df0b244 100644
--- a/static/404-3yb2ujsM.js
+++ b/static/404-T_h7pGBd.js
@@ -1 +1 @@
-import{E as c}from"./ErrorPageLayout-LUqm-yKd.js";import{m as a,p as h,aL as e,l as s,M as p,O as M,U as f,u as i}from"./vue-edbHIJ2J.js";import"./index-Fx4uz9-g.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"},d=e('',141),r=[d];function v(l,t){return a(),h("svg",y,[...r])}const o={render:v},u=s({__name:"404",setup(l){return(t,m)=>(a(),p(c,null,{default:M(()=>[f(i(o))]),_:1}))}});export{u as default};
+import{E as c}from"./ErrorPageLayout-hNNAWYq0.js";import{m as a,p as h,aL as e,l as s,M as p,O as M,U as f,u as i}from"./vue-edbHIJ2J.js";import"./index-cLr0opls.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500"},d=e('',141),r=[d];function v(l,t){return a(),h("svg",y,[...r])}const o={render:v},u=s({__name:"404",setup(l){return(t,m)=>(a(),p(c,null,{default:M(()=>[f(i(o))]),_:1}))}});export{u as default};
diff --git a/static/ErrorPageLayout-LUqm-yKd.js b/static/ErrorPageLayout-hNNAWYq0.js
similarity index 87%
rename from static/ErrorPageLayout-LUqm-yKd.js
rename to static/ErrorPageLayout-hNNAWYq0.js
index 61540391..633f3c6c 100644
--- a/static/ErrorPageLayout-LUqm-yKd.js
+++ b/static/ErrorPageLayout-hNNAWYq0.js
@@ -1 +1 @@
-import{_ as n}from"./index-Fx4uz9-g.js";import{ag as e,m as c,p as _,q as d,H as l,U as t,O as o,S as p}from"./vue-edbHIJ2J.js";const i={},u={class:"error-page"},f={class:"error-page-svg"};function m(r,g){const a=e("el-button"),s=e("router-link");return c(),_("div",u,[d("div",f,[l(r.$slots,"default",{},void 0,!0)]),t(s,{to:"/"},{default:o(()=>[t(a,{type:"primary"},{default:o(()=>[p("回到首页")]),_:1})]),_:1})])}const k=n(i,[["render",m],["__scopeId","data-v-2fba9562"]]);export{k as E};
+import{_ as n}from"./index-cLr0opls.js";import{ag as e,m as c,p as _,q as d,H as l,U as t,O as o,S as p}from"./vue-edbHIJ2J.js";const i={},u={class:"error-page"},f={class:"error-page-svg"};function m(r,g){const a=e("el-button"),s=e("router-link");return c(),_("div",u,[d("div",f,[l(r.$slots,"default",{},void 0,!0)]),t(s,{to:"/"},{default:o(()=>[t(a,{type:"primary"},{default:o(()=>[p("回到首页")]),_:1})]),_:1})])}const k=n(i,[["render",m],["__scopeId","data-v-2fba9562"]]);export{k as E};
diff --git a/static/SwitchRoles-D87dCfXe.js b/static/SwitchRoles-uA0j_fzo.js
similarity index 92%
rename from static/SwitchRoles-D87dCfXe.js
rename to static/SwitchRoles-uA0j_fzo.js
index 26896a6d..24a7c3a5 100644
--- a/static/SwitchRoles-D87dCfXe.js
+++ b/static/SwitchRoles-uA0j_fzo.js
@@ -1 +1 @@
-import{e as u,_ as m}from"./index-Fx4uz9-g.js";import{l as h,r as S,b as f,ag as c,m as v,p as w,q as t,T as g,u as b,U as s,O as I,aH as V,aI as x}from"./vue-edbHIJ2J.js";const R=e=>(V("data-v-54e6a169"),e=e(),x(),e),B={class:"switch-roles"},C=R(()=>t("span",null,"切换权限:",-1)),U=h({__name:"SwitchRoles",emits:["change"],setup(e,{emit:i}){const d=i,o=u(),a=S(o.roles[0]);return f(a,async l=>{await o.changeRoles(l),d("change")}),(l,n)=>{const r=c("el-radio-button"),p=c("el-radio-group");return v(),w("div",null,[t("div",null,"你的权限:"+g(b(o).roles),1),t("div",B,[C,s(p,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=_=>a.value=_)},{default:I(()=>[s(r,{label:"editor"}),s(r,{label:"admin"})]),_:1},8,["modelValue"])])])}}}),N=m(U,[["__scopeId","data-v-54e6a169"]]);export{N as S};
+import{e as u,_ as m}from"./index-cLr0opls.js";import{l as h,r as S,b as f,ag as c,m as v,p as w,q as t,T as g,u as b,U as s,O as I,aH as V,aI as x}from"./vue-edbHIJ2J.js";const R=e=>(V("data-v-54e6a169"),e=e(),x(),e),B={class:"switch-roles"},C=R(()=>t("span",null,"切换权限:",-1)),U=h({__name:"SwitchRoles",emits:["change"],setup(e,{emit:i}){const d=i,o=u(),a=S(o.roles[0]);return f(a,async l=>{await o.changeRoles(l),d("change")}),(l,n)=>{const r=c("el-radio-button"),p=c("el-radio-group");return v(),w("div",null,[t("div",null,"你的权限:"+g(b(o).roles),1),t("div",B,[C,s(p,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=_=>a.value=_)},{default:I(()=>[s(r,{label:"editor"}),s(r,{label:"admin"})]),_:1},8,["modelValue"])])])}}}),N=m(U,[["__scopeId","data-v-54e6a169"]]);export{N as S};
diff --git a/static/directive-aQZEbFFm.js b/static/directive-GKY2kTEI.js
similarity index 95%
rename from static/directive-aQZEbFFm.js
rename to static/directive-GKY2kTEI.js
index 63d67ad2..803281bf 100644
--- a/static/directive-aQZEbFFm.js
+++ b/static/directive-GKY2kTEI.js
@@ -1 +1 @@
-import{j as g,_ as y}from"./index-Fx4uz9-g.js";import{S as b}from"./SwitchRoles-D87dCfXe.js";import{l as P,r as C,ag as m,ap as x,m as a,p,U as s,q as _,P as u,M as o,O as t,S as e,u as f,R as v}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const k=r=>{if(Array.isArray(r)&&r.length>0){const{roles:n}=g();return n.some(l=>r.includes(l))}else return console.error("need roles! Like checkPermission(['admin','editor'])"),!1},w={class:"app-container"},z={class:"margin-top-15"},B=P({__name:"directive",setup(r){const n=C(1),l=()=>{n.value++};return(N,S)=>{const i=m("el-tag"),c=m("el-tab-pane"),h=m("el-tabs"),d=x("permission");return a(),p("div",w,[s(b,{onChange:l}),(a(),p("div",{key:n.value,class:"margin-top-30"},[_("div",null,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin']" 所以只有 admin 可以看见这句话 `)]),_:1})),[[d,["admin"]]])]),_("div",null,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['editor']" 所以只有 editor 可以看见这句话 `)]),_:1})),[[d,["editor"]]])]),_("div",z,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin', 'editor']" 所以 admin 和 editor 都可以看见这句话 `)]),_:1})),[[d,["admin","editor"]]])])])),(a(),p("div",{key:`checkPermission${n.value}`,class:"margin-top-30"},[s(i,{type:"warning",size:"large"},{default:t(()=>[e(" 例如 Element Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景不适合使用 v-permission,这种情况下你可以通过 v-if 和 checkPermission 来实现: ")]),_:1}),s(h,{type:"border-card",class:"margin-top-15"},{default:t(()=>[f(k)(["admin"])?(a(),o(c,{key:0,label:"admin"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin'])"`)]),_:1}),e(" 所以只有 admin 可以看见这句话 ")]),_:1})):v("",!0),f(k)(["editor"])?(a(),o(c,{key:1,label:"editor"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['editor'])"`)]),_:1}),e(" 所以只有 editor 可以看见这句话 ")]),_:1})):v("",!0),f(k)(["admin","editor"])?(a(),o(c,{key:2,label:"admin 和 editor"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin', 'editor'])"`)]),_:1}),e(" 所以 admin 和 editor 都可以看见这句话 ")]),_:1})):v("",!0)]),_:1})]))])}}}),j=y(B,[["__scopeId","data-v-6d704b73"]]);export{j as default};
+import{j as g,_ as y}from"./index-cLr0opls.js";import{S as b}from"./SwitchRoles-uA0j_fzo.js";import{l as P,r as C,ag as m,ap as x,m as a,p,U as s,q as _,P as u,M as o,O as t,S as e,u as f,R as v}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const k=r=>{if(Array.isArray(r)&&r.length>0){const{roles:n}=g();return n.some(l=>r.includes(l))}else return console.error("need roles! Like checkPermission(['admin','editor'])"),!1},w={class:"app-container"},z={class:"margin-top-15"},B=P({__name:"directive",setup(r){const n=C(1),l=()=>{n.value++};return(N,S)=>{const i=m("el-tag"),c=m("el-tab-pane"),h=m("el-tabs"),d=x("permission");return a(),p("div",w,[s(b,{onChange:l}),(a(),p("div",{key:n.value,class:"margin-top-30"},[_("div",null,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin']" 所以只有 admin 可以看见这句话 `)]),_:1})),[[d,["admin"]]])]),_("div",null,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['editor']" 所以只有 editor 可以看见这句话 `)]),_:1})),[[d,["editor"]]])]),_("div",z,[u((a(),o(i,{type:"success",size:"large",effect:"plain"},{default:t(()=>[e(` 这里采用了 v-permission="['admin', 'editor']" 所以 admin 和 editor 都可以看见这句话 `)]),_:1})),[[d,["admin","editor"]]])])])),(a(),p("div",{key:`checkPermission${n.value}`,class:"margin-top-30"},[s(i,{type:"warning",size:"large"},{default:t(()=>[e(" 例如 Element Plus 的 el-tab-pane 或 el-table-column 以及其它动态渲染 Dom 的场景不适合使用 v-permission,这种情况下你可以通过 v-if 和 checkPermission 来实现: ")]),_:1}),s(h,{type:"border-card",class:"margin-top-15"},{default:t(()=>[f(k)(["admin"])?(a(),o(c,{key:0,label:"admin"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin'])"`)]),_:1}),e(" 所以只有 admin 可以看见这句话 ")]),_:1})):v("",!0),f(k)(["editor"])?(a(),o(c,{key:1,label:"editor"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['editor'])"`)]),_:1}),e(" 所以只有 editor 可以看见这句话 ")]),_:1})):v("",!0),f(k)(["admin","editor"])?(a(),o(c,{key:2,label:"admin 和 editor"},{default:t(()=>[e(" 这里采用了 "),s(i,null,{default:t(()=>[e(`v-if="checkPermission(['admin', 'editor'])"`)]),_:1}),e(" 所以 admin 和 editor 都可以看见这句话 ")]),_:1})):v("",!0)]),_:1})]))])}}}),j=y(B,[["__scopeId","data-v-6d704b73"]]);export{j as default};
diff --git a/static/index-sYiM4nbo.js b/static/index-3ZMBodDy.js
similarity index 97%
rename from static/index-sYiM4nbo.js
rename to static/index-3ZMBodDy.js
index b933f269..4ad584d1 100644
--- a/static/index-sYiM4nbo.js
+++ b/static/index-3ZMBodDy.js
@@ -1 +1 @@
-import{g as D,d as T}from"./index-T9ug20i_.js";import{U as l,l as P,r as y,Z as b,n as S,ag as v,m as $,p as M,O as p,S as _,K as k}from"./vue-edbHIJ2J.js";import{H as R,b as w}from"./element-6bs1qbFv.js";import"./index-Fx4uz9-g.js";import"./vxe-gaPTatyF.js";const U={default:({row:h,column:s})=>{const i=h[s.field];return[l("span",{class:`el-tag el-tag--${i==="admin"?"":"warning"} el-tag--plain`},[i])]}},E=U,O={default:({row:h,column:s})=>{const i=h[s.field],[c,g]=i?["success","启用"]:["danger","禁用"];return[l("span",{class:`el-tag el-tag--${c} el-tag--plain`},[g])]}},F=O,q={class:"app-container"},H=P({name:"VxeTable",__name:"index",setup(h){const s=y(),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:E},{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,props:{total:"total"},ajax:{query:({page:e,form:t})=>(i.loading=!0,a.clearTable(),new Promise(o=>{let r=0,u=[];const d=n=>{n!=null&&n.data&&(r=n.data.total,u=n.data.list),i.loading=!1,o({total:r,result:u})},f={username:t.username||void 0,phone:t.phone||void 0,size:e.pageSize,currentPage:e.currentPage};D(f).then(d).catch(d)}))}}}),c=y(),g=b({title:"",showClose:!0,escClosable:!0,maskClosable:!0,beforeHideMethod:()=>{var e;return(e=x.value)==null||e.clearValidate(),Promise.resolve()}}),x=y(),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=c.value)==null?void 0:e.close()}}},{props:{type:"submit",content:"确定",status:"primary"},events:{click:()=>a.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("空格无效")}}}]}}),a=b({isUpdate:!0,commitQuery:()=>{var e;return(e=s.value)==null?void 0:e.commitProxy("query")},clearTable:()=>{var e;return(e=s.value)==null?void 0:e.reloadData([])},onShowModal:e=>{var o,r,u,d;e?(a.isUpdate=!0,g.title="修改用户",m.data.username=e.username):(a.isUpdate=!1,g.title="新增用户");const t=(u=(r=(o=m.items)==null?void 0:o[0])==null?void 0:r.itemRender)==null?void 0:u.props;t&&(t.disabled=a.isUpdate),(d=c.value)==null||d.open(),S(()=>{var f,n;!a.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 r;m.loading=!1,(r=c.value)==null||r.close(),w.success("操作成功"),!a.isUpdate&&a.afterInsert(),a.commitQuery()};a.isUpdate?setTimeout(()=>o(),1e3):setTimeout(()=>o(),1e3)})},afterInsert:()=>{var t,o;const e=(o=(t=s.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(()=>{T(e.id).then(()=>{w.success("删除成功"),a.afterDelete(),a.commitQuery()})})},afterDelete:()=>{var o,r;const e=s.value.getData(),t=(r=(o=s.value)==null?void 0:o.getProxyInfo())==null?void 0:r.pager;t&&t.currentPage>1&&e.length===1&&--t.currentPage},moreFn:()=>{}});return(e,t)=>{const o=v("vxe-button"),r=v("el-button"),u=v("vxe-grid"),d=v("vxe-form"),f=v("vxe-modal");return $(),M("div",q,[l(u,k({ref_key:"xGridDom",ref:s},i),{"toolbar-btns":p(()=>[l(o,{status:"primary",icon:"vxe-icon-add",onClick:t[0]||(t[0]=n=>a.onShowModal())},{default:p(()=>[_("新增用户")]),_:1}),l(o,{status:"danger",icon:"vxe-icon-delete"},{default:p(()=>[_("批量删除")]),_:1})]),"row-operate":p(({row:n})=>[l(r,{link:"",type:"primary",onClick:C=>a.onShowModal(n)},{default:p(()=>[_("修改")]),_:2},1032,["onClick"]),l(r,{link:"",type:"danger",onClick:C=>a.onDelete(n)},{default:p(()=>[_("删除")]),_:2},1032,["onClick"])]),_:1},16),l(f,k({ref_key:"xModalDom",ref:c},g),{default:p(()=>[l(d,k({ref_key:"xFormDom",ref:x},m),null,16)]),_:1},16)])}}});export{H as default};
+import{g as D,d as T}from"./index-AcrPBM_f.js";import{U as l,l as P,r as y,Z as b,n as S,ag as v,m as $,p as M,O as p,S as _,K as k}from"./vue-edbHIJ2J.js";import{H as R,b as w}from"./element-6bs1qbFv.js";import"./index-cLr0opls.js";import"./vxe-gaPTatyF.js";const U={default:({row:h,column:s})=>{const i=h[s.field];return[l("span",{class:`el-tag el-tag--${i==="admin"?"":"warning"} el-tag--plain`},[i])]}},E=U,O={default:({row:h,column:s})=>{const i=h[s.field],[c,g]=i?["success","启用"]:["danger","禁用"];return[l("span",{class:`el-tag el-tag--${c} el-tag--plain`},[g])]}},F=O,q={class:"app-container"},H=P({name:"VxeTable",__name:"index",setup(h){const s=y(),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:E},{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,props:{total:"total"},ajax:{query:({page:e,form:t})=>(i.loading=!0,a.clearTable(),new Promise(o=>{let r=0,u=[];const d=n=>{n!=null&&n.data&&(r=n.data.total,u=n.data.list),i.loading=!1,o({total:r,result:u})},f={username:t.username||void 0,phone:t.phone||void 0,size:e.pageSize,currentPage:e.currentPage};D(f).then(d).catch(d)}))}}}),c=y(),g=b({title:"",showClose:!0,escClosable:!0,maskClosable:!0,beforeHideMethod:()=>{var e;return(e=x.value)==null||e.clearValidate(),Promise.resolve()}}),x=y(),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=c.value)==null?void 0:e.close()}}},{props:{type:"submit",content:"确定",status:"primary"},events:{click:()=>a.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("空格无效")}}}]}}),a=b({isUpdate:!0,commitQuery:()=>{var e;return(e=s.value)==null?void 0:e.commitProxy("query")},clearTable:()=>{var e;return(e=s.value)==null?void 0:e.reloadData([])},onShowModal:e=>{var o,r,u,d;e?(a.isUpdate=!0,g.title="修改用户",m.data.username=e.username):(a.isUpdate=!1,g.title="新增用户");const t=(u=(r=(o=m.items)==null?void 0:o[0])==null?void 0:r.itemRender)==null?void 0:u.props;t&&(t.disabled=a.isUpdate),(d=c.value)==null||d.open(),S(()=>{var f,n;!a.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 r;m.loading=!1,(r=c.value)==null||r.close(),w.success("操作成功"),!a.isUpdate&&a.afterInsert(),a.commitQuery()};a.isUpdate?setTimeout(()=>o(),1e3):setTimeout(()=>o(),1e3)})},afterInsert:()=>{var t,o;const e=(o=(t=s.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(()=>{T(e.id).then(()=>{w.success("删除成功"),a.afterDelete(),a.commitQuery()})})},afterDelete:()=>{var o,r;const e=s.value.getData(),t=(r=(o=s.value)==null?void 0:o.getProxyInfo())==null?void 0:r.pager;t&&t.currentPage>1&&e.length===1&&--t.currentPage},moreFn:()=>{}});return(e,t)=>{const o=v("vxe-button"),r=v("el-button"),u=v("vxe-grid"),d=v("vxe-form"),f=v("vxe-modal");return $(),M("div",q,[l(u,k({ref_key:"xGridDom",ref:s},i),{"toolbar-btns":p(()=>[l(o,{status:"primary",icon:"vxe-icon-add",onClick:t[0]||(t[0]=n=>a.onShowModal())},{default:p(()=>[_("新增用户")]),_:1}),l(o,{status:"danger",icon:"vxe-icon-delete"},{default:p(()=>[_("批量删除")]),_:1})]),"row-operate":p(({row:n})=>[l(r,{link:"",type:"primary",onClick:C=>a.onShowModal(n)},{default:p(()=>[_("修改")]),_:2},1032,["onClick"]),l(r,{link:"",type:"danger",onClick:C=>a.onDelete(n)},{default:p(()=>[_("删除")]),_:2},1032,["onClick"])]),_:1},16),l(f,k({ref_key:"xModalDom",ref:c},g),{default:p(()=>[l(d,k({ref_key:"xFormDom",ref:x},m),null,16)]),_:1},16)])}}});export{H as default};
diff --git a/static/index-xyH_u08e.js b/static/index-4_h3N-vx.js
similarity index 93%
rename from static/index-xyH_u08e.js
rename to static/index-4_h3N-vx.js
index 251da601..8a0b3525 100644
--- a/static/index-xyH_u08e.js
+++ b/static/index-4_h3N-vx.js
@@ -1 +1 @@
-import{l as k,aD as C,r as f,Z as S,ag as s,m as U,p as z,U as e,q as c,O as t,u as i,a2 as I,S as q,a8 as F,aH as M,aI as R}from"./vue-edbHIJ2J.js";import{f as B,e as N,_ as D}from"./index-Fx4uz9-g.js";import{v as E,w as H,x as K,y as L,z as Z}from"./element-6bs1qbFv.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-RDjZ16F8.js";import"./vxe-gaPTatyF.js";const O="/v3-admin-vite/static/logo-text-2-lXsH_ESZ.png",T=d=>(M("data-v-79326910"),d=d(),R(),d),X={class:"login-container"},$={class:"login-card"},j=T(()=>c("div",{class:"title"},[c("img",{src:O})],-1)),G={class:"content"},J=k({__name:"index",setup(d){const h=C(),g=f(null),u=f(!1),p=f(""),o=S({username:"admin",password:"12345678",code:""}),w={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"}]},x=()=>{var r;(r=g.value)==null||r.validate((a,l)=>{a?(u.value=!0,N().login(o).then(()=>{h.push({path:"/"})}).catch(()=>{m(),o.password=""}).finally(()=>{u.value=!1})):console.error("表单校验不通过",l)})},m=()=>{o.code="",p.value="",B().then(r=>{p.value=r.data})};return m(),(r,a)=>{const l=s("el-input"),_=s("el-form-item"),v=s("el-icon"),V=s("el-image"),y=s("el-button"),b=s("el-form");return U(),z("div",X,[e(A,{class:"theme-switch"}),c("div",$,[j,c("div",G,[e(b,{ref_key:"loginFormRef",ref:g,model:o,rules:w,onKeyup:F(x,["enter"])},{default:t(()=>[e(_,{prop:"username"},{default:t(()=>[e(l,{modelValue:o.username,"onUpdate:modelValue":a[0]||(a[0]=n=>o.username=n),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":i(E),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),e(_,{prop:"password"},{default:t(()=>[e(l,{modelValue:o.password,"onUpdate:modelValue":a[1]||(a[1]=n=>o.password=n),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":i(H),size:"large","show-password":""},null,8,["modelValue","prefix-icon"])]),_:1}),e(_,{prop:"code"},{default:t(()=>[e(l,{modelValue:o.code,"onUpdate:modelValue":a[2]||(a[2]=n=>o.code=n),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":i(K),maxlength:"7",size:"large"},{append:t(()=>[e(V,{src:p.value,onClick:m,draggable:"false"},{placeholder:t(()=>[e(v,null,{default:t(()=>[e(i(L))]),_:1})]),error:t(()=>[e(v,null,{default:t(()=>[e(i(Z))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon"])]),_:1}),e(y,{loading:u.value,type:"primary",size:"large",onClick:I(x,["prevent"])},{default:t(()=>[q("登 录")]),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),oe=D(J,[["__scopeId","data-v-79326910"]]);export{oe as default};
+import{l as k,aD as C,r as f,Z as S,ag as s,m as U,p as z,U as e,q as c,O as t,u as i,a2 as I,S as q,a8 as F,aH as M,aI as R}from"./vue-edbHIJ2J.js";import{f as B,e as N,_ as D}from"./index-cLr0opls.js";import{v as E,w as H,x as K,y as L,z as Z}from"./element-6bs1qbFv.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-eMckNTJN.js";import"./vxe-gaPTatyF.js";const O="/v3-admin-vite/static/logo-text-2-lXsH_ESZ.png",T=d=>(M("data-v-79326910"),d=d(),R(),d),X={class:"login-container"},$={class:"login-card"},j=T(()=>c("div",{class:"title"},[c("img",{src:O})],-1)),G={class:"content"},J=k({__name:"index",setup(d){const h=C(),g=f(null),u=f(!1),p=f(""),o=S({username:"admin",password:"12345678",code:""}),w={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"}]},x=()=>{var r;(r=g.value)==null||r.validate((a,l)=>{a?(u.value=!0,N().login(o).then(()=>{h.push({path:"/"})}).catch(()=>{m(),o.password=""}).finally(()=>{u.value=!1})):console.error("表单校验不通过",l)})},m=()=>{o.code="",p.value="",B().then(r=>{p.value=r.data})};return m(),(r,a)=>{const l=s("el-input"),_=s("el-form-item"),v=s("el-icon"),V=s("el-image"),y=s("el-button"),b=s("el-form");return U(),z("div",X,[e(A,{class:"theme-switch"}),c("div",$,[j,c("div",G,[e(b,{ref_key:"loginFormRef",ref:g,model:o,rules:w,onKeyup:F(x,["enter"])},{default:t(()=>[e(_,{prop:"username"},{default:t(()=>[e(l,{modelValue:o.username,"onUpdate:modelValue":a[0]||(a[0]=n=>o.username=n),modelModifiers:{trim:!0},placeholder:"用户名",type:"text",tabindex:"1","prefix-icon":i(E),size:"large"},null,8,["modelValue","prefix-icon"])]),_:1}),e(_,{prop:"password"},{default:t(()=>[e(l,{modelValue:o.password,"onUpdate:modelValue":a[1]||(a[1]=n=>o.password=n),modelModifiers:{trim:!0},placeholder:"密码",type:"password",tabindex:"2","prefix-icon":i(H),size:"large","show-password":""},null,8,["modelValue","prefix-icon"])]),_:1}),e(_,{prop:"code"},{default:t(()=>[e(l,{modelValue:o.code,"onUpdate:modelValue":a[2]||(a[2]=n=>o.code=n),modelModifiers:{trim:!0},placeholder:"验证码",type:"text",tabindex:"3","prefix-icon":i(K),maxlength:"7",size:"large"},{append:t(()=>[e(V,{src:p.value,onClick:m,draggable:"false"},{placeholder:t(()=>[e(v,null,{default:t(()=>[e(i(L))]),_:1})]),error:t(()=>[e(v,null,{default:t(()=>[e(i(Z))]),_:1})]),_:1},8,["src"])]),_:1},8,["modelValue","prefix-icon"])]),_:1}),e(y,{loading:u.value,type:"primary",size:"large",onClick:I(x,["prevent"])},{default:t(()=>[q("登 录")]),_:1},8,["loading"])]),_:1},8,["model"])])])])}}}),oe=D(J,[["__scopeId","data-v-79326910"]]);export{oe as default};
diff --git a/static/index-T9ug20i_.js b/static/index-AcrPBM_f.js
similarity index 79%
rename from static/index-T9ug20i_.js
rename to static/index-AcrPBM_f.js
index a44873e5..191b8a67 100644
--- a/static/index-T9ug20i_.js
+++ b/static/index-AcrPBM_f.js
@@ -1 +1 @@
-import{i as e}from"./index-Fx4uz9-g.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{i as e}from"./index-cLr0opls.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/static/index-Fx4uz9-g.js b/static/index-Fx4uz9-g.js
deleted file mode 100644
index 420ef332..00000000
--- a/static/index-Fx4uz9-g.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var xt=Object.defineProperty;var Dt=(e,t,n)=>t in e?xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var F=(e,t,n)=>(Dt(e,typeof t!="symbol"?t+"":t,n),n);import{r as P,w as Xe,l as Ye,M as Bt,O as Lt,u as Nt,ag as De,m as Ze,U as Ft,ax as It,ay as Vt,az as Mt,aA as ee,b as Qe,z as Ut,e as jt,p as zt,q as Ht,as as qt}from"./vue-edbHIJ2J.js";import{E as Wt,b as K,c as Jt,m as $t,e as Gt,g as Kt,i as Xt,f as Yt}from"./element-6bs1qbFv.js";import{V as be,a as Zt}from"./vxe-gaPTatyF.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 M="v3-admin-vite";class _{}F(_,"TOKEN",`${M}-token-key`),F(_,"CONFIG_LAYOUT",`${M}-config-layout-key`),F(_,"SIDEBAR_STATUS",`${M}-sidebar-status-key`),F(_,"ACTIVE_THEME_NAME",`${M}-active-theme-name-key`),F(_,"VISITED_VIEWS",`${M}-visited-views-key`),F(_,"CACHED_VIEWS",`${M}-cached-views-key`);const Qt=()=>{const e=localStorage.getItem(_.CONFIG_LAYOUT);return e?JSON.parse(e):null},en=e=>{localStorage.setItem(_.CONFIG_LAYOUT,JSON.stringify(e))},bs=()=>{localStorage.removeItem(_.CONFIG_LAYOUT)},vs=()=>localStorage.getItem(_.SIDEBAR_STATUS),Ss=e=>{localStorage.setItem(_.SIDEBAR_STATUS,e)},tn=()=>localStorage.getItem(_.ACTIVE_THEME_NAME),nn=e=>{localStorage.setItem(_.ACTIVE_THEME_NAME,e)},rn=()=>{const e=localStorage.getItem(_.VISITED_VIEWS);return JSON.parse(e??"[]")},sn=e=>{e.forEach(t=>{delete t.matched,delete t.redirectedFrom}),localStorage.setItem(_.VISITED_VIEWS,JSON.stringify(e))},on=()=>{const e=localStorage.getItem(_.CACHED_VIEWS);return JSON.parse(e??"[]")},an=e=>{localStorage.setItem(_.CACHED_VIEWS,JSON.stringify(e))},et="normal",cn=[{title:"默认",name:et},{title:"黑暗",name:"dark"},{title:"深蓝",name:"dark-blue"}],ve=P(tn()||et),un=e=>{ve.value=e},ln=e=>{document.documentElement.className=e},dn=()=>{Xe(()=>{const e=ve.value;ln(e),nn(e)})};function fn(){return{themeList:cn,activeThemeName:ve,initTheme:dn,setTheme:un}}var mn={name:"zh-cn",el:{colorpicker:{confirm:"确定",clear:"清空"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!"},upload:{deleteTip:"按 delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"}}};const pn=Ye({__name:"App",setup(e){const{initTheme:t}=fn();return t(),Wt({title:"Hello",type:"success",dangerouslyUseHTMLString:!0,message:"小项目获取 star 不易,如果你喜欢这个项目的话,欢迎点击这里支持一个 star !这是作者持续维护的唯一动力(小声:毕竟是免费的)",duration:0,position:"bottom-right"}),(n,r)=>{const s=De("router-view"),o=De("el-config-provider");return Ze(),Bt(o,{locale:Nt(mn)},{default:Lt(()=>[Ft(s)]),_:1},8,["locale"])}}}),te=It(),hn="modulepreload",En=function(e){return"/v3-admin-vite/"+e},Be={},v=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");s=Promise.all(n.map(i=>{if(i=En(i),i in Be)return;Be[i]=!0;const d=i.endsWith(".css"),m=d?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const h=o[u];if(h.href===i&&(!d||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${m}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":hn,d||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),d)return new Promise((u,h)=>{f.addEventListener("load",u),f.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},gn=Vt("/v3-admin-vite/"),tt={async:!0,defaultRoles:["DEFAULT_ROLE"],thirdLevelRouteCache:!1},I=()=>v(()=>import("./index-4XBdzumH.js"),__vite__mapDeps([0,1,2,3,4,5,6])),nt=[{path:"/redirect",component:I,meta:{hidden:!0},children:[{path:"/redirect/:path(.*)",component:()=>v(()=>import("./index-eyJZxR0_.js"),__vite__mapDeps([7,1]))}]},{path:"/403",component:()=>v(()=>import("./403-ATjrXjkK.js"),__vite__mapDeps([8,9,1,10,3,5])),meta:{hidden:!0}},{path:"/404",component:()=>v(()=>import("./404-3yb2ujsM.js"),__vite__mapDeps([11,9,1,10,3,5])),meta:{hidden:!0},alias:"/:pathMatch(.*)*"},{path:"/login",component:()=>v(()=>import("./index-xyH_u08e.js"),__vite__mapDeps([12,1,3,4,5,13])),meta:{hidden:!0}},{path:"/",component:I,redirect:"/dashboard",children:[{path:"dashboard",component:()=>v(()=>import("./index-biGSfyid.js"),__vite__mapDeps([14,1,3,5,15])),name:"Dashboard",meta:{title:"首页",svgIcon:"dashboard",affix:!0}}]},{path:"/unocss",component:I,redirect:"/unocss/index",children:[{path:"index",component:()=>v(()=>import("./index-FjsDMx50.js"),__vite__mapDeps([16,1,3,5])),name:"UnoCSS",meta:{title:"UnoCSS",svgIcon:"unocss"}}]},{path:"/link",meta:{title:"外链",svgIcon:"link"},children:[{path:"https://juejin.cn/post/7089377403717287972",component:()=>{},name:"Link1",meta:{title:"中文文档"}},{path:"https://juejin.cn/column/7207659644487139387",component:()=>{},name:"Link2",meta:{title:"新手教程"}}]},{path:"/table",component:I,redirect:"/table/element-plus",name:"Table",meta:{title:"表格",elIcon:"Grid"},children:[{path:"element-plus",component:()=>v(()=>import("./index-C8n6hSLC.js"),__vite__mapDeps([17,18,3,1,5,19])),name:"ElementPlus",meta:{title:"Element Plus",keepAlive:!0}},{path:"vxe-table",component:()=>v(()=>import("./index-sYiM4nbo.js"),__vite__mapDeps([20,18,1,3,5])),name:"VxeTable",meta:{title:"Vxe Table",keepAlive:!0}}]},{path:"/menu",component:I,redirect:"/menu/menu1",name:"Menu",meta:{title:"多级路由",svgIcon:"menu"},children:[{path:"menu1",component:()=>v(()=>import("./index-EP4RUn7a.js"),__vite__mapDeps([21,1,3,5,22])),redirect:"/menu/menu1/menu1-1",name:"Menu1",meta:{title:"menu1"},children:[{path:"menu1-1",component:()=>v(()=>import("./index-RF_9sazX.js"),__vite__mapDeps([23,1])),name:"Menu1-1",meta:{title:"menu1-1",keepAlive:!0}},{path:"menu1-2",component:()=>v(()=>import("./index-smO4MiU3.js"),__vite__mapDeps([24,1,3,5])),redirect:"/menu/menu1/menu1-2/menu1-2-1",name:"Menu1-2",meta:{title:"menu1-2"},children:[{path:"menu1-2-1",component:()=>v(()=>import("./index-aJN4HYNR.js"),__vite__mapDeps([25,1])),name:"Menu1-2-1",meta:{title:"menu1-2-1",keepAlive:!0}},{path:"menu1-2-2",component:()=>v(()=>import("./index-PBw5UC4f.js"),__vite__mapDeps([26,1])),name:"Menu1-2-2",meta:{title:"menu1-2-2",keepAlive:!0}}]},{path:"menu1-3",component:()=>v(()=>import("./index-FAQjzuRs.js"),__vite__mapDeps([27,1])),name:"Menu1-3",meta:{title:"menu1-3",keepAlive:!0}}]},{path:"menu2",component:()=>v(()=>import("./index-qRHlpvtI.js"),__vite__mapDeps([28,1])),name:"Menu2",meta:{title:"menu2",keepAlive:!0}}]},{path:"/hook-demo",component:I,redirect:"/hook-demo/use-fetch-select",name:"HookDemo",meta:{title:"Hook 示例",elIcon:"Menu",alwaysShow:!0},children:[{path:"use-fetch-select",component:()=>v(()=>import("./use-fetch-select-v_-wiev5.js"),__vite__mapDeps([29,1])),name:"UseFetchSelect",meta:{title:"useFetchSelect"}},{path:"use-fullscreen-loading",component:()=>v(()=>import("./use-fullscreen-loading-lHTCwpK_.js"),__vite__mapDeps([30,3,1])),name:"UseFullscreenLoading",meta:{title:"useFullscreenLoading"}},{path:"use-watermark",component:()=>v(()=>import("./use-watermark-v08cMB51.js"),__vite__mapDeps([31,2,3,1,5,32])),name:"UseWatermark",meta:{title:"useWatermark"}}]}],yn=[{path:"/permission",component:I,redirect:"/permission/page",name:"Permission",meta:{title:"权限管理",svgIcon:"lock",roles:["admin","editor"],alwaysShow:!0},children:[{path:"page",component:()=>v(()=>import("./page-zQXNdlxn.js"),__vite__mapDeps([33,1,34,35,3,5,36])),name:"PagePermission",meta:{title:"页面权限",roles:["admin"]}},{path:"directive",component:()=>v(()=>import("./directive-aQZEbFFm.js"),__vite__mapDeps([37,34,1,35,3,5,38])),name:"DirectivePermission",meta:{title:"指令权限"}}]},{path:"/:pathMatch(.*)*",redirect:"/404",name:"ErrorPage",meta:{hidden:!0}}],D=Mt({history:gn,routes:nt});function Le(){try{D.getRoutes().forEach(e=>{var r;const{name:t,meta:n}=e;t&&((r=n.roles)!=null&&r.length)&&D.hasRoute(t)&&D.removeRoute(t)})}catch{window.location.reload()}}const wn=(e,t)=>{var r;const n=(r=t.meta)==null?void 0:r.roles;return n?e.some(s=>n.includes(s)):!0},rt=(e,t)=>{const n=[];return e.forEach(r=>{const s={...r};wn(t,s)&&(s.children&&(s.children=rt(s.children,t)),n.push(s))}),n},st=ee("permission",()=>{const e=P([]),t=P([]);return{routes:e,dynamicRoutes:t,setRoutes:r=>{const s=rt(yn,r);e.value=nt.concat(s),t.value=s}}});function bn(){return st(te)}var vn=(e=>(e[e.Mobile=0]="Mobile",e[e.Desktop=1]="Desktop",e))(vn||{}),ot=(e=>(e.Left="left",e.Top="top",e.LeftTop="left-top",e))(ot||{});const _s="opened",Ts="closed",Sn={layoutMode:ot.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},_n={...Sn,...Qt()},it=ee("settings",()=>{const e={};for(const[n,r]of Object.entries(_n)){const s=P(r);e[n]=s,Qe(s,()=>{const o=t();en(o)})}const t=()=>{const n={};for(const[r,s]of Object.entries(e))n[r]=s.value;return n};return e}),at=ee("tags-view",()=>{const{cacheTagsView:e}=it(),t=P(e?rn():[]),n=P(e?on():[]);return Xe(()=>{sn(t.value),an(n.value)}),{visitedViews:t,cachedViews:n,addVisitedView:u=>{const h=t.value.findIndex(w=>w.path===u.path);h!==-1?t.value[h].fullPath!==u.fullPath&&(t.value[h]={...u}):t.value.push({...u})},addCachedView:u=>{var h;typeof u.name=="string"&&(n.value.includes(u.name)||(h=u.meta)!=null&&h.keepAlive&&n.value.push(u.name))},delVisitedView:u=>{const h=t.value.findIndex(w=>w.path===u.path);h!==-1&&t.value.splice(h,1)},delCachedView:u=>{if(typeof u.name!="string")return;const h=n.value.indexOf(u.name);h!==-1&&n.value.splice(h,1)},delOthersVisitedViews:u=>{t.value=t.value.filter(h=>{var w;return((w=h.meta)==null?void 0:w.affix)||h.path===u.path})},delOthersCachedViews:u=>{if(typeof u.name!="string")return;const h=n.value.indexOf(u.name);h!==-1?n.value=n.value.slice(h,h+1):n.value=[]},delAllVisitedViews:()=>{t.value=t.value.filter(u=>{var h;return(h=u.meta)==null?void 0:h.affix})},delAllCachedViews:()=>{n.value=[]}}});function Tn(){return at(te)}function G(e){for(var t=1;t"u")){i=G({},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 d="";for(var m in i)i[m]&&(d+="; "+m,i[m]!==!0&&(d+="="+i[m].split(";")[0]));return document.cookie=s+"="+e.write(o,s)+d}}function r(s){if(!(typeof document>"u"||arguments.length&&!s)){for(var o=document.cookie?document.cookie.split("; "):[],i={},d=0;dSe.get(_.TOKEN),Ne=e=>{Se.set(_.TOKEN,e)},Fe=()=>{Se.remove(_.TOKEN)};function ct(e,t){return function(){return e.apply(t,arguments)}}const{toString:Rn}=Object.prototype,{getPrototypeOf:Te}=Object,ne=(e=>t=>{const n=Rn.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),x=e=>(e=e.toLowerCase(),t=>ne(t)===e),re=e=>t=>typeof t===e,{isArray:z}=Array,q=re("undefined");function On(e){return e!==null&&!q(e)&&e.constructor!==null&&!q(e.constructor)&&R(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const ut=x("ArrayBuffer");function Cn(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ut(e.buffer),t}const kn=re("string"),R=re("function"),lt=re("number"),se=e=>e!==null&&typeof e=="object",Pn=e=>e===!0||e===!1,X=e=>{if(ne(e)!=="object")return!1;const t=Te(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},xn=x("Date"),Dn=x("File"),Bn=x("Blob"),Ln=x("FileList"),Nn=e=>se(e)&&R(e.pipe),Fn=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||R(e.append)&&((t=ne(e))==="formdata"||t==="object"&&R(e.toString)&&e.toString()==="[object FormData]"))},In=x("URLSearchParams"),Vn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function W(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),z(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const ft=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,mt=e=>!q(e)&&e!==ft;function fe(){const{caseless:e}=mt(this)&&this||{},t={},n=(r,s)=>{const o=e&&dt(t,s)||s;X(t[o])&&X(r)?t[o]=fe(t[o],r):X(r)?t[o]=fe({},r):z(r)?t[o]=r.slice():t[o]=r};for(let r=0,s=arguments.length;r(W(t,(s,o)=>{n&&R(s)?e[o]=ct(s,n):e[o]=s},{allOwnKeys:r}),e),Un=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),jn=(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)},zn=(e,t,n,r)=>{let s,o,i;const d={};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))&&!d[i]&&(t[i]=e[i],d[i]=!0);e=n!==!1&&Te(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Hn=(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},qn=e=>{if(!e)return null;if(z(e))return e;let t=e.length;if(!lt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Wn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Te(Uint8Array)),Jn=(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])}},$n=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Gn=x("HTMLFormElement"),Kn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Ie=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Xn=x("RegExp"),pt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};W(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},Yn=e=>{pt(e,(t,n)=>{if(R(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(R(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+"'")})}})},Zn=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return z(e)?r(e):r(String(e).split(t)),n},Qn=()=>{},er=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ae="abcdefghijklmnopqrstuvwxyz",Ve="0123456789",ht={DIGIT:Ve,ALPHA:ae,ALPHA_DIGIT:ae+ae.toUpperCase()+Ve},tr=(e=16,t=ht.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function nr(e){return!!(e&&R(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const rr=e=>{const t=new Array(10),n=(r,s)=>{if(se(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const o=z(r)?[]:{};return W(r,(i,d)=>{const m=n(i,s+1);!q(m)&&(o[d]=m)}),t[s]=void 0,o}}return r};return n(e,0)},sr=x("AsyncFunction"),or=e=>e&&(se(e)||R(e))&&R(e.then)&&R(e.catch),c={isArray:z,isArrayBuffer:ut,isBuffer:On,isFormData:Fn,isArrayBufferView:Cn,isString:kn,isNumber:lt,isBoolean:Pn,isObject:se,isPlainObject:X,isUndefined:q,isDate:xn,isFile:Dn,isBlob:Bn,isRegExp:Xn,isFunction:R,isStream:Nn,isURLSearchParams:In,isTypedArray:Wn,isFileList:Ln,forEach:W,merge:fe,extend:Mn,trim:Vn,stripBOM:Un,inherits:jn,toFlatObject:zn,kindOf:ne,kindOfTest:x,endsWith:Hn,toArray:qn,forEachEntry:Jn,matchAll:$n,isHTMLForm:Gn,hasOwnProperty:Ie,hasOwnProp:Ie,reduceDescriptors:pt,freezeMethods:Yn,toObjectSet:Zn,toCamelCase:Kn,noop:Qn,toFiniteNumber:er,findKey:dt,global:ft,isContextDefined:mt,ALPHABET:ht,generateString:tr,isSpecCompliantForm:nr,toJSONObject:rr,isAsyncFn:sr,isThenable:or};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)}c.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:c.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Et=g.prototype,gt={};["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=>{gt[e]={value:e}});Object.defineProperties(g,gt);Object.defineProperty(Et,"isAxiosError",{value:!0});g.from=(e,t,n,r,s,o)=>{const i=Object.create(Et);return c.toFlatObject(e,i,function(m){return m!==Error.prototype},d=>d!=="isAxiosError"),g.call(i,e.message,t,n,r,s),i.cause=e,i.name=e.name,o&&Object.assign(i,o),i};const ir=null;function me(e){return c.isPlainObject(e)||c.isArray(e)}function yt(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function Me(e,t,n){return e?e.concat(t).map(function(s,o){return s=yt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function ar(e){return c.isArray(e)&&!e.some(me)}const cr=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function oe(e,t,n){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=c.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(l,p){return!c.isUndefined(p[l])});const r=n.metaTokens,s=n.visitor||f,o=n.dots,i=n.indexes,m=(n.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(s))throw new TypeError("visitor must be a function");function E(a){if(a===null)return"";if(c.isDate(a))return a.toISOString();if(!m&&c.isBlob(a))throw new g("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(a)||c.isTypedArray(a)?m&&typeof Blob=="function"?new Blob([a]):Buffer.from(a):a}function f(a,l,p){let y=a;if(a&&!p&&typeof a=="object"){if(c.endsWith(l,"{}"))l=r?l:l.slice(0,-2),a=JSON.stringify(a);else if(c.isArray(a)&&ar(a)||(c.isFileList(a)||c.endsWith(l,"[]"))&&(y=c.toArray(a)))return l=yt(l),y.forEach(function(A,b){!(c.isUndefined(A)||A===null)&&t.append(i===!0?Me([l],b,o):i===null?l:l+"[]",E(A))}),!1}return me(a)?!0:(t.append(Me(p,l,o),E(a)),!1)}const u=[],h=Object.assign(cr,{defaultVisitor:f,convertValue:E,isVisitable:me});function w(a,l){if(!c.isUndefined(a)){if(u.indexOf(a)!==-1)throw Error("Circular reference detected in "+l.join("."));u.push(a),c.forEach(a,function(y,S){(!(c.isUndefined(y)||y===null)&&s.call(t,y,c.isString(S)?S.trim():S,l,h))===!0&&w(y,l?l.concat(S):[S])}),u.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return w(e),t}function Ue(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Ae(e,t){this._pairs=[],e&&oe(e,this,t)}const wt=Ae.prototype;wt.append=function(t,n){this._pairs.push([t,n])};wt.toString=function(t){const n=t?function(r){return t.call(this,r,Ue)}:Ue;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function ur(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bt(e,t,n){if(!t)return e;const r=n&&n.encode||ur,s=n&&n.serialize;let o;if(s?o=s(t,n):o=c.isURLSearchParams(t)?t.toString():new Ae(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){c.forEach(this.handlers,function(r){r!==null&&t(r)})}}const vt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lr=typeof URLSearchParams<"u"?URLSearchParams:Ae,dr=typeof FormData<"u"?FormData:null,fr=typeof Blob<"u"?Blob:null,mr={isBrowser:!0,classes:{URLSearchParams:lr,FormData:dr,Blob:fr},protocols:["http","https","file","blob","url","data"]},St=typeof window<"u"&&typeof document<"u",pr=(e=>St&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),hr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Er=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:St,hasStandardBrowserEnv:pr,hasStandardBrowserWebWorkerEnv:hr},Symbol.toStringTag,{value:"Module"})),k={...Er,...mr};function gr(e,t){return oe(e,new k.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,o){return k.isNode&&c.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function yr(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function wr(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&c.isArray(s)?s.length:i,m?(c.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!d):((!s[i]||!c.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&c.isArray(s[i])&&(s[i]=wr(s[i])),!d)}if(c.isFormData(e)&&c.isFunction(e.entries)){const n={};return c.forEachEntry(e,(r,s)=>{t(yr(r),s,n,0)}),n}return null}function br(e,t,n){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Re={transitional:vt,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=c.isObject(t);if(o&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return s?JSON.stringify(_t(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let d;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return gr(t,this.formSerializer).toString();if((d=c.isFileList(t))||r.indexOf("multipart/form-data")>-1){const m=this.env&&this.env.FormData;return oe(d?{"files[]":t}:t,m&&new m,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),br(t)):t}],transformResponse:[function(t){const n=this.transitional||Re.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(t&&c.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(d){if(i)throw d.name==="SyntaxError"?g.from(d,g.ERR_BAD_RESPONSE,this,null,this.response):d}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:k.classes.FormData,Blob:k.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{Re.headers[e]={}});const Oe=Re,vr=c.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"]),Sr=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]&&vr[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},ze=Symbol("internals");function H(e){return e&&String(e).trim().toLowerCase()}function Y(e){return e===!1||e==null?e:c.isArray(e)?e.map(Y):String(e)}function _r(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 Tr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ce(e,t,n,r,s){if(c.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!c.isString(t)){if(c.isString(r))return t.indexOf(r)!==-1;if(c.isRegExp(r))return r.test(t)}}function Ar(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Rr(e,t){const n=c.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 ie{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(d,m,E){const f=H(m);if(!f)throw new Error("header name must be a non-empty string");const u=c.findKey(s,f);(!u||s[u]===void 0||E===!0||E===void 0&&s[u]!==!1)&&(s[u||m]=Y(d))}const i=(d,m)=>c.forEach(d,(E,f)=>o(E,f,m));return c.isPlainObject(t)||t instanceof this.constructor?i(t,n):c.isString(t)&&(t=t.trim())&&!Tr(t)?i(Sr(t),n):t!=null&&o(n,t,r),this}get(t,n){if(t=H(t),t){const r=c.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return _r(s);if(c.isFunction(n))return n.call(this,s,r);if(c.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=H(t),t){const r=c.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||ce(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=H(i),i){const d=c.findKey(r,i);d&&(!n||ce(r,r[d],d,n))&&(delete r[d],s=!0)}}return c.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||ce(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return c.forEach(this,(s,o)=>{const i=c.findKey(r,o);if(i){n[i]=Y(s),delete n[o];return}const d=t?Ar(o):String(o).trim();d!==o&&delete n[o],n[d]=Y(s),r[d]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return c.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&c.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[ze]=this[ze]={accessors:{}}).accessors,s=this.prototype;function o(i){const d=H(i);r[d]||(Rr(s,i),r[d]=!0)}return c.isArray(t)?t.forEach(o):o(t),this}}ie.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);c.reduceDescriptors(ie.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});c.freezeMethods(ie);const B=ie;function ue(e,t){const n=this||Oe,r=t||n,s=B.from(r.headers);let o=r.data;return c.forEach(e,function(d){o=d.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Tt(e){return!!(e&&e.__CANCEL__)}function J(e,t,n){g.call(this,e??"canceled",g.ERR_CANCELED,t,n),this.name="CanceledError"}c.inherits(J,g,{__CANCEL__:!0});function Or(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))}const Cr=k.hasStandardBrowserEnv?{write(e,t,n,r,s,o){const i=[e+"="+encodeURIComponent(t)];c.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),c.isString(r)&&i.push("path="+r),c.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 kr(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Pr(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function At(e,t){return e&&!kr(t)?Pr(e,t):t}const xr=k.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function s(o){let i=o;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=s(window.location.href),function(i){const d=c.isString(i)?s(i):i;return d.protocol===r.protocol&&d.host===r.host}}():function(){return function(){return!0}}();function Dr(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Br(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(m){const E=Date.now(),f=r[o];i||(i=E),n[s]=m,r[s]=E;let u=o,h=0;for(;u!==s;)h+=n[u++],u=u%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),E-i{const o=s.loaded,i=s.lengthComputable?s.total:void 0,d=o-n,m=r(d),E=o<=i;n=o;const f={loaded:o,total:i,progress:i?o/i:void 0,bytes:d,rate:m||void 0,estimated:m&&i&&E?(i-o)/m:void 0,event:s};f[t?"download":"upload"]=!0,e(f)}}const Lr=typeof XMLHttpRequest<"u",Nr=Lr&&function(e){return new Promise(function(n,r){let s=e.data;const o=B.from(e.headers).normalize();let{responseType:i,withXSRFToken:d}=e,m;function E(){e.cancelToken&&e.cancelToken.unsubscribe(m),e.signal&&e.signal.removeEventListener("abort",m)}let f;if(c.isFormData(s)){if(k.hasStandardBrowserEnv||k.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if((f=o.getContentType())!==!1){const[l,...p]=f?f.split(";").map(y=>y.trim()).filter(Boolean):[];o.setContentType([l||"multipart/form-data",...p].join("; "))}}let u=new XMLHttpRequest;if(e.auth){const l=e.auth.username||"",p=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(l+":"+p))}const h=At(e.baseURL,e.url);u.open(e.method.toUpperCase(),bt(h,e.params,e.paramsSerializer),!0),u.timeout=e.timeout;function w(){if(!u)return;const l=B.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),y={data:!i||i==="text"||i==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:l,config:e,request:u};Or(function(A){n(A),E()},function(A){r(A),E()},y),u=null}if("onloadend"in u?u.onloadend=w:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(w)},u.onabort=function(){u&&(r(new g("Request aborted",g.ECONNABORTED,e,u)),u=null)},u.onerror=function(){r(new g("Network Error",g.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let p=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const y=e.transitional||vt;e.timeoutErrorMessage&&(p=e.timeoutErrorMessage),r(new g(p,y.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,u)),u=null},k.hasStandardBrowserEnv&&(d&&c.isFunction(d)&&(d=d(e)),d||d!==!1&&xr(h))){const l=e.xsrfHeaderName&&e.xsrfCookieName&&Cr.read(e.xsrfCookieName);l&&o.set(e.xsrfHeaderName,l)}s===void 0&&o.setContentType(null),"setRequestHeader"in u&&c.forEach(o.toJSON(),function(p,y){u.setRequestHeader(y,p)}),c.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&i!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",He(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",He(e.onUploadProgress)),(e.cancelToken||e.signal)&&(m=l=>{u&&(r(!l||l.type?new J(null,e,u):l),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(m),e.signal&&(e.signal.aborted?m():e.signal.addEventListener("abort",m)));const a=Dr(h);if(a&&k.protocols.indexOf(a)===-1){r(new g("Unsupported protocol "+a+":",g.ERR_BAD_REQUEST,e));return}u.send(s||null)})},pe={http:ir,xhr:Nr};c.forEach(pe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const qe=e=>`- ${e}`,Fr=e=>c.isFunction(e)||e===null||e===!1,Rt={getAdapter:e=>{e=c.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let o=0;o`adapter ${d} `+(m===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since :
-`+o.map(qe).join(`
-`):" "+qe(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:pe};function le(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new J(null,e)}function We(e){return le(e),e.headers=B.from(e.headers),e.data=ue.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Rt.getAdapter(e.adapter||Oe.adapter)(e).then(function(r){return le(e),r.data=ue.call(e,e.transformResponse,r),r.headers=B.from(r.headers),r},function(r){return Tt(r)||(le(e),r&&r.response&&(r.response.data=ue.call(e,e.transformResponse,r.response),r.response.headers=B.from(r.response.headers))),Promise.reject(r)})}const Je=e=>e instanceof B?e.toJSON():e;function j(e,t){t=t||{};const n={};function r(E,f,u){return c.isPlainObject(E)&&c.isPlainObject(f)?c.merge.call({caseless:u},E,f):c.isPlainObject(f)?c.merge({},f):c.isArray(f)?f.slice():f}function s(E,f,u){if(c.isUndefined(f)){if(!c.isUndefined(E))return r(void 0,E,u)}else return r(E,f,u)}function o(E,f){if(!c.isUndefined(f))return r(void 0,f)}function i(E,f){if(c.isUndefined(f)){if(!c.isUndefined(E))return r(void 0,E)}else return r(void 0,f)}function d(E,f,u){if(u in t)return r(E,f);if(u in e)return r(void 0,E)}const m={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:d,headers:(E,f)=>s(Je(E),Je(f),!0)};return c.forEach(Object.keys(Object.assign({},e,t)),function(f){const u=m[f]||s,h=u(e[f],t[f],f);c.isUndefined(h)&&u!==d||(n[f]=h)}),n}const Ot="1.6.7",Ce={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ce[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const $e={};Ce.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Ot+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,d)=>{if(t===!1)throw new g(s(i," has been removed"+(n?" in "+n:"")),g.ERR_DEPRECATED);return n&&!$e[i]&&($e[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,d):!0}};function Ir(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 d=e[o],m=d===void 0||i(d,o,e);if(m!==!0)throw new g("option "+o+" must be "+m,g.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new g("Unknown option "+o,g.ERR_BAD_OPTION)}}const he={assertOptions:Ir,validators:Ce},L=he.validators;class Q{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/,""):"";r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=`
-`+o):r.stack=o}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=j(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&he.assertOptions(r,{silentJSONParsing:L.transitional(L.boolean),forcedJSONParsing:L.transitional(L.boolean),clarifyTimeoutError:L.transitional(L.boolean)},!1),s!=null&&(c.isFunction(s)?n.paramsSerializer={serialize:s}:he.assertOptions(s,{encode:L.function,serialize:L.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&c.merge(o.common,o[n.method]);o&&c.forEach(["delete","get","head","post","put","patch","common"],a=>{delete o[a]}),n.headers=B.concat(i,o);const d=[];let m=!0;this.interceptors.request.forEach(function(l){typeof l.runWhen=="function"&&l.runWhen(n)===!1||(m=m&&l.synchronous,d.unshift(l.fulfilled,l.rejected))});const E=[];this.interceptors.response.forEach(function(l){E.push(l.fulfilled,l.rejected)});let f,u=0,h;if(!m){const a=[We.bind(this),void 0];for(a.unshift.apply(a,d),a.push.apply(a,E),h=a.length,f=Promise.resolve(n);u{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(d=>{r.subscribe(d),o=d}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,d){r.reason||(r.reason=new J(o,i,d),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)}static source(){let t;return{token:new ke(function(s){t=s}),cancel:t}}}const Vr=ke;function Mr(e){return function(n){return e.apply(null,n)}}function Ur(e){return c.isObject(e)&&e.isAxiosError===!0}const Ee={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(Ee).forEach(([e,t])=>{Ee[t]=e});const jr=Ee;function Ct(e){const t=new Z(e),n=ct(Z.prototype.request,t);return c.extend(n,Z.prototype,t,{allOwnKeys:!0}),c.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ct(j(e,s))},n}const T=Ct(Oe);T.Axios=Z;T.CanceledError=J;T.CancelToken=Vr;T.isCancel=Tt;T.VERSION=Ot;T.toFormData=oe;T.AxiosError=g;T.Cancel=T.CanceledError;T.all=function(t){return Promise.all(t)};T.spread=Mr;T.isAxiosError=Ur;T.mergeConfig=j;T.AxiosHeaders=B;T.formToJSON=e=>_t(c.isHTMLForm(e)?new FormData(e):e);T.getAdapter=Rt.getAdapter;T.HttpStatusCode=jr;T.default=T;function Ge(){xe().logout(),location.reload()}function zr(){const e=T.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 K.error("非本系统的接口"),Promise.reject(new Error("非本系统的接口"));switch(s){case 0:return n;case 401:return Ge();default:return K.error(n.message||"Error"),Promise.reject(new Error("Error"))}},t=>{switch(Jt(t,"response.status")){case 400:t.message="请求错误";break;case 401:Ge();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 K.error(t.message),Promise.reject(t)}),e}function Hr(e){return function(t){const n=_e(),r={headers:{Authorization:n?`Bearer ${n}`:void 0,"Content-Type":"application/json"},timeout:5e3,baseURL:"https://www.fastmock.site/mock/761e2dda2b8890ab86c928a74e8f6538/api/v1",data:{}},s=$t(r,t);return e(s)}}const qr=zr(),Pe=Hr(qr);function As(){return Pe({url:"login/code",method:"get"})}function Wr(e){return Pe({url:"users/login",method:"post",data:e})}function Jr(){return Pe({url:"users/info",method:"get"})}const $r=ee("user",()=>{const e=P(_e()||""),t=P([]),n=P(""),r=st(),s=at(),o=it(),i=w=>{t.value=w},d=async({username:w,password:a,code:l})=>{const{data:p}=await Wr({username:w,password:a,code:l});Ne(p.token),e.value=p.token},m=async()=>{var a;const{data:w}=await Jr();n.value=w.username,t.value=((a=w.roles)==null?void 0:a.length)>0?w.roles:tt.defaultRoles},E=async w=>{const a="token-"+w;e.value=a,Ne(a),await m(),r.setRoutes(t.value),Le(),r.dynamicRoutes.forEach(l=>{D.addRoute(l)}),h()},f=()=>{Fe(),e.value="",t.value=[],Le(),h()},u=()=>{Fe(),e.value="",t.value=[]},h=()=>{o.cacheTagsView||(s.delAllVisitedViews(),s.delAllCachedViews())};return{token:e,roles:t,username:n,setRoles:i,login:d,getInfo:m,changeRoles:E,logout:f,resetToken:u}});function xe(){return $r(te)}function Gr(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 ge=Gr(),ye=Symbol("ROUTE_CHANGE");let we;const Kr=e=>{ge.emit(ye,e),we=e};function Rs(){const e=[],t=(r,s=!1)=>{e.push(r),ge.on(ye,r),s&&we&&r(we)},n=r=>{ge.off(ye,r)};return Ut(()=>{for(let r=0;r{kt.value=e?`${Ke} | ${e}`:Ke};Qe(kt,(e,t)=>{document&&e!==t&&(document.title=e)});function Yr(){return{setTitle:Xr}}const Zr=()=>{const e=Tn();e.cachedViews=[...e.cachedViews]},Qr=["/login"],es=[],ts=e=>Qr.indexOf(e.path)!==-1||es.indexOf(e.name)!==-1;var Pt={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Gt,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:'
'};n.configure=function(a){var l,p;for(l in a)p=a[l],p!==void 0&&a.hasOwnProperty(l)&&(r[l]=p);return this},n.status=null,n.set=function(a){var l=n.isStarted();a=s(a,r.minimum,1),n.status=a===1?null:a;var p=n.render(!l),y=p.querySelector(r.barSelector),S=r.speed,T=r.easing;return p.offsetWidth,d(function(b){r.positionUsing===""&&(r.positionUsing=n.getPositioningCSS()),m(y,i(a,S,T)),a===1?(m(p,{transition:"none",opacity:1}),p.offsetWidth,setTimeout(function(){m(p,{transition:"all "+S+"ms linear",opacity:0}),setTimeout(function(){n.remove(),b()},S)},S)):setTimeout(b,S)}),this},n.isStarted=function(){return typeof n.status=="number"},n.start=function(){n.status||n.set(0);var a=function(){setTimeout(function(){n.status&&(n.trickle(),a())},r.trickleSpeed)};return r.trickle&&a(),this},n.done=function(a){return!a&&!n.status?this:n.inc(.3+.5*Math.random()).set(1)},n.inc=function(a){var l=n.status;return l?(typeof a!="number"&&(a=(1-l)*s(Math.random()*l,.1,.95)),l=s(l+a,0,.994),n.set(l)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},function(){var a=0,l=0;n.promise=function(p){return!p||p.state()==="resolved"?this:(l===0&&n.start(),a++,l++,p.always(function(){l--,l===0?(a=0,n.done()):n.set((a-l)/a)}),this)}}(),n.render=function(a){if(n.isRendered())return document.getElementById("nprogress");f(document.documentElement,"nprogress-busy");var l=document.createElement("div");l.id="nprogress",l.innerHTML=r.template;var p=l.querySelector(r.barSelector),y=a?"-100":o(n.status||0),S=document.querySelector(r.parent),T;return m(p,{transition:"all 0 linear",transform:"translate3d("+y+"%,0,0)"}),r.showSpinner||(T=l.querySelector(r.spinnerSelector),T&&w(T)),S!=document.body&&f(S,"nprogress-custom-parent"),S.appendChild(l),l},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var a=document.getElementById("nprogress");a&&w(a)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var a=document.body.style,l="WebkitTransform"in a?"Webkit":"MozTransform"in a?"Moz":"msTransform"in a?"ms":"OTransform"in a?"O":"";return l+"Perspective"in a?"translate3d":l+"Transform"in a?"translate":"margin"};function s(a,l,p){return ap?p:a}function o(a){return(-1+a)*100}function i(a,l,p){var y;return r.positionUsing==="translate3d"?y={transform:"translate3d("+o(a)+"%,0,0)"}:r.positionUsing==="translate"?y={transform:"translate("+o(a)+"%,0)"}:y={"margin-left":o(a)+"%"},y.transition="all "+l+"ms "+p,y}var d=function(){var a=[];function l(){var p=a.shift();p&&p(l)}return function(p){a.push(p),a.length==1&&l()}}(),m=function(){var a=["Webkit","O","Moz","ms"],l={};function p(b){return b.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(O,C){return C.toUpperCase()})}function y(b){var O=document.body.style;if(b in O)return b;for(var C=a.length,V=b.charAt(0).toUpperCase()+b.slice(1),N;C--;)if(N=a[C]+V,N in O)return N;return b}function S(b){return b=p(b),l[b]||(l[b]=y(b))}function T(b,O,C){O=S(O),b.style[O]=C}return function(b,O){var C=arguments,V,N;if(C.length==2)for(V in O)N=O[V],N!==void 0&&O.hasOwnProperty(V)&&T(b,V,N);else T(b,C[1],C[2])}}();function E(a,l){var p=typeof a=="string"?a:h(a);return p.indexOf(" "+l+" ")>=0}function f(a,l){var p=h(a),y=p+l;E(p,l)||(a.className=y.substring(1))}function u(a,l){var p=h(a),y;E(a,l)&&(y=p.replace(" "+l+" "," "),a.className=y.substring(1,y.length-1))}function h(a){return(" "+(a.className||"")+" ").replace(/\s+/gi," ")}function w(a){a&&a.parentNode&&a.parentNode.removeChild(a)}return n})})(kt);var es=kt.exports;const U=Gt(es),{setTitle:ts}=Xr();U.configure({showSpinner:!1});D.beforeEach(async(e,t,n)=>{U.start();const r=xe(),s=wn();if(!_e()){Qr(e)?n():(U.done(),n("/login"));return}if(e.path==="/login")return U.done(),n({path:"/"});if(r.roles.length!==0)return n();try{if(await r.getInfo(),tt.async){const i=r.roles;s.setRoutes(i)}s.dynamicRoutes.forEach(i=>D.addRoute(i)),n({...e,replace:!0})}catch(i){r.resetToken(),K.error(i.message||"路由守卫过程发生错误"),U.done(),n("/login")}});D.afterEach(e=>{Gr(e),ts(e.meta.title),U.done()});const ns={class:"svg-icon","aria-hidden":"true"},rs=["href"],ss=Ye({__name:"index",props:{prefix:{default:"icon"},name:{}},setup(e){const t=e,n=Ut(()=>`#${t.prefix}-${t.name}`);return(r,s)=>(Ze(),jt("svg",ns,[zt("use",{href:n.value},null,8,rs)]))}}),os=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},is=os(ss,[["__scopeId","data-v-ce51d543"]]);if(typeof window<"u"){let e=function(){var t=document.body,n=document.getElementById("__svg__icons__dom__");n||(n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.style.position="absolute",n.style.width="0",n.style.height="0",n.id="__svg__icons__dom__",n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.setAttribute("xmlns:link","http://www.w3.org/1999/xlink")),n.innerHTML='',t.insertBefore(n,t.lastChild)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()}function as(e){e.component("SvgIcon",is)}function cs(e){e.use(Kt)}function us(e){for(const[t,n]of Object.entries(Xt))e.component(t,n)}we.use(Yt);we.setup({size:"medium",zIndex:9999,version:0,loadingText:null,table:{showHeader:!0,showOverflow:"tooltip",showHeaderOverflow:"tooltip",autoResize:!0,border:"inner",emptyText:"暂无数据",rowConfig:{isHover:!0,isCurrent:!0},columnConfig:{resizable:!1},align:"center",headerAlign:"center",rowId:"_VXE_ID"},pager:{perfect:!1,pageSize:10,pagerCount:7,pageSizes:[10,20,50],layouts:["Total","PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump"]},modal:{minWidth:500,minHeight:400,lockView:!0,mask:!0,dblclickZoom:!1,showTitleOverflow:!0,transfer:!0,draggable:!1}});function ls(e){e.use(we)}function ds(e){cs(e),us(e),ls(e)}const fs={mounted(e,t){var s;const{value:n}=t,{roles:r}=xe();if(Array.isArray(n)&&n.length>0)r.some(i=>n.includes(i))||((s=e.parentNode)==null||s.removeChild(e));else throw new Error(`need roles! Like v-permission="['admin','editor']"`)}};function ms(e){e.directive("permission",fs)}const $=Ht(mn);ds($);as($);ms($);$.use(ve).use(D);D.isReady().then(()=>{$.mount("#app")});export{bn as D,ot as L,Ss as S,os as _,vs as a,it as b,_n as c,st as d,Jr as e,_s as f,ws as g,dn as h,Pe as i,xe as j,ys as r,bs as s,As as u};
+function __vite__mapDeps(indexes) {
+ if (!__vite__mapDeps.viteFileDeps) {
+ __vite__mapDeps.viteFileDeps = ["static/index-V5GQwRIE.js","static/vue-edbHIJ2J.js","static/useWatermark-cvdbE1cJ.js","static/element-6bs1qbFv.js","static/index.vue_vue_type_script_setup_true_lang-eMckNTJN.js","static/vxe-gaPTatyF.js","static/index-ptz1g38e.css","static/index-eyJZxR0_.js","static/403-QCMDKX7J.js","static/ErrorPageLayout-hNNAWYq0.js","static/ErrorPageLayout-MzgEGPxr.css","static/404-T_h7pGBd.js","static/index-4_h3N-vx.js","static/index-wzvf4Xdj.css","static/index-nK_pCJhV.js","static/index-eNpFb1fr.css","static/index-lORvvZQD.js","static/index-dAFpXT8a.js","static/index-AcrPBM_f.js","static/index-oijKSejA.css","static/index-3ZMBodDy.js","static/index-IsYzftwy.js","static/index-A5kuWbk8.css","static/index-RF_9sazX.js","static/index-iPqudQn-.js","static/index-aJN4HYNR.js","static/index-PBw5UC4f.js","static/index-FAQjzuRs.js","static/index-qRHlpvtI.js","static/use-fetch-select-v_-wiev5.js","static/use-fullscreen-loading-lHTCwpK_.js","static/use-watermark-i_SA8oOz.js","static/use-watermark-vMj6GPUV.css","static/page-AHEmHxs-.js","static/SwitchRoles-uA0j_fzo.js","static/SwitchRoles-NLnFn-tk.css","static/page-Tq1n9aA7.css","static/directive-GKY2kTEI.js","static/directive-2HmODsST.css"]
+ }
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
+}
diff --git a/static/index-C8n6hSLC.js b/static/index-dAFpXT8a.js
similarity index 97%
rename from static/index-C8n6hSLC.js
rename to static/index-dAFpXT8a.js
index 07d4722e..9704e6b3 100644
--- a/static/index-C8n6hSLC.js
+++ b/static/index-dAFpXT8a.js
@@ -1 +1 @@
-import{c as Z,u as K,d as Q,g as W}from"./index-T9ug20i_.js";import{B as X,r as Y,C as ee,D as ae,F as le,G as te,b as A,H as ne}from"./element-6bs1qbFv.js";import{Z as R,l as oe,r as b,b as re,ag as d,ap as se,m,p as ie,P as F,M as _,O as a,U as e,u as r,S as s,q as w,T as ue,R as de}from"./vue-edbHIJ2J.js";import{_ as pe}from"./index-Fx4uz9-g.js";import"./vxe-gaPTatyF.js";const ce={total:0,currentPage:1,pageSizes:[10,20,50],pageSize:10,layout:"total, sizes, prev, pager, next, jumper"};function me(z={}){const i=R({...ce,...z});return{paginationData:i,handleCurrentChange:y=>{i.currentPage=y},handleSizeChange:y=>{i.pageSize=y}}}const fe={class:"app-container"},_e={class:"toolbar-wrapper"},ge={class:"table-wrapper"},ve={class:"pager-wrapper"},he=oe({name:"ElementPlus",__name:"index",setup(z){const i=b(!1),{paginationData:o,handleCurrentChange:D,handleSizeChange:y}=me(),x={id:void 0,username:"",password:""},g=b(!1),k=b(null),u=b(JSON.parse(JSON.stringify(x))),J={username:[{required:!0,trigger:"blur",message:"请输入用户名"}],password:[{required:!0,trigger:"blur",message:"请输入密码"}]},E=()=>{var t;(t=k.value)==null||t.validate((n,v)=>{if(!n)return console.error("表单校验不通过",v);i.value=!0,(u.value.id===void 0?Z:K)(u.value).then(()=>{A.success("操作成功"),g.value=!1,C()}).finally(()=>{i.value=!1})})},$=()=>{var t;(t=k.value)==null||t.clearValidate(),u.value=JSON.parse(JSON.stringify(x))},M=t=>{ne.confirm(`正在删除用户:${t.username},确认删除?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{Q(t.id).then(()=>{A.success("删除成功"),C()})})},q=t=>{g.value=!0,u.value=JSON.parse(JSON.stringify(t))},V=b([]),P=b(null),f=R({username:"",phone:""}),C=()=>{i.value=!0,W({currentPage:o.currentPage,size:o.pageSize,username:f.username||void 0,phone:f.phone||void 0}).then(({data:t})=>{o.total=t.total,V.value=t.list}).catch(()=>{V.value=[]}).finally(()=>{i.value=!1})},T=()=>{o.currentPage===1?C():o.currentPage=1},j=()=>{var t;(t=P.value)==null||t.resetFields(),T()};return re([()=>o.currentPage,()=>o.pageSize],C,{immediate:!0}),(t,n)=>{const v=d("el-input"),h=d("el-form-item"),p=d("el-button"),N=d("el-form"),O=d("el-card"),U=d("el-tooltip"),c=d("el-table-column"),S=d("el-tag"),G=d("el-table"),H=d("el-pagination"),I=d("el-dialog"),B=se("loading");return m(),ie("div",fe,[F((m(),_(O,{shadow:"never",class:"search-wrapper"},{default:a(()=>[e(N,{ref_key:"searchFormRef",ref:P,inline:!0,model:f},{default:a(()=>[e(h,{prop:"username",label:"用户名"},{default:a(()=>[e(v,{modelValue:f.username,"onUpdate:modelValue":n[0]||(n[0]=l=>f.username=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),e(h,{prop:"phone",label:"手机号"},{default:a(()=>[e(v,{modelValue:f.phone,"onUpdate:modelValue":n[1]||(n[1]=l=>f.phone=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),e(h,null,{default:a(()=>[e(p,{type:"primary",icon:r(X),onClick:T},{default:a(()=>[s("查询")]),_:1},8,["icon"]),e(p,{icon:r(Y),onClick:j},{default:a(()=>[s("重置")]),_:1},8,["icon"])]),_:1})]),_:1},8,["model"])]),_:1})),[[B,i.value]]),F((m(),_(O,{shadow:"never"},{default:a(()=>[w("div",_e,[w("div",null,[e(p,{type:"primary",icon:r(ee),onClick:n[2]||(n[2]=l=>g.value=!0)},{default:a(()=>[s("新增用户")]),_:1},8,["icon"]),e(p,{type:"danger",icon:r(ae)},{default:a(()=>[s("批量删除")]),_:1},8,["icon"])]),w("div",null,[e(U,{content:"下载"},{default:a(()=>[e(p,{type:"primary",icon:r(le),circle:""},null,8,["icon"])]),_:1}),e(U,{content:"刷新当前页"},{default:a(()=>[e(p,{type:"primary",icon:r(te),circle:"",onClick:C},null,8,["icon"])]),_:1})])]),w("div",ge,[e(G,{data:V.value},{default:a(()=>[e(c,{type:"selection",width:"50",align:"center"}),e(c,{prop:"username",label:"用户名",align:"center"}),e(c,{prop:"roles",label:"角色",align:"center"},{default:a(l=>[l.row.roles==="admin"?(m(),_(S,{key:0,effect:"plain"},{default:a(()=>[s("admin")]),_:1})):(m(),_(S,{key:1,type:"warning",effect:"plain"},{default:a(()=>[s(ue(l.row.roles),1)]),_:2},1024))]),_:1}),e(c,{prop:"phone",label:"手机号",align:"center"}),e(c,{prop:"email",label:"邮箱",align:"center"}),e(c,{prop:"status",label:"状态",align:"center"},{default:a(l=>[l.row.status?(m(),_(S,{key:0,type:"success",effect:"plain"},{default:a(()=>[s("启用")]),_:1})):(m(),_(S,{key:1,type:"danger",effect:"plain"},{default:a(()=>[s("禁用")]),_:1}))]),_:1}),e(c,{prop:"createTime",label:"创建时间",align:"center"}),e(c,{fixed:"right",label:"操作",width:"150",align:"center"},{default:a(l=>[e(p,{type:"primary",text:"",bg:"",size:"small",onClick:L=>q(l.row)},{default:a(()=>[s("修改")]),_:2},1032,["onClick"]),e(p,{type:"danger",text:"",bg:"",size:"small",onClick:L=>M(l.row)},{default:a(()=>[s("删除")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),w("div",ve,[e(H,{background:"",layout:r(o).layout,"page-sizes":r(o).pageSizes,total:r(o).total,"page-size":r(o).pageSize,currentPage:r(o).currentPage,onSizeChange:r(y),onCurrentChange:r(D)},null,8,["layout","page-sizes","total","page-size","currentPage","onSizeChange","onCurrentChange"])])]),_:1})),[[B,i.value]]),e(I,{modelValue:g.value,"onUpdate:modelValue":n[6]||(n[6]=l=>g.value=l),title:u.value.id===void 0?"新增用户":"修改用户",onClosed:$,width:"30%"},{footer:a(()=>[e(p,{onClick:n[5]||(n[5]=l=>g.value=!1)},{default:a(()=>[s("取消")]),_:1}),e(p,{type:"primary",onClick:E,loading:i.value},{default:a(()=>[s("确认")]),_:1},8,["loading"])]),default:a(()=>[e(N,{ref_key:"formRef",ref:k,model:u.value,rules:J,"label-width":"100px","label-position":"left"},{default:a(()=>[e(h,{prop:"username",label:"用户名"},{default:a(()=>[e(v,{modelValue:u.value.username,"onUpdate:modelValue":n[3]||(n[3]=l=>u.value.username=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),u.value.id===void 0?(m(),_(h,{key:0,prop:"password",label:"密码"},{default:a(()=>[e(v,{modelValue:u.value.password,"onUpdate:modelValue":n[4]||(n[4]=l=>u.value.password=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1})):de("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),ke=pe(he,[["__scopeId","data-v-994dbbd1"]]);export{ke as default};
+import{c as Z,u as K,d as Q,g as W}from"./index-AcrPBM_f.js";import{B as X,r as Y,C as ee,D as ae,F as le,G as te,b as A,H as ne}from"./element-6bs1qbFv.js";import{Z as R,l as oe,r as b,b as re,ag as d,ap as se,m,p as ie,P as F,M as _,O as a,U as e,u as r,S as s,q as w,T as ue,R as de}from"./vue-edbHIJ2J.js";import{_ as pe}from"./index-cLr0opls.js";import"./vxe-gaPTatyF.js";const ce={total:0,currentPage:1,pageSizes:[10,20,50],pageSize:10,layout:"total, sizes, prev, pager, next, jumper"};function me(z={}){const i=R({...ce,...z});return{paginationData:i,handleCurrentChange:y=>{i.currentPage=y},handleSizeChange:y=>{i.pageSize=y}}}const fe={class:"app-container"},_e={class:"toolbar-wrapper"},ge={class:"table-wrapper"},ve={class:"pager-wrapper"},he=oe({name:"ElementPlus",__name:"index",setup(z){const i=b(!1),{paginationData:o,handleCurrentChange:D,handleSizeChange:y}=me(),x={id:void 0,username:"",password:""},g=b(!1),k=b(null),u=b(JSON.parse(JSON.stringify(x))),J={username:[{required:!0,trigger:"blur",message:"请输入用户名"}],password:[{required:!0,trigger:"blur",message:"请输入密码"}]},E=()=>{var t;(t=k.value)==null||t.validate((n,v)=>{if(!n)return console.error("表单校验不通过",v);i.value=!0,(u.value.id===void 0?Z:K)(u.value).then(()=>{A.success("操作成功"),g.value=!1,C()}).finally(()=>{i.value=!1})})},$=()=>{var t;(t=k.value)==null||t.clearValidate(),u.value=JSON.parse(JSON.stringify(x))},M=t=>{ne.confirm(`正在删除用户:${t.username},确认删除?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{Q(t.id).then(()=>{A.success("删除成功"),C()})})},q=t=>{g.value=!0,u.value=JSON.parse(JSON.stringify(t))},V=b([]),P=b(null),f=R({username:"",phone:""}),C=()=>{i.value=!0,W({currentPage:o.currentPage,size:o.pageSize,username:f.username||void 0,phone:f.phone||void 0}).then(({data:t})=>{o.total=t.total,V.value=t.list}).catch(()=>{V.value=[]}).finally(()=>{i.value=!1})},T=()=>{o.currentPage===1?C():o.currentPage=1},j=()=>{var t;(t=P.value)==null||t.resetFields(),T()};return re([()=>o.currentPage,()=>o.pageSize],C,{immediate:!0}),(t,n)=>{const v=d("el-input"),h=d("el-form-item"),p=d("el-button"),N=d("el-form"),O=d("el-card"),U=d("el-tooltip"),c=d("el-table-column"),S=d("el-tag"),G=d("el-table"),H=d("el-pagination"),I=d("el-dialog"),B=se("loading");return m(),ie("div",fe,[F((m(),_(O,{shadow:"never",class:"search-wrapper"},{default:a(()=>[e(N,{ref_key:"searchFormRef",ref:P,inline:!0,model:f},{default:a(()=>[e(h,{prop:"username",label:"用户名"},{default:a(()=>[e(v,{modelValue:f.username,"onUpdate:modelValue":n[0]||(n[0]=l=>f.username=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),e(h,{prop:"phone",label:"手机号"},{default:a(()=>[e(v,{modelValue:f.phone,"onUpdate:modelValue":n[1]||(n[1]=l=>f.phone=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),e(h,null,{default:a(()=>[e(p,{type:"primary",icon:r(X),onClick:T},{default:a(()=>[s("查询")]),_:1},8,["icon"]),e(p,{icon:r(Y),onClick:j},{default:a(()=>[s("重置")]),_:1},8,["icon"])]),_:1})]),_:1},8,["model"])]),_:1})),[[B,i.value]]),F((m(),_(O,{shadow:"never"},{default:a(()=>[w("div",_e,[w("div",null,[e(p,{type:"primary",icon:r(ee),onClick:n[2]||(n[2]=l=>g.value=!0)},{default:a(()=>[s("新增用户")]),_:1},8,["icon"]),e(p,{type:"danger",icon:r(ae)},{default:a(()=>[s("批量删除")]),_:1},8,["icon"])]),w("div",null,[e(U,{content:"下载"},{default:a(()=>[e(p,{type:"primary",icon:r(le),circle:""},null,8,["icon"])]),_:1}),e(U,{content:"刷新当前页"},{default:a(()=>[e(p,{type:"primary",icon:r(te),circle:"",onClick:C},null,8,["icon"])]),_:1})])]),w("div",ge,[e(G,{data:V.value},{default:a(()=>[e(c,{type:"selection",width:"50",align:"center"}),e(c,{prop:"username",label:"用户名",align:"center"}),e(c,{prop:"roles",label:"角色",align:"center"},{default:a(l=>[l.row.roles==="admin"?(m(),_(S,{key:0,effect:"plain"},{default:a(()=>[s("admin")]),_:1})):(m(),_(S,{key:1,type:"warning",effect:"plain"},{default:a(()=>[s(ue(l.row.roles),1)]),_:2},1024))]),_:1}),e(c,{prop:"phone",label:"手机号",align:"center"}),e(c,{prop:"email",label:"邮箱",align:"center"}),e(c,{prop:"status",label:"状态",align:"center"},{default:a(l=>[l.row.status?(m(),_(S,{key:0,type:"success",effect:"plain"},{default:a(()=>[s("启用")]),_:1})):(m(),_(S,{key:1,type:"danger",effect:"plain"},{default:a(()=>[s("禁用")]),_:1}))]),_:1}),e(c,{prop:"createTime",label:"创建时间",align:"center"}),e(c,{fixed:"right",label:"操作",width:"150",align:"center"},{default:a(l=>[e(p,{type:"primary",text:"",bg:"",size:"small",onClick:L=>q(l.row)},{default:a(()=>[s("修改")]),_:2},1032,["onClick"]),e(p,{type:"danger",text:"",bg:"",size:"small",onClick:L=>M(l.row)},{default:a(()=>[s("删除")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),w("div",ve,[e(H,{background:"",layout:r(o).layout,"page-sizes":r(o).pageSizes,total:r(o).total,"page-size":r(o).pageSize,currentPage:r(o).currentPage,onSizeChange:r(y),onCurrentChange:r(D)},null,8,["layout","page-sizes","total","page-size","currentPage","onSizeChange","onCurrentChange"])])]),_:1})),[[B,i.value]]),e(I,{modelValue:g.value,"onUpdate:modelValue":n[6]||(n[6]=l=>g.value=l),title:u.value.id===void 0?"新增用户":"修改用户",onClosed:$,width:"30%"},{footer:a(()=>[e(p,{onClick:n[5]||(n[5]=l=>g.value=!1)},{default:a(()=>[s("取消")]),_:1}),e(p,{type:"primary",onClick:E,loading:i.value},{default:a(()=>[s("确认")]),_:1},8,["loading"])]),default:a(()=>[e(N,{ref_key:"formRef",ref:k,model:u.value,rules:J,"label-width":"100px","label-position":"left"},{default:a(()=>[e(h,{prop:"username",label:"用户名"},{default:a(()=>[e(v,{modelValue:u.value.username,"onUpdate:modelValue":n[3]||(n[3]=l=>u.value.username=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1}),u.value.id===void 0?(m(),_(h,{key:0,prop:"password",label:"密码"},{default:a(()=>[e(v,{modelValue:u.value.password,"onUpdate:modelValue":n[4]||(n[4]=l=>u.value.password=l),placeholder:"请输入"},null,8,["modelValue"])]),_:1})):de("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),ke=pe(he,[["__scopeId","data-v-994dbbd1"]]);export{ke as default};
diff --git a/static/index-smO4MiU3.js b/static/index-iPqudQn-.js
similarity index 83%
rename from static/index-smO4MiU3.js
rename to static/index-iPqudQn-.js
index 1480080b..b0a8e6f3 100644
--- a/static/index-smO4MiU3.js
+++ b/static/index-iPqudQn-.js
@@ -1 +1 @@
-import{_ as n}from"./index-Fx4uz9-g.js";import{ag as e,m as c,p as a,U as o,O as s}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const _={},i={class:"app-container"};function m(p,d){const t=e("router-view"),r=e("el-card");return c(),a("div",i,[o(r,{header:"三级路由 - menu1-2"},{default:s(()=>[o(t)]),_:1})])}const h=n(_,[["render",m]]);export{h as default};
+import{_ as n}from"./index-cLr0opls.js";import{ag as e,m as c,p as a,U as o,O as s}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const _={},i={class:"app-container"};function m(p,d){const t=e("router-view"),r=e("el-card");return c(),a("div",i,[o(r,{header:"三级路由 - menu1-2"},{default:s(()=>[o(t)]),_:1})])}const h=n(_,[["render",m]]);export{h as default};
diff --git a/static/index-FjsDMx50.js b/static/index-lORvvZQD.js
similarity index 92%
rename from static/index-FjsDMx50.js
rename to static/index-lORvvZQD.js
index a645fa75..fe11a0e1 100644
--- a/static/index-FjsDMx50.js
+++ b/static/index-lORvvZQD.js
@@ -1 +1 @@
-import{_ as e}from"./index-Fx4uz9-g.js";import{m as o,p as n,q as t}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const a={},i={"h-full":"","uno-padding-20":""},s=t("div",{"h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""},[t("div",{ma:""},[t("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-1s":""},"UnoCSS"),t("div",{op30:"","dark:op60":"","text-lg":"",fw300:"",m1:""},"该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss"),t("div",{m2:"",flex:"","justify-center":"","text-lg":"",op30:"","dark:op60":"",hover:"op80","dark:hover":"op80"},[t("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"},"推荐阅读:重新构想原子化 CSS")])])],-1),r=[s];function c(d,l){return o(),n("div",i,r)}const h=e(a,[["render",c]]);export{h as default};
+import{_ as e}from"./index-cLr0opls.js";import{m as o,p as n,q as t}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const a={},i={"h-full":"","uno-padding-20":""},s=t("div",{"h-full":"","text-center":"",flex:"","select-none":"","all:transition-400":""},[t("div",{ma:""},[t("div",{"text-5xl":"",fw100:"","animate-bounce-alt":"","animate-count-infinite":"","animate-1s":""},"UnoCSS"),t("div",{op30:"","dark:op60":"","text-lg":"",fw300:"",m1:""},"该页面是一个 UnoCSS 的使用案例,其他页面依旧采用 Scss"),t("div",{m2:"",flex:"","justify-center":"","text-lg":"",op30:"","dark:op60":"",hover:"op80","dark:hover":"op80"},[t("a",{href:"https://antfu.me/posts/reimagine-atomic-css-zh",target:"_blank"},"推荐阅读:重新构想原子化 CSS")])])],-1),r=[s];function c(d,l){return o(),n("div",i,r)}const h=e(a,[["render",c]]);export{h as default};
diff --git a/static/index-biGSfyid.js b/static/index-nK_pCJhV.js
similarity index 91%
rename from static/index-biGSfyid.js
rename to static/index-nK_pCJhV.js
index efc4fa96..96c30533 100644
--- a/static/index-biGSfyid.js
+++ b/static/index-nK_pCJhV.js
@@ -1 +1 @@
-import{_ as c,e as a}from"./index-Fx4uz9-g.js";import{ag as s,m as n,p as r,U as _,l as i,M as p,Q as m,u as d}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const l={},u={class:"app-container center"};function f(t,o){const e=s("el-empty");return n(),r("div",u,[_(e,{description:"Admin 权限可见"})])}const v=c(l,[["render",f],["__scopeId","data-v-540a7bcc"]]),x={},h={class:"app-container center"};function y(t,o){const e=s("el-empty");return n(),r("div",h,[_(e,{description:"Editor 权限可见"})])}const $=c(x,[["render",y],["__scopeId","data-v-e677b768"]]),b=i({__name:"index",setup(t){const e=a().roles.includes("admin");return(k,A)=>(n(),p(m(d(e)?v:$)))}});export{b as default};
+import{_ as c,e as a}from"./index-cLr0opls.js";import{ag as s,m as n,p as r,U as _,l as i,M as p,Q as m,u as d}from"./vue-edbHIJ2J.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const l={},u={class:"app-container center"};function f(t,o){const e=s("el-empty");return n(),r("div",u,[_(e,{description:"Admin 权限可见"})])}const v=c(l,[["render",f],["__scopeId","data-v-540a7bcc"]]),x={},h={class:"app-container center"};function y(t,o){const e=s("el-empty");return n(),r("div",h,[_(e,{description:"Editor 权限可见"})])}const $=c(x,[["render",y],["__scopeId","data-v-e677b768"]]),b=i({__name:"index",setup(t){const e=a().roles.includes("admin");return(k,A)=>(n(),p(m(d(e)?v:$)))}});export{b as default};
diff --git a/static/index.vue_vue_type_script_setup_true_lang-RDjZ16F8.js b/static/index.vue_vue_type_script_setup_true_lang-eMckNTJN.js
similarity index 92%
rename from static/index.vue_vue_type_script_setup_true_lang-RDjZ16F8.js
rename to static/index.vue_vue_type_script_setup_true_lang-eMckNTJN.js
index 9b3176c2..30b71c0f 100644
--- a/static/index.vue_vue_type_script_setup_true_lang-RDjZ16F8.js
+++ b/static/index.vue_vue_type_script_setup_true_lang-eMckNTJN.js
@@ -1 +1 @@
-import{h as k}from"./index-Fx4uz9-g.js";import{A as g}from"./element-6bs1qbFv.js";import{l as h,ag as o,m as l,M as m,O as e,U as n,p as C,a7 as x,u as t,F as B,q as s,T}from"./vue-edbHIJ2J.js";const V=h({__name:"index",setup(b){const{themeList:c,activeThemeName:d,setTheme:r}=k();return(v,N)=>{const _=o("el-icon"),p=o("el-tooltip"),i=o("el-dropdown-item"),u=o("el-dropdown-menu"),f=o("el-dropdown");return l(),m(f,{trigger:"click",onCommand:t(r)},{dropdown:e(()=>[n(u,null,{default:e(()=>[(l(!0),C(B,null,x(t(c),(a,w)=>(l(),m(i,{key:w,disabled:t(d)===a.name,command:a.name},{default:e(()=>[s("span",null,T(a.title),1)]),_:2},1032,["disabled","command"]))),128))]),_:1})]),default:e(()=>[s("div",null,[n(p,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[n(_,{size:20},{default:e(()=>[n(t(g))]),_:1})]),_:1})])]),_:1},8,["onCommand"])}}});export{V as _};
+import{h as k}from"./index-cLr0opls.js";import{A as g}from"./element-6bs1qbFv.js";import{l as h,ag as o,m as l,M as m,O as e,U as n,p as C,a7 as x,u as t,F as B,q as s,T}from"./vue-edbHIJ2J.js";const V=h({__name:"index",setup(b){const{themeList:c,activeThemeName:d,setTheme:r}=k();return(v,N)=>{const _=o("el-icon"),p=o("el-tooltip"),i=o("el-dropdown-item"),u=o("el-dropdown-menu"),f=o("el-dropdown");return l(),m(f,{trigger:"click",onCommand:t(r)},{dropdown:e(()=>[n(u,null,{default:e(()=>[(l(!0),C(B,null,x(t(c),(a,w)=>(l(),m(i,{key:w,disabled:t(d)===a.name,command:a.name},{default:e(()=>[s("span",null,T(a.title),1)]),_:2},1032,["disabled","command"]))),128))]),_:1})]),default:e(()=>[s("div",null,[n(p,{effect:"dark",content:"主题模式",placement:"bottom"},{default:e(()=>[n(_,{size:20},{default:e(()=>[n(t(g))]),_:1})]),_:1})])]),_:1},8,["onCommand"])}}});export{V as _};
diff --git a/static/page-zQXNdlxn.js b/static/page-AHEmHxs-.js
similarity index 79%
rename from static/page-zQXNdlxn.js
rename to static/page-AHEmHxs-.js
index d99ce0db..5ff2ad6b 100644
--- a/static/page-zQXNdlxn.js
+++ b/static/page-AHEmHxs-.js
@@ -1 +1 @@
-import{l as s,aD as n,ag as r,m as p,p as c,U as e,O as _,S as m}from"./vue-edbHIJ2J.js";import{S as i}from"./SwitchRoles-D87dCfXe.js";import{_ as l}from"./index-Fx4uz9-g.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const d={class:"app-container"},f=s({__name:"page",setup(g){const t=n(),a=()=>{t.push({path:"/403"})};return(h,u)=>{const o=r("el-tag");return p(),c("div",d,[e(i,{onChange:a}),e(o,{type:"warning",size:"large"},{default:_(()=>[m("当前页面只有 admin 权限可见,切换权限后将不能进入该页面")]),_:1})])}}}),S=l(f,[["__scopeId","data-v-7986af66"]]);export{S as default};
+import{l as s,aD as n,ag as r,m as p,p as c,U as e,O as _,S as m}from"./vue-edbHIJ2J.js";import{S as i}from"./SwitchRoles-uA0j_fzo.js";import{_ as l}from"./index-cLr0opls.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const d={class:"app-container"},f=s({__name:"page",setup(g){const t=n(),a=()=>{t.push({path:"/403"})};return(h,u)=>{const o=r("el-tag");return p(),c("div",d,[e(i,{onChange:a}),e(o,{type:"warning",size:"large"},{default:_(()=>[m("当前页面只有 admin 权限可见,切换权限后将不能进入该页面")]),_:1})])}}}),S=l(f,[["__scopeId","data-v-7986af66"]]);export{S as default};
diff --git a/static/use-watermark-v08cMB51.js b/static/use-watermark-i_SA8oOz.js
similarity index 96%
rename from static/use-watermark-v08cMB51.js
rename to static/use-watermark-i_SA8oOz.js
index 52a59bb0..c2efce1b 100644
--- a/static/use-watermark-v08cMB51.js
+++ b/static/use-watermark-i_SA8oOz.js
@@ -1 +1 @@
-import{u as f}from"./useWatermark-cvdbE1cJ.js";import{l as C,r as v,ag as m,m as y,p as b,q as i,U as t,O as a,u as r,S as l,aH as W,aI as g}from"./vue-edbHIJ2J.js";import{_ as w}from"./index-Fx4uz9-g.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const x=n=>(W("data-v-dbeea05d"),n=n(),g(),n),I={class:"app-container"},$=x(()=>i("h4",null," 该示例是演示:通过调用 hook,开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ",-1)),S=C({__name:"use-watermark",setup(n){const p=v(null),{setWatermark:c,clearWatermark:_}=f(p),{setWatermark:d,clearWatermark:k}=f();return(B,e)=>{const o=m("el-button"),u=m("el-button-group");return y(),b("div",I,[$,i("div",{ref_key:"localRef",ref:p,class:"local"},null,512),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[0]||(e[0]=s=>r(c)("局部水印",{color:"#409eff"}))},{default:a(()=>[l("创建局部水印")]),_:1}),t(o,{type:"warning",onClick:e[1]||(e[1]=s=>r(c)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(_)},{default:a(()=>[l("清除局部水印")]),_:1},8,["onClick"])]),_:1}),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[2]||(e[2]=s=>r(d)("全局水印",{color:"#409eff"}))},{default:a(()=>[l("创建全局水印")]),_:1}),t(o,{type:"warning",onClick:e[3]||(e[3]=s=>r(d)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(k)},{default:a(()=>[l("清除全局水印")]),_:1},8,["onClick"])]),_:1})])}}}),E=w(S,[["__scopeId","data-v-dbeea05d"]]);export{E as default};
+import{u as f}from"./useWatermark-cvdbE1cJ.js";import{l as C,r as v,ag as m,m as y,p as b,q as i,U as t,O as a,u as r,S as l,aH as W,aI as g}from"./vue-edbHIJ2J.js";import{_ as w}from"./index-cLr0opls.js";import"./element-6bs1qbFv.js";import"./vxe-gaPTatyF.js";const x=n=>(W("data-v-dbeea05d"),n=n(),g(),n),I={class:"app-container"},$=x(()=>i("h4",null," 该示例是演示:通过调用 hook,开启或关闭水印, 支持局部、全局、自定义样式(颜色、透明度、字体大小、字体、倾斜角度等),并自带防御(防删、防隐藏)和自适应功能 ",-1)),S=C({__name:"use-watermark",setup(n){const p=v(null),{setWatermark:c,clearWatermark:_}=f(p),{setWatermark:d,clearWatermark:k}=f();return(B,e)=>{const o=m("el-button"),u=m("el-button-group");return y(),b("div",I,[$,i("div",{ref_key:"localRef",ref:p,class:"local"},null,512),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[0]||(e[0]=s=>r(c)("局部水印",{color:"#409eff"}))},{default:a(()=>[l("创建局部水印")]),_:1}),t(o,{type:"warning",onClick:e[1]||(e[1]=s=>r(c)("没有防御功能的局部水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(_)},{default:a(()=>[l("清除局部水印")]),_:1},8,["onClick"])]),_:1}),t(u,null,{default:a(()=>[t(o,{type:"primary",onClick:e[2]||(e[2]=s=>r(d)("全局水印",{color:"#409eff"}))},{default:a(()=>[l("创建全局水印")]),_:1}),t(o,{type:"warning",onClick:e[3]||(e[3]=s=>r(d)("没有防御功能的全局水印",{color:"#e6a23c",defense:!1}))},{default:a(()=>[l(" 关闭防御功能 ")]),_:1}),t(o,{type:"danger",onClick:r(k)},{default:a(()=>[l("清除全局水印")]),_:1},8,["onClick"])]),_:1})])}}}),E=w(S,[["__scopeId","data-v-dbeea05d"]]);export{E as default};