flex-mcp 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/configs.d.ts.map +1 -1
- package/dist/api/configs.js +26 -199
- package/dist/api/configs.js.map +1 -1
- package/dist/api/prompts.d.ts.map +1 -1
- package/dist/api/prompts.js +1 -58
- package/dist/api/prompts.js.map +1 -1
- package/dist/cli.js +8 -8
- package/dist/cli.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/mcp/aggregator.d.ts +5 -1
- package/dist/mcp/aggregator.d.ts.map +1 -1
- package/dist/mcp/aggregator.js +33 -37
- package/dist/mcp/aggregator.js.map +1 -1
- package/dist/script/context.d.ts +1 -1
- package/dist/script/context.d.ts.map +1 -1
- package/dist/script/context.js +5 -1
- package/dist/script/context.js.map +1 -1
- package/dist/script/executor.d.ts +9 -0
- package/dist/script/executor.d.ts.map +1 -1
- package/dist/script/executor.js +19 -1
- package/dist/script/executor.js.map +1 -1
- package/dist/web/assets/{Blank-s8a1VcBP.js → Blank-BerVeAls.js} +1 -1
- package/dist/web/assets/Configs-BZ4p1nld.js +1 -0
- package/dist/web/assets/Dashboard-DVSQDspm.js +27 -0
- package/dist/web/assets/{InitScriptEditor-CyQQvKeL.js → InitScriptEditor-DlF0Jn7f.js} +16 -12
- package/dist/web/assets/{Layout-C1hga5lx.js → Layout-Br6VMRob.js} +1 -1
- package/dist/web/assets/{Layout-BkmH4NiL.js → Layout-SLPXm-dk.js} +1 -1
- package/dist/web/assets/{Login-Dbjg2uN-.js → Login-Cm10QZJ1.js} +1 -1
- package/dist/web/assets/{Login-DflsSakB.js → Login-Cn9EfrvS.js} +1 -1
- package/dist/web/assets/Users-Dj8FIlX1.js +1 -0
- package/dist/web/assets/{index-Coivokd4.js → index-Dy8wTpRZ.js} +3 -3
- package/dist/web/assets/{style-DkqnAI3H.css → style-0VyF1s_q.css} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/Configs-Du0LnEIl.js +0 -1
- package/dist/web/assets/Dashboard-DBtv2jAX.js +0 -27
- package/dist/web/assets/Users-DKoYWDA0.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as o,d as M,a as B,p as _,q as L,c as i,b as e,e as V,f as p,t as u,g as m,w as h,B as H,F as j,s as z,v as I,o as r,x as A,m as F,y as g,z as f,T as P,i as S}from"./index-
|
|
1
|
+
import{n as o,d as M,a as B,p as _,q as L,c as i,b as e,e as V,f as p,t as u,g as m,w as h,B as H,F as j,s as z,v as I,o as r,x as A,m as F,y as g,z as f,T as P,i as S}from"./index-Dy8wTpRZ.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const D=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1",stroke:"currentColor","stroke-width":"2",fill:"none"}),o("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1",stroke:"currentColor","stroke-width":"2",fill:"none"}),o("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",stroke:"currentColor","stroke-width":"2",fill:"none"}),o("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1",stroke:"currentColor","stroke-width":"2",fill:"none"})]),G=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),N=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("path",{d:"M4 7h3m13 0h-3m-2 4l-2 5l-2-5m9-4l-3 8l-3-8m-6 11h3m0 0h3m-3 0V10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),T=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("polyline",{points:"16 18 22 12 16 6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),o("polyline",{points:"8 6 2 12 8 18",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),R=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("path",{d:"M3 3h18v18H3V3zm2 2v14h14V5H5zm2 2h10v2H7V7zm0 4h10v2H7v-2zm0 4h7v2H7v-2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),O=()=>o("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[o("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),o("path",{d:"M14 2v6h6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),o("path",{d:"M16 13H8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"}),o("path",{d:"M16 17H8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"}),o("path",{d:"M10 9H8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})]),C=[{label:"MCP 组件",key:"section-components",icon:D,description:"管理 MCP 服务组件"},{label:"自定义工具",key:"section-tools",icon:G,description:"创建和编辑工具"},{label:"变量管理",key:"section-variables",icon:N,description:"配置环境变量",hideForAdmin:!0},{label:"初始化脚本",key:"section-init",icon:T,description:"编写启动脚本"},{label:"数据管理",key:"section-tables",icon:R,description:"创建和管理数据表",hideForAdmin:!0},{label:"提示词管理",key:"section-prompts",icon:O,description:"创建和管理提示词模板"}],U={class:"app-shell"},Z={class:"app-header"},$={class:"app-header__container"},E={class:"app-header__right"},W={class:"user-info"},J={class:"user-email"},K={class:"app-body"},Q={class:"app-sidebar"},X={class:"sidebar-nav"},Y=["onClick"],ee={class:"nav-item__icon"},oe={class:"nav-item__content"},te={class:"nav-item__label"},se={class:"nav-item__description"},ne={key:0,class:"nav-item__indicator"},re={class:"app-content"},ie={class:"content-wrapper"},ae=M({__name:"Layout",setup(le){const a=S(),l=L(),c=B(),v=_(()=>l.name==="UserDashboard"?`section-${l.query.section||"components"}`:l.name),x=_(()=>{var t;return((t=c.user)==null?void 0:t.role)==="admin"?C.filter(d=>!d.hideForAdmin):C});function y(n){if(n.startsWith("section-")){const t=n.replace("section-","");a.push({name:"UserDashboard",query:{section:t}});return}a.push({name:n})}function b(){c.userLogout(),a.push("/user/login")}return(n,t)=>{var k;const d=I("router-view");return r(),i("div",U,[e("header",Z,[e("div",$,[t[2]||(t[2]=V('<div class="app-header__left" data-v-ae7e6c80><div class="app-logo" data-v-ae7e6c80><div class="logo-icon" data-v-ae7e6c80><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-ae7e6c80><path d="M12 2L2 7L12 12L22 7L12 2Z" fill="url(#gradient1)" data-v-ae7e6c80></path><path d="M2 17L12 22L22 17V12L12 17L2 12V17Z" fill="url(#gradient2)" data-v-ae7e6c80></path><defs data-v-ae7e6c80><linearGradient id="gradient1" x1="2" y1="2" x2="22" y2="12" data-v-ae7e6c80><stop offset="0%" stop-color="#6366f1" data-v-ae7e6c80></stop><stop offset="100%" stop-color="#8b5cf6" data-v-ae7e6c80></stop></linearGradient><linearGradient id="gradient2" x1="2" y1="12" x2="22" y2="22" data-v-ae7e6c80><stop offset="0%" stop-color="#8b5cf6" data-v-ae7e6c80></stop><stop offset="100%" stop-color="#ec4899" data-v-ae7e6c80></stop></linearGradient></defs></svg></div><div class="logo-text" data-v-ae7e6c80><div class="logo-title" data-v-ae7e6c80>Flex MCP</div><div class="logo-subtitle" data-v-ae7e6c80>MCP 服务运营平台</div></div></div></div>',1)),e("div",E,[e("div",W,[t[0]||(t[0]=e("div",{class:"user-avatar"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("circle",{cx:"12",cy:"8",r:"4",fill:"currentColor",opacity:"0.3"}),e("path",{d:"M6 21C6 17.686 8.686 15 12 15C15.314 15 18 17.686 18 21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})])],-1)),e("span",J,u(((k=m(c).user)==null?void 0:k.email)||"用户"),1)]),p(m(H),{class:"logout-btn",quaternary:"",circle:"",onClick:b},{icon:h(()=>[...t[1]||(t[1]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M9 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M16 17L21 12L16 7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M21 12H9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1})])])]),e("div",K,[e("aside",Q,[e("nav",X,[(r(!0),i(j,null,z(x.value,s=>(r(),i("div",{key:s.key,class:A(["nav-item",{"nav-item--active":v.value===s.key}]),onClick:w=>y(s.key)},[e("div",ee,[(r(),g(f(s.icon)))]),e("div",oe,[e("div",te,u(s.label),1),e("div",se,u(s.description),1)]),v.value===s.key?(r(),i("div",ne)):F("",!0)],10,Y))),128))])]),e("main",re,[e("div",ie,[p(d,null,{default:h(({Component:s,route:w})=>[p(P,{name:"page-fade",mode:"out-in"},{default:h(()=>[(r(),g(f(s),{key:w.path}))]),_:2},1024)]),_:1})])])])])}}}),pe=q(ae,[["__scopeId","data-v-ae7e6c80"]]);export{pe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as C,a as x,p as y,q as L,c as n,b as e,e as M,f as i,w as r,g as b,B,F as j,s as z,v as V,o as s,x as A,m as I,y as v,z as u,t as _,n as a,T as S,i as G}from"./index-
|
|
1
|
+
import{d as C,a as x,p as y,q as L,c as n,b as e,e as M,f as i,w as r,g as b,B,F as j,s as z,v as V,o as s,x as A,m as I,y as v,z as u,t as _,n as a,T as S,i as G}from"./index-Dy8wTpRZ.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"app-shell"},F={class:"app-header"},R={class:"app-header__container"},U={class:"app-header__right"},q={class:"app-body"},D={class:"app-sidebar"},P={class:"sidebar-nav"},T=["onClick"],Z={class:"nav-item__icon admin-nav-icon"},E={class:"nav-item__content"},O={class:"nav-item__label"},$={class:"nav-item__description"},J={key:0,class:"nav-item__indicator admin-indicator"},K={class:"app-content"},Q={class:"content-wrapper"},W=C({__name:"Layout",setup(X){const d=G(),h=L(),m=x(),l=y(()=>h.name),k=[{label:"用户管理",key:"AdminUsers",icon:()=>a("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),description:"管理系统用户和权限"},{label:"配置管理",key:"AdminConfigs",icon:()=>a("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),a("path",{d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),description:"管理用户的 MCP 配置"}];function g(c){d.push({name:c})}function w(){m.adminLogout(),d.push("/admin/login")}return(c,t)=>{const f=V("router-view");return s(),n("div",N,[e("header",F,[e("div",R,[t[2]||(t[2]=M('<div class="app-header__left" data-v-012e7336><div class="app-logo" data-v-012e7336><div class="logo-icon admin-theme" data-v-012e7336><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-012e7336><path d="M12 2L2 7L12 12L22 7L12 2Z" fill="url(#admin-gradient1)" data-v-012e7336></path><path d="M2 17L12 22L22 17V12L12 17L2 12V17Z" fill="url(#admin-gradient2)" data-v-012e7336></path><defs data-v-012e7336><linearGradient id="admin-gradient1" x1="2" y1="2" x2="22" y2="12" data-v-012e7336><stop offset="0%" stop-color="#dc2626" data-v-012e7336></stop><stop offset="100%" stop-color="#ea580c" data-v-012e7336></stop></linearGradient><linearGradient id="admin-gradient2" x1="2" y1="12" x2="22" y2="22" data-v-012e7336><stop offset="0%" stop-color="#ea580c" data-v-012e7336></stop><stop offset="100%" stop-color="#f59e0b" data-v-012e7336></stop></linearGradient></defs></svg></div><div class="logo-text" data-v-012e7336><div class="logo-title admin-title" data-v-012e7336>Flex MCP Admin</div><div class="logo-subtitle" data-v-012e7336>管理员控制台</div></div></div></div>',1)),e("div",U,[t[1]||(t[1]=e("div",{class:"admin-badge"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),e("span",null,"管理员")],-1)),i(b(B),{class:"logout-btn",quaternary:"",circle:"",onClick:w},{icon:r(()=>[...t[0]||(t[0]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M9 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M16 17L21 12L16 7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M21 12H9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1})])])]),e("div",q,[e("aside",D,[e("nav",P,[(s(),n(j,null,z(k,o=>e("div",{key:o.key,class:A(["nav-item",{"nav-item--active":l.value===o.key}]),onClick:p=>g(o.key)},[e("div",Z,[(s(),v(u(o.icon)))]),e("div",E,[e("div",O,_(o.label),1),e("div",$,_(o.description),1)]),l.value===o.key?(s(),n("div",J)):I("",!0)],10,T)),64))])]),e("main",K,[e("div",Q,[i(f,null,{default:r(({Component:o,route:p})=>[i(S,{name:"page-fade",mode:"out-in"},{default:r(()=>[(s(),v(u(o),{key:p.path}))]),_:2},1024)]),_:1})])])])])}}}),se=H(W,[["__scopeId","data-v-012e7336"]]);export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as C,u as M,a as B,r as v,c as u,b as e,e as L,f as d,w as t,g as r,N as V,h as w,o as f,i as j,j as g,k as m,l as h,B as K,m as z}from"./index-
|
|
1
|
+
import{d as C,u as M,a as B,r as v,c as u,b as e,e as L,f as d,w as t,g as r,N as V,h as w,o as f,i as j,j as g,k as m,l as h,B as K,m as z}from"./index-Dy8wTpRZ.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const I={class:"auth-bg"},P={class:"login-container"},A={class:"form-section"},H={class:"form-card"},_={key:0,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},G=C({__name:"Login",setup(F){const b=j(),p=M(),k=B(),c=v(),l=v(!1),s=v({email:"",apiKey:""}),x={email:{required:!0,message:"请输入邮箱地址",trigger:"blur"},apiKey:{required:!0,message:"请输入 API Key",trigger:"blur"}};async function n(){var i,a,o;try{await((i=c.value)==null?void 0:i.validate()),l.value=!0,await k.loginUser(s.value.email,s.value.apiKey),p.success("登录成功"),b.push("/user/dashboard")}catch(y){p.error(((o=(a=y.response)==null?void 0:a.data)==null?void 0:o.error)||"登录失败,请检查您的凭据")}finally{l.value=!1}}return(i,a)=>(f(),u("div",I,[a[11]||(a[11]=e("div",{class:"floating-shapes"},[e("div",{class:"shape shape-1"}),e("div",{class:"shape shape-2"}),e("div",{class:"shape shape-3"})],-1)),e("div",P,[a[10]||(a[10]=L('<div class="brand-section" data-v-d6d8ce7b><div class="brand-content" data-v-d6d8ce7b><div class="brand-logo" data-v-d6d8ce7b><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d6d8ce7b><path d="M12 2L2 7L12 12L22 7L12 2Z" fill="url(#logo-gradient1)" data-v-d6d8ce7b></path><path d="M2 17L12 22L22 17V12L12 17L2 12V17Z" fill="url(#logo-gradient2)" data-v-d6d8ce7b></path><defs data-v-d6d8ce7b><linearGradient id="logo-gradient1" x1="2" y1="2" x2="22" y2="12" data-v-d6d8ce7b><stop offset="0%" stop-color="#6366f1" data-v-d6d8ce7b></stop><stop offset="100%" stop-color="#8b5cf6" data-v-d6d8ce7b></stop></linearGradient><linearGradient id="logo-gradient2" x1="2" y1="12" x2="22" y2="22" data-v-d6d8ce7b><stop offset="0%" stop-color="#8b5cf6" data-v-d6d8ce7b></stop><stop offset="100%" stop-color="#ec4899" data-v-d6d8ce7b></stop></linearGradient></defs></svg></div><h1 class="brand-title" data-v-d6d8ce7b>Flex MCP</h1><p class="brand-subtitle" data-v-d6d8ce7b>MCP 服务运营平台</p><div class="brand-features" data-v-d6d8ce7b><div class="feature-item" data-v-d6d8ce7b><div class="feature-icon" data-v-d6d8ce7b><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d6d8ce7b><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-d6d8ce7b></path></svg></div><span data-v-d6d8ce7b>统一管理 MCP 组件</span></div><div class="feature-item" data-v-d6d8ce7b><div class="feature-icon" data-v-d6d8ce7b><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d6d8ce7b><path d="M13 10V3L4 14h7v7l9-11h-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-d6d8ce7b></path></svg></div><span data-v-d6d8ce7b>快速创建自定义工具</span></div><div class="feature-item" data-v-d6d8ce7b><div class="feature-icon" data-v-d6d8ce7b><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d6d8ce7b><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-d6d8ce7b></path></svg></div><span data-v-d6d8ce7b>安全的 API 密钥管理</span></div></div></div></div>',1)),e("div",A,[e("div",H,[a[8]||(a[8]=e("div",{class:"form-header"},[e("h2",{class:"form-title"},"欢迎回来"),e("p",{class:"form-description"},"使用您的账户凭据登录系统")],-1)),d(r(V),{ref_key:"formRef",ref:c,model:s.value,rules:x,size:"large"},{default:t(()=>[d(r(g),{path:"email"},{label:t(()=>[...a[2]||(a[2]=[e("div",{class:"input-label"},[e("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M16 12a4 4 0 10-8 0 4 4 0 008 0zm0 0v1.5a2.5 2.5 0 005 0V12a9 9 0 10-9 9m4.5-1.206a8.959 8.959 0 01-4.5 1.207",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),e("span",null,"邮箱地址")],-1)])]),default:t(()=>[d(r(m),{value:s.value.email,"onUpdate:value":a[0]||(a[0]=o=>s.value.email=o),placeholder:"your@email.com",class:"modern-input",onKeyup:h(n,["enter"])},{prefix:t(()=>[...a[3]||(a[3]=[e("svg",{class:"input-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1},8,["value"])]),_:1}),d(r(g),{path:"apiKey"},{label:t(()=>[...a[4]||(a[4]=[e("div",{class:"input-label"},[e("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),e("span",null,"API 密钥")],-1)])]),default:t(()=>[d(r(m),{value:s.value.apiKey,"onUpdate:value":a[1]||(a[1]=o=>s.value.apiKey=o),type:"password",placeholder:"输入您的 API Key",class:"modern-input","show-password-on":"click",onKeyup:h(n,["enter"])},{prefix:t(()=>[...a[5]||(a[5]=[e("svg",{class:"input-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M7 11V7a5 5 0 0110 0v4",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1},8,["value"])]),_:1}),d(r(K),{type:"primary",size:"large",block:"",loading:l.value,class:"login-button",onClick:n},{icon:t(()=>[l.value?z("",!0):(f(),u("svg",_,[...a[6]||(a[6]=[e("path",{d:"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))]),default:t(()=>[a[7]||(a[7]=w(" 登录系统 ",-1))]),_:1},8,["loading"])]),_:1},8,["model"]),a[9]||(a[9]=e("div",{class:"form-footer"},[e("p",{class:"help-text"},[e("svg",{class:"help-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),w(" 首次使用?请联系管理员获取账户信息 ")])],-1))])])])]))}}),U=N(G,[["__scopeId","data-v-d6d8ce7b"]]);export{U as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as C,u as B,a as z,r as v,c,b as a,e as w,f as r,w as t,g as n,N as j,h as f,o as g,j as m,k as h,l as k,B as L,m as N,i as V}from"./index-
|
|
1
|
+
import{d as C,u as B,a as z,r as v,c,b as a,e as w,f as r,w as t,g as n,N as j,h as f,o as g,j as m,k as h,l as k,B as L,m as N,i as V}from"./index-Dy8wTpRZ.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"auth-bg admin-theme"},H={class:"login-container"},G={class:"form-section"},F={class:"form-card"},I={key:0,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},K=C({__name:"Login",setup(R){const x=V(),p=B(),b=z(),u=v(),l=v(!1),s=v({username:"",password:""}),M={username:{required:!0,message:"请输入管理员用户名",trigger:"blur"},password:{required:!0,message:"请输入管理员密码",trigger:"blur"}};async function d(){var i,e,o;try{await((i=u.value)==null?void 0:i.validate()),l.value=!0,await b.loginAdmin(s.value.username,s.value.password),p.success("登录成功"),x.push("/admin/users")}catch(y){p.error(((o=(e=y.response)==null?void 0:e.data)==null?void 0:o.error)||"登录失败,请检查您的凭据")}finally{l.value=!1}}return(i,e)=>(g(),c("div",_,[e[11]||(e[11]=a("div",{class:"floating-shapes"},[a("div",{class:"shape shape-1"}),a("div",{class:"shape shape-2"}),a("div",{class:"shape shape-3"})],-1)),a("div",H,[e[10]||(e[10]=w('<div class="brand-section admin-gradient" data-v-332e576e><div class="brand-content" data-v-332e576e><div class="brand-logo" data-v-332e576e><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-332e576e><path d="M12 2L2 7L12 12L22 7L12 2Z" fill="url(#admin-logo-gradient1)" data-v-332e576e></path><path d="M2 17L12 22L22 17V12L12 17L2 12V17Z" fill="url(#admin-logo-gradient2)" data-v-332e576e></path><defs data-v-332e576e><linearGradient id="admin-logo-gradient1" x1="2" y1="2" x2="22" y2="12" data-v-332e576e><stop offset="0%" stop-color="#ffffff" data-v-332e576e></stop><stop offset="100%" stop-color="#fef3c7" data-v-332e576e></stop></linearGradient><linearGradient id="admin-logo-gradient2" x1="2" y1="12" x2="22" y2="22" data-v-332e576e><stop offset="0%" stop-color="#fef3c7" data-v-332e576e></stop><stop offset="100%" stop-color="#ffffff" data-v-332e576e></stop></linearGradient></defs></svg></div><h1 class="brand-title" data-v-332e576e>Flex MCP Admin</h1><p class="brand-subtitle" data-v-332e576e>超级管理员控制台</p><div class="brand-features" data-v-332e576e><div class="feature-item" data-v-332e576e><div class="feature-icon" data-v-332e576e><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-332e576e><path d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-332e576e></path></svg></div><span data-v-332e576e>全面的用户管理</span></div><div class="feature-item" data-v-332e576e><div class="feature-icon" data-v-332e576e><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-332e576e><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-332e576e></path><path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-332e576e></path></svg></div><span data-v-332e576e>灵活的配置管理</span></div><div class="feature-item" data-v-332e576e><div class="feature-icon" data-v-332e576e><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-332e576e><path d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-332e576e></path></svg></div><span data-v-332e576e>强大的权限控制</span></div></div></div></div>',1)),a("div",G,[a("div",F,[e[8]||(e[8]=w('<div class="form-header" data-v-332e576e><div class="admin-badge" data-v-332e576e><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-332e576e><path d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-332e576e></path></svg><span data-v-332e576e>管理员登录</span></div><h2 class="form-title" data-v-332e576e>系统管理后台</h2><p class="form-description" data-v-332e576e>使用管理员凭据访问控制面板</p></div>',1)),r(n(j),{ref_key:"formRef",ref:u,model:s.value,rules:M,size:"large"},{default:t(()=>[r(n(m),{path:"username"},{label:t(()=>[...e[2]||(e[2]=[a("div",{class:"input-label"},[a("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),a("span",null,"管理员账号")],-1)])]),default:t(()=>[r(n(h),{value:s.value.username,"onUpdate:value":e[0]||(e[0]=o=>s.value.username=o),placeholder:"输入管理员用户名",class:"modern-input",onKeyup:k(d,["enter"])},{prefix:t(()=>[...e[3]||(e[3]=[a("svg",{class:"input-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1},8,["value"])]),_:1}),r(n(m),{path:"password"},{label:t(()=>[...e[4]||(e[4]=[a("div",{class:"input-label"},[a("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),a("span",null,"管理员密码")],-1)])]),default:t(()=>[r(n(h),{value:s.value.password,"onUpdate:value":e[1]||(e[1]=o=>s.value.password=o),type:"password",placeholder:"输入管理员密码",class:"modern-input","show-password-on":"click",onKeyup:k(d,["enter"])},{prefix:t(()=>[...e[5]||(e[5]=[a("svg",{class:"input-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),a("path",{d:"M7 11V7a5 5 0 0110 0v4",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1},8,["value"])]),_:1}),r(n(L),{type:"primary",size:"large",block:"",loading:l.value,class:"login-button admin-login-btn",onClick:d},{icon:t(()=>[l.value?N("",!0):(g(),c("svg",I,[...e[6]||(e[6]=[a("path",{d:"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))]),default:t(()=>[e[7]||(e[7]=f(" 进入管理后台 ",-1))]),_:1},8,["loading"])]),_:1},8,["model"]),e[9]||(e[9]=a("div",{class:"form-footer"},[a("p",{class:"help-text"},[a("svg",{class:"help-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),f(" 仅限授权管理员访问,未经授权的访问将被记录 ")])],-1))])])])]))}}),U=A(K,[["__scopeId","data-v-332e576e"]]);export{U as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as D,u as V,$ as L,r as n,I as O,c as J,b as s,f as a,w as o,g as r,B as p,C as q,D as C,J as y,o as E,h as v,N as F,j as M,k as z,O as R,M as G,a0 as Q,n as B,Q as W}from"./index-Dy8wTpRZ.js";import{_ as X}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Y={class:"users-page"},Z={class:"page-header"},_={class:"users-card"},ee={class:"modal-footer"},se={class:"apikey-section"},oe={class:"mcp-config-section"},le=D({__name:"Users",setup(te){const d=V(),N=L(),m=n(!1),f=n(!1),c=n(!1),w=n(!1),g=n(""),h=n(""),b=n([]),x=n(),i=n({email:"",role:"user"}),j={pageSize:10,showSizePicker:!0,pageSizes:[10,20,50]},A=t=>({style:"cursor: pointer; transition: all 0.2s ease;",onMouseenter:e=>{e.currentTarget.style.backgroundColor="rgba(99, 102, 241, 0.04)"},onMouseleave:e=>{e.currentTarget.style.backgroundColor=""}}),$=[{label:"普通用户",value:"user"},{label:"管理员",value:"admin"}],P={email:{required:!0,message:"请输入邮箱地址",trigger:"blur"},role:{required:!0,message:"请选择用户角色",trigger:"change"}},U=[{title:"邮箱",key:"email",ellipsis:{tooltip:!0}},{title:"角色",key:"role",width:120,render(t){return B(W,{type:t.role==="admin"?"error":"info",round:!0},{default:()=>t.role==="admin"?"管理员":"普通用户"})}},{title:"创建时间",key:"createdAt",width:180},{title:"操作",key:"actions",width:100,render(t){return B(p,{type:"error",size:"small",secondary:!0,onClick:()=>T(t)},{default:()=>"删除"})}}];async function k(){m.value=!0;try{const t=await y.get("/users");b.value=t.data.data}catch{d.error("加载用户列表失败")}finally{m.value=!1}}async function I(){var t,e,l;try{await((t=x.value)==null?void 0:t.validate()),f.value=!0;const u=await y.post("/users",i.value);u.data.data&&u.data.data.apiKey?(g.value=u.data.data.apiKey,h.value=i.value.email,w.value=!0):d.success("创建成功"),c.value=!1,i.value={email:"",role:"user"},await k()}catch(u){d.error(((l=(e=u.response)==null?void 0:e.data)==null?void 0:l.error)||"创建失败")}finally{f.value=!1}}function T(t){N.warning({title:"确认删除",content:`确定要删除用户 ${t.email} 吗?此操作不可恢复。`,positiveText:"删除",negativeText:"取消",onPositiveClick:async()=>{var e,l;try{await y.delete(`/users/${t.id}`),d.success("删除成功"),await k()}catch(u){d.error(((l=(e=u.response)==null?void 0:e.data)==null?void 0:l.error)||"删除失败")}}})}function H(){navigator.clipboard.writeText(g.value),d.success("已复制到剪贴板")}function K(){const t=window.location.hostname,l=["5173","5174"].includes(window.location.port)?"3000":window.location.port,S={mcpServers:{"flex-mcp":{url:`${`${window.location.protocol}//${t}${l?`:${l}`:""}`}/mcp/sse`,headers:{email:h.value,apiKey:g.value}}}};navigator.clipboard.writeText(JSON.stringify(S,null,2)),d.success("MCP 配置已复制到剪贴板")}return O(()=>{k()}),(t,e)=>(E(),J("div",Y,[s("div",Z,[e[9]||(e[9]=s("div",null,[s("h1",{class:"page-title"},"用户管理"),s("p",{class:"page-description"},"创建和管理系统用户,分配权限和 API 密钥")],-1)),a(r(p),{type:"primary",size:"large",class:"create-btn",onClick:e[0]||(e[0]=l=>c.value=!0)},{icon:o(()=>[...e[7]||(e[7]=[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M12 4v16m8-8H4",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[e[8]||(e[8]=v(" 创建用户 ",-1))]),_:1})]),s("div",_,[a(r(q),{columns:U,data:b.value,loading:m.value,pagination:j,"row-props":A,class:"modern-table"},null,8,["data","loading"])]),a(r(C),{show:c.value,"onUpdate:show":e[4]||(e[4]=l=>c.value=l),preset:"card",title:"创建新用户",class:"create-modal",bordered:!1,size:"huge"},{header:o(()=>[...e[10]||(e[10]=[s("div",{class:"modal-header"},[s("div",{class:"modal-icon"},[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])]),s("div",null,[s("h3",{class:"modal-title"},"创建新用户"),s("p",{class:"modal-subtitle"},"为新用户设置邮箱和角色权限")])],-1)])]),footer:o(()=>[s("div",ee,[a(r(p),{size:"large",onClick:e[3]||(e[3]=l=>c.value=!1)},{default:o(()=>[...e[13]||(e[13]=[v("取消",-1)])]),_:1}),a(r(p),{type:"primary",size:"large",loading:f.value,class:"submit-btn",onClick:I},{icon:o(()=>[...e[14]||(e[14]=[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M5 13l4 4L19 7",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[e[15]||(e[15]=v(" 创建用户 ",-1))]),_:1},8,["loading"])])]),default:o(()=>[a(r(F),{ref_key:"formRef",ref:x,model:i.value,rules:P,size:"large"},{default:o(()=>[a(r(M),{path:"email"},{label:o(()=>[...e[11]||(e[11]=[s("div",{class:"form-label"},[s("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),s("span",null,"用户邮箱")],-1)])]),default:o(()=>[a(r(z),{value:i.value.email,"onUpdate:value":e[1]||(e[1]=l=>i.value.email=l),placeholder:"user@example.com","input-props":{type:"email"}},null,8,["value"])]),_:1}),a(r(M),{path:"role"},{label:o(()=>[...e[12]||(e[12]=[s("div",{class:"form-label"},[s("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),s("span",null,"用户角色")],-1)])]),default:o(()=>[a(r(R),{value:i.value.role,"onUpdate:value":e[2]||(e[2]=l=>i.value.role=l),options:$,placeholder:"选择用户角色"},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["show"]),a(r(C),{show:w.value,"onUpdate:show":e[6]||(e[6]=l=>w.value=l),preset:"card",title:"用户创建成功",closable:!1,"mask-closable":!1,class:"apikey-modal",bordered:!1,size:"huge"},{header:o(()=>[...e[16]||(e[16]=[s("div",{class:"success-header"},[s("div",{class:"success-icon"},[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])]),s("div",null,[s("h3",{class:"success-title"},"用户创建成功!"),s("p",{class:"success-subtitle"},"请妥善保管以下信息")])],-1)])]),footer:o(()=>[a(r(p),{type:"primary",size:"large",block:"",class:"confirm-btn",onClick:e[5]||(e[5]=l=>w.value=!1)},{default:o(()=>[...e[25]||(e[25]=[v(" 我已保存,关闭窗口 ",-1)])]),_:1})]),default:o(()=>[a(r(G),{type:"warning",class:"warning-alert"},{icon:o(()=>[...e[17]||(e[17]=[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[e[18]||(e[18]=s("div",{class:"warning-content"},[s("strong",null,"重要提示"),s("p",null,"API Key 只会显示一次,请立即复制并妥善保存!丢失后需要重新创建用户。")],-1))]),_:1}),s("div",se,[e[21]||(e[21]=s("div",{class:"section-label"},[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),s("span",null,"API 密钥")],-1)),a(r(Q),{class:"apikey-input-group"},{default:o(()=>[a(r(z),{value:g.value,readonly:"",placeholder:"API Key",size:"large",class:"apikey-input"},null,8,["value"]),a(r(p),{type:"primary",size:"large",class:"copy-btn",onClick:H},{icon:o(()=>[...e[19]||(e[19]=[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[e[20]||(e[20]=v(" 复制 ",-1))]),_:1})]),_:1})]),s("div",oe,[e[24]||(e[24]=s("div",{class:"section-label"},[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),s("span",null,"MCP 配置 (用于 Cursor / Claude)")],-1)),a(r(p),{type:"primary",size:"large",block:"",class:"copy-config-btn",onClick:K},{icon:o(()=>[...e[22]||(e[22]=[s("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[e[23]||(e[23]=v(" 复制 MCP 配置 JSON ",-1))]),_:1})])]),_:1},8,["show"])]))}}),ne=X(le,[["__scopeId","data-v-8c8c351d"]]);export{ne as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-Cm10QZJ1.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Login-Cn9EfrvS.js","assets/Layout-Br6VMRob.js","assets/Dashboard-DVSQDspm.js","assets/InitScriptEditor-DlF0Jn7f.js","assets/Blank-BerVeAls.js","assets/Layout-SLPXm-dk.js","assets/Users-Dj8FIlX1.js","assets/Configs-BZ4p1nld.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var oT=Object.defineProperty;var iT=(e,t,n)=>t in e?oT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var bt=(e,t,n)=>iT(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();/**
|
|
3
3
|
* @vue/shared v3.5.25
|
|
4
4
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
@@ -7363,9 +7363,9 @@ ${t}
|
|
|
7363
7363
|
* vue-router v4.6.3
|
|
7364
7364
|
* (c) 2025 Eduardo San Martin Morote
|
|
7365
7365
|
* @license MIT
|
|
7366
|
-
*/let Wq=()=>location.protocol+"//"+location.host;function cP(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let a=o.includes(e.slice(i))?e.slice(i).length:1,l=o.slice(a);return l[0]!=="/"&&(l="/"+l),G0(l,"")}return G0(n,e)+r+o}function Kq(e,t,n,r){let o=[],i=[],a=null;const l=({state:h})=>{const g=cP(e,location),v=n.value,m=t.value;let b=0;if(h){if(n.value=g,t.value=h,a&&a===v){a=null;return}b=m?h.position-m.position:0}else r(g);o.forEach(p=>{p(n.value,v,{delta:b,type:iv.pop,direction:b?b>0?Uf.forward:Uf.back:Uf.unknown})})};function s(){a=n.value}function d(h){o.push(h);const g=()=>{const v=o.indexOf(h);v>-1&&o.splice(v,1)};return i.push(g),g}function u(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Qt({},h.state,{scroll:Pu()}),"")}}function f(){for(const h of i)h();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:s,listen:d,destroy:f}}function ey(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Pu():null}}function qq(e){const{history:t,location:n}=window,r={value:cP(e,n)},o={value:t.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(s,d,u){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+s:Wq()+e+s;try{t[u?"replaceState":"pushState"](d,"",h),o.value=d}catch(g){console.error(g),n[u?"replace":"assign"](h)}}function a(s,d){i(s,Qt({},t.state,ey(o.value.back,s,o.value.forward,!0),d,{position:o.value.position}),!0),r.value=s}function l(s,d){const u=Qt({},o.value,t.state,{forward:s,scroll:Pu()});i(u.current,u,!0),i(s,Qt({},ey(r.value,s,null),{position:u.position+1},d),!1),r.value=s}return{location:r,state:o,push:l,replace:a}}function Yq(e){e=_q(e);const t=qq(e),n=Kq(e,t.state,t.location,t.replace);function r(i,a=!0){a||n.pauseListeners(),history.go(i)}const o=Qt({location:"",base:e,go:r,createHref:Iq.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let oa=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Nn=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(Nn||{});const Gq={type:oa.Static,value:""},Xq=/[a-zA-Z0-9_]/;function Zq(e){if(!e)return[[]];if(e==="/")return[[Gq]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${d}": ${g}`)}let n=Nn.Static,r=n;const o=[];let i;function a(){i&&o.push(i),i=[]}let l=0,s,d="",u="";function f(){d&&(n===Nn.Static?i.push({type:oa.Static,value:d}):n===Nn.Param||n===Nn.ParamRegExp||n===Nn.ParamRegExpEnd?(i.length>1&&(s==="*"||s==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),i.push({type:oa.Param,value:d,regexp:u,repeatable:s==="*"||s==="+",optional:s==="*"||s==="?"})):t("Invalid state to consume buffer"),d="")}function h(){d+=s}for(;l<e.length;){if(s=e[l++],s==="\\"&&n!==Nn.ParamRegExp){r=n,n=Nn.EscapeNext;continue}switch(n){case Nn.Static:s==="/"?(d&&f(),a()):s===":"?(f(),n=Nn.Param):h();break;case Nn.EscapeNext:h(),n=r;break;case Nn.Param:s==="("?n=Nn.ParamRegExp:Xq.test(s)?h():(f(),n=Nn.Static,s!=="*"&&s!=="?"&&s!=="+"&&l--);break;case Nn.ParamRegExp:s===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+s:n=Nn.ParamRegExpEnd:u+=s;break;case Nn.ParamRegExpEnd:f(),n=Nn.Static,s!=="*"&&s!=="?"&&s!=="+"&&l--,u="";break;default:t("Unknown state");break}}return n===Nn.ParamRegExp&&t(`Unfinished custom RegExp for param "${d}"`),f(),a(),o}const ty="[^/]+?",Jq={sensitive:!1,strict:!1,start:!0,end:!0};var sr=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(sr||{});const Qq=/[.+*?^${}()[\]/\\]/g;function eY(e,t){const n=Qt({},Jq,t),r=[];let o=n.start?"^":"";const i=[];for(const d of e){const u=d.length?[]:[sr.Root];n.strict&&!d.length&&(o+="/");for(let f=0;f<d.length;f++){const h=d[f];let g=sr.Segment+(n.sensitive?sr.BonusCaseSensitive:0);if(h.type===oa.Static)f||(o+="/"),o+=h.value.replace(Qq,"\\$&"),g+=sr.Static;else if(h.type===oa.Param){const{value:v,repeatable:m,optional:b,regexp:p}=h;i.push({name:v,repeatable:m,optional:b});const y=p||ty;if(y!==ty){g+=sr.BonusCustomRegExp;try{`${y}`}catch(w){throw new Error(`Invalid custom RegExp for param "${v}" (${y}): `+w.message)}}let S=m?`((?:${y})(?:/(?:${y}))*)`:`(${y})`;f||(S=b&&d.length<2?`(?:/${S})`:"/"+S),b&&(S+="?"),o+=S,g+=sr.Dynamic,b&&(g+=sr.BonusOptional),m&&(g+=sr.BonusRepeatable),y===".*"&&(g+=sr.BonusWildcard)}u.push(g)}r.push(u)}if(n.strict&&n.end){const d=r.length-1;r[d][r[d].length-1]+=sr.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const a=new RegExp(o,n.sensitive?"":"i");function l(d){const u=d.match(a),f={};if(!u)return null;for(let h=1;h<u.length;h++){const g=u[h]||"",v=i[h-1];f[v.name]=g&&v.repeatable?g.split("/"):g}return f}function s(d){let u="",f=!1;for(const h of e){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const g of h)if(g.type===oa.Static)u+=g.value;else if(g.type===oa.Param){const{value:v,repeatable:m,optional:b}=g,p=v in d?d[v]:"";if(io(p)&&!m)throw new Error(`Provided param "${v}" is an array but it is not repeatable (* or + modifiers)`);const y=io(p)?p.join("/"):p;if(!y)if(b)h.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${v}"`);u+=y}}return u||"/"}return{re:a,score:r,keys:i,parse:l,stringify:s}}function tY(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===sr.Static+sr.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===sr.Static+sr.Segment?1:-1:0}function uP(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const i=tY(r[n],o[n]);if(i)return i;n++}if(Math.abs(o.length-r.length)===1){if(ny(r))return 1;if(ny(o))return-1}return o.length-r.length}function ny(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const nY={strict:!1,end:!0,sensitive:!1};function rY(e,t,n){const r=eY(Zq(e.path),n),o=Qt(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function oY(e,t){const n=[],r=new Map;t=Y0(nY,t);function o(f){return r.get(f)}function i(f,h,g){const v=!g,m=oy(f);m.aliasOf=g&&g.record;const b=Y0(t,f),p=[m];if("alias"in f){const w=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of w)p.push(oy(Qt({},m,{components:g?g.record.components:m.components,path:C,aliasOf:g?g.record:m})))}let y,S;for(const w of p){const{path:C}=w;if(h&&C[0]!=="/"){const P=h.record.path,k=P[P.length-1]==="/"?"":"/";w.path=h.record.path+(C&&k+C)}if(y=rY(w,h,b),g?g.alias.push(y):(S=S||y,S!==y&&S.alias.push(y),v&&f.name&&!iy(y)&&a(f.name)),fP(y)&&s(y),m.children){const P=m.children;for(let k=0;k<P.length;k++)i(P[k],y,g&&g.children[k])}g=g||y}return S?()=>{a(S)}:xs}function a(f){if(sP(f)){const h=r.get(f);h&&(r.delete(f),n.splice(n.indexOf(h),1),h.children.forEach(a),h.alias.forEach(a))}else{const h=n.indexOf(f);h>-1&&(n.splice(h,1),f.record.name&&r.delete(f.record.name),f.children.forEach(a),f.alias.forEach(a))}}function l(){return n}function s(f){const h=lY(f,n);n.splice(h,0,f),f.record.name&&!iy(f)&&r.set(f.record.name,f)}function d(f,h){let g,v={},m,b;if("name"in f&&f.name){if(g=r.get(f.name),!g)throw xl(Rn.MATCHER_NOT_FOUND,{location:f});b=g.record.name,v=Qt(ry(h.params,g.keys.filter(S=>!S.optional).concat(g.parent?g.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),f.params&&ry(f.params,g.keys.map(S=>S.name))),m=g.stringify(v)}else if(f.path!=null)m=f.path,g=n.find(S=>S.re.test(m)),g&&(v=g.parse(m),b=g.record.name);else{if(g=h.name?r.get(h.name):n.find(S=>S.re.test(h.path)),!g)throw xl(Rn.MATCHER_NOT_FOUND,{location:f,currentLocation:h});b=g.record.name,v=Qt({},h.params,f.params),m=g.stringify(v)}const p=[];let y=g;for(;y;)p.unshift(y.record),y=y.parent;return{name:b,path:m,params:v,matched:p,meta:aY(p)}}e.forEach(f=>i(f));function u(){n.length=0,r.clear()}return{addRoute:i,resolve:d,removeRoute:a,clearRoutes:u,getRoutes:l,getRecordMatcher:o}}function ry(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function oy(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:iY(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function iY(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function iy(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function aY(e){return e.reduce((t,n)=>Qt(t,n.meta),{})}function lY(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;uP(e,t[i])<0?r=i:n=i+1}const o=sY(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function sY(e){let t=e;for(;t=t.parent;)if(fP(t)&&uP(e,t)===0)return t}function fP({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ay(e){const t=Le(Tu),n=Le(nm),r=R(()=>{const s=Ur(e.to);return t.resolve(s)}),o=R(()=>{const{matched:s}=r.value,{length:d}=s,u=s[d-1],f=n.matched;if(!u||!f.length)return-1;const h=f.findIndex(yl.bind(null,u));if(h>-1)return h;const g=ly(s[d-2]);return d>1&&ly(u)===g&&f[f.length-1].path!==g?f.findIndex(yl.bind(null,s[d-2])):h}),i=R(()=>o.value>-1&&hY(n.params,r.value.params)),a=R(()=>o.value>-1&&o.value===n.matched.length-1&&lP(n.params,r.value.params));function l(s={}){if(fY(s)){const d=t[Ur(e.replace)?"replace":"push"](Ur(e.to)).catch(xs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:R(()=>r.value.href),isActive:i,isExactActive:a,navigate:l}}function dY(e){return e.length===1?e[0]:e}const cY=te({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ay,setup(e,{slots:t}){const n=Po(ay(e)),{options:r}=Le(Tu),o=R(()=>({[sy(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[sy(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&dY(t.default(n));return e.custom?i:c("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},i)}}}),uY=cY;function fY(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function hY(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!io(o)||o.length!==r.length||r.some((i,a)=>i!==o[a]))return!1}return!0}function ly(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const sy=(e,t,n)=>e??t??n,vY=te({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Le(lv),o=R(()=>e.route||r.value),i=Le(Q0,0),a=R(()=>{let d=Ur(i);const{matched:u}=o.value;let f;for(;(f=u[d])&&!f.components;)d++;return d}),l=R(()=>o.value.matched[a.value]);at(Q0,R(()=>a.value+1)),at(Vq,l),at(lv,o);const s=M();return ct(()=>[s.value,l.value,e.name],([d,u,f],[h,g,v])=>{u&&(u.instances[f]=d,g&&g!==u&&d&&d===h&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),d&&u&&(!g||!yl(u,g)||!h)&&(u.enterCallbacks[f]||[]).forEach(m=>m(d))},{flush:"post"}),()=>{const d=o.value,u=e.name,f=l.value,h=f&&f.components[u];if(!h)return dy(n.default,{Component:h,route:d});const g=f.props[u],v=g?g===!0?d.params:typeof g=="function"?g(d):g:null,b=c(h,Qt({},v,t,{onVnodeUnmounted:p=>{p.component.isUnmounted&&(f.instances[u]=null)},ref:s}));return dy(n.default,{Component:b,route:d})||b}}});function dy(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const gY=vY;function mY(e){const t=oY(e.routes,e),n=e.parseQuery||Hq,r=e.stringifyQuery||J0,o=e.history,i=Zl(),a=Zl(),l=Zl(),s=wv(ui);let d=ui;Xa&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=jf.bind(null,oe=>""+oe),f=jf.bind(null,Rq),h=jf.bind(null,Ls);function g(oe,Pe){let L,ke;return sP(oe)?(L=t.getRecordMatcher(oe),ke=Pe):ke=oe,t.addRoute(ke,L)}function v(oe){const Pe=t.getRecordMatcher(oe);Pe&&t.removeRoute(Pe)}function m(){return t.getRoutes().map(oe=>oe.record)}function b(oe){return!!t.getRecordMatcher(oe)}function p(oe,Pe){if(Pe=Qt({},Pe||s.value),typeof oe=="string"){const ae=Vf(n,oe,Pe.path),ze=t.resolve({path:ae.path},Pe),$e=o.createHref(ae.fullPath);return Qt(ae,ze,{params:h(ze.params),hash:Ls(ae.hash),redirectedFrom:void 0,href:$e})}let L;if(oe.path!=null)L=Qt({},oe,{path:Vf(n,oe.path,Pe.path).path});else{const ae=Qt({},oe.params);for(const ze in ae)ae[ze]==null&&delete ae[ze];L=Qt({},oe,{params:f(ae)}),Pe.params=f(Pe.params)}const ke=t.resolve(L,Pe),Fe=oe.hash||"";ke.params=u(h(ke.params));const j=Tq(r,Qt({},oe,{hash:wq(Fe),path:ke.path})),G=o.createHref(j);return Qt({fullPath:j,hash:Fe,query:r===J0?jq(oe.query):oe.query||{}},ke,{redirectedFrom:void 0,href:G})}function y(oe){return typeof oe=="string"?Vf(n,oe,s.value.path):Qt({},oe)}function S(oe,Pe){if(d!==oe)return xl(Rn.NAVIGATION_CANCELLED,{from:Pe,to:oe})}function w(oe){return k(oe)}function C(oe){return w(Qt(y(oe),{replace:!0}))}function P(oe,Pe){const L=oe.matched[oe.matched.length-1];if(L&&L.redirect){const{redirect:ke}=L;let Fe=typeof ke=="function"?ke(oe,Pe):ke;return typeof Fe=="string"&&(Fe=Fe.includes("?")||Fe.includes("#")?Fe=y(Fe):{path:Fe},Fe.params={}),Qt({query:oe.query,hash:oe.hash,params:Fe.path!=null?{}:oe.params},Fe)}}function k(oe,Pe){const L=d=p(oe),ke=s.value,Fe=oe.state,j=oe.force,G=oe.replace===!0,ae=P(L,ke);if(ae)return k(Qt(y(ae),{state:typeof ae=="object"?Qt({},Fe,ae.state):Fe,force:j,replace:G}),Pe||L);const ze=L;ze.redirectedFrom=Pe;let $e;return!j&&$q(r,ke,L)&&($e=xl(Rn.NAVIGATION_DUPLICATED,{to:ze,from:ke}),X(ke,ke,!0,!1)),($e?Promise.resolve($e):z(ze,ke)).catch(se=>Do(se)?Do(se,Rn.NAVIGATION_GUARD_REDIRECT)?se:ue(se):re(se,ze,ke)).then(se=>{if(se){if(Do(se,Rn.NAVIGATION_GUARD_REDIRECT))return k(Qt({replace:G},y(se.to),{state:typeof se.to=="object"?Qt({},Fe,se.to.state):Fe,force:j}),Pe||ze)}else se=O(ze,ke,!0,G,Fe);return E(ze,ke,se),se})}function $(oe,Pe){const L=S(oe,Pe);return L?Promise.reject(L):Promise.resolve()}function T(oe){const Pe=V.values().next().value;return Pe&&typeof Pe.runWithContext=="function"?Pe.runWithContext(oe):oe()}function z(oe,Pe){let L;const[ke,Fe,j]=Uq(oe,Pe);L=Wf(ke.reverse(),"beforeRouteLeave",oe,Pe);for(const ae of ke)ae.leaveGuards.forEach(ze=>{L.push(yi(ze,oe,Pe))});const G=$.bind(null,oe,Pe);return L.push(G),pe(L).then(()=>{L=[];for(const ae of i.list())L.push(yi(ae,oe,Pe));return L.push(G),pe(L)}).then(()=>{L=Wf(Fe,"beforeRouteUpdate",oe,Pe);for(const ae of Fe)ae.updateGuards.forEach(ze=>{L.push(yi(ze,oe,Pe))});return L.push(G),pe(L)}).then(()=>{L=[];for(const ae of j)if(ae.beforeEnter)if(io(ae.beforeEnter))for(const ze of ae.beforeEnter)L.push(yi(ze,oe,Pe));else L.push(yi(ae.beforeEnter,oe,Pe));return L.push(G),pe(L)}).then(()=>(oe.matched.forEach(ae=>ae.enterCallbacks={}),L=Wf(j,"beforeRouteEnter",oe,Pe,T),L.push(G),pe(L))).then(()=>{L=[];for(const ae of a.list())L.push(yi(ae,oe,Pe));return L.push(G),pe(L)}).catch(ae=>Do(ae,Rn.NAVIGATION_CANCELLED)?ae:Promise.reject(ae))}function E(oe,Pe,L){l.list().forEach(ke=>T(()=>ke(oe,Pe,L)))}function O(oe,Pe,L,ke,Fe){const j=S(oe,Pe);if(j)return j;const G=Pe===ui,ae=Xa?history.state:{};L&&(ke||G?o.replace(oe.fullPath,Qt({scroll:G&&ae&&ae.scroll},Fe)):o.push(oe.fullPath,Fe)),s.value=oe,X(oe,Pe,L,G),ue()}let A;function B(){A||(A=o.listen((oe,Pe,L)=>{if(!ie.listening)return;const ke=p(oe),Fe=P(ke,ie.currentRoute.value);if(Fe){k(Qt(Fe,{replace:!0,force:!0}),ke).catch(xs);return}d=ke;const j=s.value;Xa&&Mq(Z0(j.fullPath,L.delta),Pu()),z(ke,j).catch(G=>Do(G,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_CANCELLED)?G:Do(G,Rn.NAVIGATION_GUARD_REDIRECT)?(k(Qt(y(G.to),{force:!0}),ke).then(ae=>{Do(ae,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_DUPLICATED)&&!L.delta&&L.type===iv.pop&&o.go(-1,!1)}).catch(xs),Promise.reject()):(L.delta&&o.go(-L.delta,!1),re(G,ke,j))).then(G=>{G=G||O(ke,j,!1),G&&(L.delta&&!Do(G,Rn.NAVIGATION_CANCELLED)?o.go(-L.delta,!1):L.type===iv.pop&&Do(G,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),E(ke,j,G)}).catch(xs)}))}let N=Zl(),K=Zl(),U;function re(oe,Pe,L){ue(oe);const ke=K.list();return ke.length?ke.forEach(Fe=>Fe(oe,Pe,L)):console.error(oe),Promise.reject(oe)}function ye(){return U&&s.value!==ui?Promise.resolve():new Promise((oe,Pe)=>{N.add([oe,Pe])})}function ue(oe){return U||(U=!oe,B(),N.list().forEach(([Pe,L])=>oe?L(oe):Pe()),N.reset()),oe}function X(oe,Pe,L,ke){const{scrollBehavior:Fe}=e;if(!Xa||!Fe)return Promise.resolve();const j=!L&&Dq(Z0(oe.fullPath,0))||(ke||!L)&&history.state&&history.state.scroll||null;return Tt().then(()=>Fe(oe,Pe,j)).then(G=>G&&Eq(G)).catch(G=>re(G,oe,Pe))}const Y=oe=>o.go(oe);let D;const V=new Set,ie={currentRoute:s,listening:!0,addRoute:g,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:m,resolve:p,options:e,push:w,replace:C,go:Y,back:()=>Y(-1),forward:()=>Y(1),beforeEach:i.add,beforeResolve:a.add,afterEach:l.add,onError:K.add,isReady:ye,install(oe){oe.component("RouterLink",uY),oe.component("RouterView",gY),oe.config.globalProperties.$router=ie,Object.defineProperty(oe.config.globalProperties,"$route",{enumerable:!0,get:()=>Ur(s)}),Xa&&!D&&s.value===ui&&(D=!0,w(o.location).catch(ke=>{}));const Pe={};for(const ke in ui)Object.defineProperty(Pe,ke,{get:()=>s.value[ke],enumerable:!0});oe.provide(Tu,ie),oe.provide(nm,Jy(Pe)),oe.provide(lv,s);const L=oe.unmount;V.add(oe),oe.unmount=function(){V.delete(oe),V.size<1&&(d=ui,A&&A(),A=null,s.value=ui,D=!1,U=!1),L()}}};function pe(oe){return oe.reduce((Pe,L)=>Pe.then(()=>T(L)),Promise.resolve())}return ie}function oX(){return Le(Tu)}function iX(e){return Le(nm)}const pY=[{path:"/",redirect:"/user/login"},{path:"/user/login",name:"UserLogin",component:()=>ci(()=>import("./Login-Dbjg2uN-.js"),__vite__mapDeps([0,1]))},{path:"/admin/login",name:"AdminLogin",component:()=>ci(()=>import("./Login-DflsSakB.js"),__vite__mapDeps([2,1]))},{path:"/user",name:"UserLayout",component:()=>ci(()=>import("./Layout-C1hga5lx.js"),__vite__mapDeps([3,1])),meta:{requiresAuth:!0,role:"user"},children:[{path:"dashboard",name:"UserDashboard",component:()=>ci(()=>import("./Dashboard-DBtv2jAX.js"),__vite__mapDeps([4,5,1]))},{path:"blank",name:"UserBlank",component:()=>ci(()=>import("./Blank-s8a1VcBP.js"),__vite__mapDeps([6,1]))}]},{path:"/admin",name:"AdminLayout",component:()=>ci(()=>import("./Layout-BkmH4NiL.js"),__vite__mapDeps([7,1])),meta:{requiresAuth:!0,role:"admin"},children:[{path:"users",name:"AdminUsers",component:()=>ci(()=>import("./Users-DKoYWDA0.js"),__vite__mapDeps([8,1]))},{path:"configs",name:"AdminConfigs",component:()=>ci(()=>import("./Configs-Du0LnEIl.js"),__vite__mapDeps([9,5,1]))}]}],hP=mY({history:Yq(),routes:pY});hP.beforeEach((e,t,n)=>{if(e.meta.requiresAuth){if(e.meta.role==="admin"){if(!localStorage.getItem("admin_token"))return n("/admin/login")}else if(!localStorage.getItem("user_token"))return n("/user/login")}n()});function vP(e,t){return function(){return e.apply(t,arguments)}}const{toString:bY}=Object.prototype,{getPrototypeOf:rm}=Object,{iterator:$u,toStringTag:gP}=Symbol,zu=(e=>t=>{const n=bY.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),so=e=>(e=e.toLowerCase(),t=>zu(t)===e),Ou=e=>t=>typeof t===e,{isArray:_l}=Array,wl=Ou("undefined");function cd(e){return e!==null&&!wl(e)&&e.constructor!==null&&!wl(e.constructor)&&xr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const mP=so("ArrayBuffer");function yY(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&mP(e.buffer),t}const xY=Ou("string"),xr=Ou("function"),pP=Ou("number"),ud=e=>e!==null&&typeof e=="object",wY=e=>e===!0||e===!1,ac=e=>{if(zu(e)!=="object")return!1;const t=rm(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(gP in e)&&!($u in e)},CY=e=>{if(!ud(e)||cd(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},SY=so("Date"),RY=so("File"),kY=so("Blob"),PY=so("FileList"),TY=e=>ud(e)&&xr(e.pipe),$Y=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||xr(e.append)&&((t=zu(e))==="formdata"||t==="object"&&xr(e.toString)&&e.toString()==="[object FormData]"))},zY=so("URLSearchParams"),[OY,_Y,FY,IY]=["ReadableStream","Request","Response","Headers"].map(so),AY=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fd(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),_l(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{if(cd(e))return;const i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length;let l;for(r=0;r<a;r++)l=i[r],t.call(null,e[l],l,e)}}function bP(e,t){if(cd(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,o;for(;r-- >0;)if(o=n[r],t===o.toLowerCase())return o;return null}const ia=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,yP=e=>!wl(e)&&e!==ia;function sv(){const{caseless:e,skipUndefined:t}=yP(this)&&this||{},n={},r=(o,i)=>{const a=e&&bP(n,i)||i;ac(n[a])&&ac(o)?n[a]=sv(n[a],o):ac(o)?n[a]=sv({},o):_l(o)?n[a]=o.slice():(!t||!wl(o))&&(n[a]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&fd(arguments[o],r);return n}const EY=(e,t,n,{allOwnKeys:r}={})=>(fd(t,(o,i)=>{n&&xr(o)?e[i]=vP(o,n):e[i]=o},{allOwnKeys:r}),e),MY=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),DY=(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)},BY=(e,t,n,r)=>{let o,i,a;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!l[a]&&(t[a]=e[a],l[a]=!0);e=n!==!1&&rm(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},NY=(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},LY=e=>{if(!e)return null;if(_l(e))return e;let t=e.length;if(!pP(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},HY=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rm(Uint8Array)),jY=(e,t)=>{const r=(e&&e[$u]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},VY=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},UY=so("HTMLFormElement"),WY=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),cy=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),KY=so("RegExp"),xP=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};fd(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},qY=e=>{xP(e,(t,n)=>{if(xr(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(xr(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+"'")})}})},YY=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return _l(e)?r(e):r(String(e).split(t)),n},GY=()=>{},XY=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ZY(e){return!!(e&&xr(e.append)&&e[gP]==="FormData"&&e[$u])}const JY=e=>{const t=new Array(10),n=(r,o)=>{if(ud(r)){if(t.indexOf(r)>=0)return;if(cd(r))return r;if(!("toJSON"in r)){t[o]=r;const i=_l(r)?[]:{};return fd(r,(a,l)=>{const s=n(a,o+1);!wl(s)&&(i[l]=s)}),t[o]=void 0,i}}return r};return n(e,0)},QY=so("AsyncFunction"),eG=e=>e&&(ud(e)||xr(e))&&xr(e.then)&&xr(e.catch),wP=((e,t)=>e?setImmediate:t?((n,r)=>(ia.addEventListener("message",({source:o,data:i})=>{o===ia&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),ia.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",xr(ia.postMessage)),tG=typeof queueMicrotask<"u"?queueMicrotask.bind(ia):typeof process<"u"&&process.nextTick||wP,nG=e=>e!=null&&xr(e[$u]),Ne={isArray:_l,isArrayBuffer:mP,isBuffer:cd,isFormData:$Y,isArrayBufferView:yY,isString:xY,isNumber:pP,isBoolean:wY,isObject:ud,isPlainObject:ac,isEmptyObject:CY,isReadableStream:OY,isRequest:_Y,isResponse:FY,isHeaders:IY,isUndefined:wl,isDate:SY,isFile:RY,isBlob:kY,isRegExp:KY,isFunction:xr,isStream:TY,isURLSearchParams:zY,isTypedArray:HY,isFileList:PY,forEach:fd,merge:sv,extend:EY,trim:AY,stripBOM:MY,inherits:DY,toFlatObject:BY,kindOf:zu,kindOfTest:so,endsWith:NY,toArray:LY,forEachEntry:jY,matchAll:VY,isHTMLForm:UY,hasOwnProperty:cy,hasOwnProp:cy,reduceDescriptors:xP,freezeMethods:qY,toObjectSet:YY,toCamelCase:WY,noop:GY,toFiniteNumber:XY,findKey:bP,global:ia,isContextDefined:yP,isSpecCompliantForm:ZY,toJSONObject:JY,isAsyncFn:QY,isThenable:eG,setImmediate:wP,asap:tG,isIterable:nG};function Mt(e,t,n,r,o){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),o&&(this.response=o,this.status=o.status?o.status:null)}Ne.inherits(Mt,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:Ne.toJSONObject(this.config),code:this.code,status:this.status}}});const CP=Mt.prototype,SP={};["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=>{SP[e]={value:e}});Object.defineProperties(Mt,SP);Object.defineProperty(CP,"isAxiosError",{value:!0});Mt.from=(e,t,n,r,o,i)=>{const a=Object.create(CP);Ne.toFlatObject(e,a,function(u){return u!==Error.prototype},d=>d!=="isAxiosError");const l=e&&e.message?e.message:"Error",s=t==null&&e?e.code:t;return Mt.call(a,l,s,n,r,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",i&&Object.assign(a,i),a};const rG=null;function dv(e){return Ne.isPlainObject(e)||Ne.isArray(e)}function RP(e){return Ne.endsWith(e,"[]")?e.slice(0,-2):e}function uy(e,t,n){return e?e.concat(t).map(function(o,i){return o=RP(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function oG(e){return Ne.isArray(e)&&!e.some(dv)}const iG=Ne.toFlatObject(Ne,{},null,function(t){return/^is[A-Z]/.test(t)});function _u(e,t,n){if(!Ne.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=Ne.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,b){return!Ne.isUndefined(b[m])});const r=n.metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||typeof Blob<"u"&&Blob)&&Ne.isSpecCompliantForm(t);if(!Ne.isFunction(o))throw new TypeError("visitor must be a function");function d(v){if(v===null)return"";if(Ne.isDate(v))return v.toISOString();if(Ne.isBoolean(v))return v.toString();if(!s&&Ne.isBlob(v))throw new Mt("Blob is not supported. Use a Buffer instead.");return Ne.isArrayBuffer(v)||Ne.isTypedArray(v)?s&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function u(v,m,b){let p=v;if(v&&!b&&typeof v=="object"){if(Ne.endsWith(m,"{}"))m=r?m:m.slice(0,-2),v=JSON.stringify(v);else if(Ne.isArray(v)&&oG(v)||(Ne.isFileList(v)||Ne.endsWith(m,"[]"))&&(p=Ne.toArray(v)))return m=RP(m),p.forEach(function(S,w){!(Ne.isUndefined(S)||S===null)&&t.append(a===!0?uy([m],w,i):a===null?m:m+"[]",d(S))}),!1}return dv(v)?!0:(t.append(uy(b,m,i),d(v)),!1)}const f=[],h=Object.assign(iG,{defaultVisitor:u,convertValue:d,isVisitable:dv});function g(v,m){if(!Ne.isUndefined(v)){if(f.indexOf(v)!==-1)throw Error("Circular reference detected in "+m.join("."));f.push(v),Ne.forEach(v,function(p,y){(!(Ne.isUndefined(p)||p===null)&&o.call(t,p,Ne.isString(y)?y.trim():y,m,h))===!0&&g(p,m?m.concat(y):[y])}),f.pop()}}if(!Ne.isObject(e))throw new TypeError("data must be an object");return g(e),t}function fy(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function om(e,t){this._pairs=[],e&&_u(e,this,t)}const kP=om.prototype;kP.append=function(t,n){this._pairs.push([t,n])};kP.toString=function(t){const n=t?function(r){return t.call(this,r,fy)}:fy;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function aG(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function PP(e,t,n){if(!t)return e;const r=n&&n.encode||aG;Ne.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let i;if(o?i=o(t,n):i=Ne.isURLSearchParams(t)?t.toString():new om(t,n).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class hy{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){Ne.forEach(this.handlers,function(r){r!==null&&t(r)})}}const TP={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lG=typeof URLSearchParams<"u"?URLSearchParams:om,sG=typeof FormData<"u"?FormData:null,dG=typeof Blob<"u"?Blob:null,cG={isBrowser:!0,classes:{URLSearchParams:lG,FormData:sG,Blob:dG},protocols:["http","https","file","blob","url","data"]},im=typeof window<"u"&&typeof document<"u",cv=typeof navigator=="object"&&navigator||void 0,uG=im&&(!cv||["ReactNative","NativeScript","NS"].indexOf(cv.product)<0),fG=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",hG=im&&window.location.href||"http://localhost",vG=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:im,hasStandardBrowserEnv:uG,hasStandardBrowserWebWorkerEnv:fG,navigator:cv,origin:hG},Symbol.toStringTag,{value:"Module"})),rr={...vG,...cG};function gG(e,t){return _u(e,new rr.classes.URLSearchParams,{visitor:function(n,r,o,i){return rr.isNode&&Ne.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function mG(e){return Ne.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function pG(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],t[i]=e[i];return t}function $P(e){function t(n,r,o,i){let a=n[i++];if(a==="__proto__")return!0;const l=Number.isFinite(+a),s=i>=n.length;return a=!a&&Ne.isArray(o)?o.length:a,s?(Ne.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!l):((!o[a]||!Ne.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&Ne.isArray(o[a])&&(o[a]=pG(o[a])),!l)}if(Ne.isFormData(e)&&Ne.isFunction(e.entries)){const n={};return Ne.forEachEntry(e,(r,o)=>{t(mG(r),o,n,0)}),n}return null}function bG(e,t,n){if(Ne.isString(e))try{return(t||JSON.parse)(e),Ne.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const hd={transitional:TP,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=Ne.isObject(t);if(i&&Ne.isHTMLForm(t)&&(t=new FormData(t)),Ne.isFormData(t))return o?JSON.stringify($P(t)):t;if(Ne.isArrayBuffer(t)||Ne.isBuffer(t)||Ne.isStream(t)||Ne.isFile(t)||Ne.isBlob(t)||Ne.isReadableStream(t))return t;if(Ne.isArrayBufferView(t))return t.buffer;if(Ne.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return gG(t,this.formSerializer).toString();if((l=Ne.isFileList(t))||r.indexOf("multipart/form-data")>-1){const s=this.env&&this.env.FormData;return _u(l?{"files[]":t}:t,s&&new s,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),bG(t)):t}],transformResponse:[function(t){const n=this.transitional||hd.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(Ne.isResponse(t)||Ne.isReadableStream(t))return t;if(t&&Ne.isString(t)&&(r&&!this.responseType||o)){const a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(a)throw l.name==="SyntaxError"?Mt.from(l,Mt.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:rr.classes.FormData,Blob:rr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ne.forEach(["delete","get","head","post","put","patch"],e=>{hd.headers[e]={}});const yG=Ne.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"]),xG=e=>{const t={};let n,r,o;return e&&e.split(`
|
|
7366
|
+
*/let Wq=()=>location.protocol+"//"+location.host;function cP(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let a=o.includes(e.slice(i))?e.slice(i).length:1,l=o.slice(a);return l[0]!=="/"&&(l="/"+l),G0(l,"")}return G0(n,e)+r+o}function Kq(e,t,n,r){let o=[],i=[],a=null;const l=({state:h})=>{const g=cP(e,location),v=n.value,m=t.value;let b=0;if(h){if(n.value=g,t.value=h,a&&a===v){a=null;return}b=m?h.position-m.position:0}else r(g);o.forEach(p=>{p(n.value,v,{delta:b,type:iv.pop,direction:b?b>0?Uf.forward:Uf.back:Uf.unknown})})};function s(){a=n.value}function d(h){o.push(h);const g=()=>{const v=o.indexOf(h);v>-1&&o.splice(v,1)};return i.push(g),g}function u(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Qt({},h.state,{scroll:Pu()}),"")}}function f(){for(const h of i)h();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:s,listen:d,destroy:f}}function ey(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Pu():null}}function qq(e){const{history:t,location:n}=window,r={value:cP(e,n)},o={value:t.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(s,d,u){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+s:Wq()+e+s;try{t[u?"replaceState":"pushState"](d,"",h),o.value=d}catch(g){console.error(g),n[u?"replace":"assign"](h)}}function a(s,d){i(s,Qt({},t.state,ey(o.value.back,s,o.value.forward,!0),d,{position:o.value.position}),!0),r.value=s}function l(s,d){const u=Qt({},o.value,t.state,{forward:s,scroll:Pu()});i(u.current,u,!0),i(s,Qt({},ey(r.value,s,null),{position:u.position+1},d),!1),r.value=s}return{location:r,state:o,push:l,replace:a}}function Yq(e){e=_q(e);const t=qq(e),n=Kq(e,t.state,t.location,t.replace);function r(i,a=!0){a||n.pauseListeners(),history.go(i)}const o=Qt({location:"",base:e,go:r,createHref:Iq.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let oa=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Nn=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(Nn||{});const Gq={type:oa.Static,value:""},Xq=/[a-zA-Z0-9_]/;function Zq(e){if(!e)return[[]];if(e==="/")return[[Gq]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${d}": ${g}`)}let n=Nn.Static,r=n;const o=[];let i;function a(){i&&o.push(i),i=[]}let l=0,s,d="",u="";function f(){d&&(n===Nn.Static?i.push({type:oa.Static,value:d}):n===Nn.Param||n===Nn.ParamRegExp||n===Nn.ParamRegExpEnd?(i.length>1&&(s==="*"||s==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),i.push({type:oa.Param,value:d,regexp:u,repeatable:s==="*"||s==="+",optional:s==="*"||s==="?"})):t("Invalid state to consume buffer"),d="")}function h(){d+=s}for(;l<e.length;){if(s=e[l++],s==="\\"&&n!==Nn.ParamRegExp){r=n,n=Nn.EscapeNext;continue}switch(n){case Nn.Static:s==="/"?(d&&f(),a()):s===":"?(f(),n=Nn.Param):h();break;case Nn.EscapeNext:h(),n=r;break;case Nn.Param:s==="("?n=Nn.ParamRegExp:Xq.test(s)?h():(f(),n=Nn.Static,s!=="*"&&s!=="?"&&s!=="+"&&l--);break;case Nn.ParamRegExp:s===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+s:n=Nn.ParamRegExpEnd:u+=s;break;case Nn.ParamRegExpEnd:f(),n=Nn.Static,s!=="*"&&s!=="?"&&s!=="+"&&l--,u="";break;default:t("Unknown state");break}}return n===Nn.ParamRegExp&&t(`Unfinished custom RegExp for param "${d}"`),f(),a(),o}const ty="[^/]+?",Jq={sensitive:!1,strict:!1,start:!0,end:!0};var sr=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(sr||{});const Qq=/[.+*?^${}()[\]/\\]/g;function eY(e,t){const n=Qt({},Jq,t),r=[];let o=n.start?"^":"";const i=[];for(const d of e){const u=d.length?[]:[sr.Root];n.strict&&!d.length&&(o+="/");for(let f=0;f<d.length;f++){const h=d[f];let g=sr.Segment+(n.sensitive?sr.BonusCaseSensitive:0);if(h.type===oa.Static)f||(o+="/"),o+=h.value.replace(Qq,"\\$&"),g+=sr.Static;else if(h.type===oa.Param){const{value:v,repeatable:m,optional:b,regexp:p}=h;i.push({name:v,repeatable:m,optional:b});const y=p||ty;if(y!==ty){g+=sr.BonusCustomRegExp;try{`${y}`}catch(w){throw new Error(`Invalid custom RegExp for param "${v}" (${y}): `+w.message)}}let S=m?`((?:${y})(?:/(?:${y}))*)`:`(${y})`;f||(S=b&&d.length<2?`(?:/${S})`:"/"+S),b&&(S+="?"),o+=S,g+=sr.Dynamic,b&&(g+=sr.BonusOptional),m&&(g+=sr.BonusRepeatable),y===".*"&&(g+=sr.BonusWildcard)}u.push(g)}r.push(u)}if(n.strict&&n.end){const d=r.length-1;r[d][r[d].length-1]+=sr.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const a=new RegExp(o,n.sensitive?"":"i");function l(d){const u=d.match(a),f={};if(!u)return null;for(let h=1;h<u.length;h++){const g=u[h]||"",v=i[h-1];f[v.name]=g&&v.repeatable?g.split("/"):g}return f}function s(d){let u="",f=!1;for(const h of e){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const g of h)if(g.type===oa.Static)u+=g.value;else if(g.type===oa.Param){const{value:v,repeatable:m,optional:b}=g,p=v in d?d[v]:"";if(io(p)&&!m)throw new Error(`Provided param "${v}" is an array but it is not repeatable (* or + modifiers)`);const y=io(p)?p.join("/"):p;if(!y)if(b)h.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${v}"`);u+=y}}return u||"/"}return{re:a,score:r,keys:i,parse:l,stringify:s}}function tY(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===sr.Static+sr.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===sr.Static+sr.Segment?1:-1:0}function uP(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const i=tY(r[n],o[n]);if(i)return i;n++}if(Math.abs(o.length-r.length)===1){if(ny(r))return 1;if(ny(o))return-1}return o.length-r.length}function ny(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const nY={strict:!1,end:!0,sensitive:!1};function rY(e,t,n){const r=eY(Zq(e.path),n),o=Qt(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function oY(e,t){const n=[],r=new Map;t=Y0(nY,t);function o(f){return r.get(f)}function i(f,h,g){const v=!g,m=oy(f);m.aliasOf=g&&g.record;const b=Y0(t,f),p=[m];if("alias"in f){const w=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of w)p.push(oy(Qt({},m,{components:g?g.record.components:m.components,path:C,aliasOf:g?g.record:m})))}let y,S;for(const w of p){const{path:C}=w;if(h&&C[0]!=="/"){const P=h.record.path,k=P[P.length-1]==="/"?"":"/";w.path=h.record.path+(C&&k+C)}if(y=rY(w,h,b),g?g.alias.push(y):(S=S||y,S!==y&&S.alias.push(y),v&&f.name&&!iy(y)&&a(f.name)),fP(y)&&s(y),m.children){const P=m.children;for(let k=0;k<P.length;k++)i(P[k],y,g&&g.children[k])}g=g||y}return S?()=>{a(S)}:xs}function a(f){if(sP(f)){const h=r.get(f);h&&(r.delete(f),n.splice(n.indexOf(h),1),h.children.forEach(a),h.alias.forEach(a))}else{const h=n.indexOf(f);h>-1&&(n.splice(h,1),f.record.name&&r.delete(f.record.name),f.children.forEach(a),f.alias.forEach(a))}}function l(){return n}function s(f){const h=lY(f,n);n.splice(h,0,f),f.record.name&&!iy(f)&&r.set(f.record.name,f)}function d(f,h){let g,v={},m,b;if("name"in f&&f.name){if(g=r.get(f.name),!g)throw xl(Rn.MATCHER_NOT_FOUND,{location:f});b=g.record.name,v=Qt(ry(h.params,g.keys.filter(S=>!S.optional).concat(g.parent?g.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),f.params&&ry(f.params,g.keys.map(S=>S.name))),m=g.stringify(v)}else if(f.path!=null)m=f.path,g=n.find(S=>S.re.test(m)),g&&(v=g.parse(m),b=g.record.name);else{if(g=h.name?r.get(h.name):n.find(S=>S.re.test(h.path)),!g)throw xl(Rn.MATCHER_NOT_FOUND,{location:f,currentLocation:h});b=g.record.name,v=Qt({},h.params,f.params),m=g.stringify(v)}const p=[];let y=g;for(;y;)p.unshift(y.record),y=y.parent;return{name:b,path:m,params:v,matched:p,meta:aY(p)}}e.forEach(f=>i(f));function u(){n.length=0,r.clear()}return{addRoute:i,resolve:d,removeRoute:a,clearRoutes:u,getRoutes:l,getRecordMatcher:o}}function ry(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function oy(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:iY(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function iY(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function iy(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function aY(e){return e.reduce((t,n)=>Qt(t,n.meta),{})}function lY(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;uP(e,t[i])<0?r=i:n=i+1}const o=sY(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function sY(e){let t=e;for(;t=t.parent;)if(fP(t)&&uP(e,t)===0)return t}function fP({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ay(e){const t=Le(Tu),n=Le(nm),r=R(()=>{const s=Ur(e.to);return t.resolve(s)}),o=R(()=>{const{matched:s}=r.value,{length:d}=s,u=s[d-1],f=n.matched;if(!u||!f.length)return-1;const h=f.findIndex(yl.bind(null,u));if(h>-1)return h;const g=ly(s[d-2]);return d>1&&ly(u)===g&&f[f.length-1].path!==g?f.findIndex(yl.bind(null,s[d-2])):h}),i=R(()=>o.value>-1&&hY(n.params,r.value.params)),a=R(()=>o.value>-1&&o.value===n.matched.length-1&&lP(n.params,r.value.params));function l(s={}){if(fY(s)){const d=t[Ur(e.replace)?"replace":"push"](Ur(e.to)).catch(xs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:R(()=>r.value.href),isActive:i,isExactActive:a,navigate:l}}function dY(e){return e.length===1?e[0]:e}const cY=te({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ay,setup(e,{slots:t}){const n=Po(ay(e)),{options:r}=Le(Tu),o=R(()=>({[sy(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[sy(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&dY(t.default(n));return e.custom?i:c("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},i)}}}),uY=cY;function fY(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function hY(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!io(o)||o.length!==r.length||r.some((i,a)=>i!==o[a]))return!1}return!0}function ly(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const sy=(e,t,n)=>e??t??n,vY=te({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Le(lv),o=R(()=>e.route||r.value),i=Le(Q0,0),a=R(()=>{let d=Ur(i);const{matched:u}=o.value;let f;for(;(f=u[d])&&!f.components;)d++;return d}),l=R(()=>o.value.matched[a.value]);at(Q0,R(()=>a.value+1)),at(Vq,l),at(lv,o);const s=M();return ct(()=>[s.value,l.value,e.name],([d,u,f],[h,g,v])=>{u&&(u.instances[f]=d,g&&g!==u&&d&&d===h&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),d&&u&&(!g||!yl(u,g)||!h)&&(u.enterCallbacks[f]||[]).forEach(m=>m(d))},{flush:"post"}),()=>{const d=o.value,u=e.name,f=l.value,h=f&&f.components[u];if(!h)return dy(n.default,{Component:h,route:d});const g=f.props[u],v=g?g===!0?d.params:typeof g=="function"?g(d):g:null,b=c(h,Qt({},v,t,{onVnodeUnmounted:p=>{p.component.isUnmounted&&(f.instances[u]=null)},ref:s}));return dy(n.default,{Component:b,route:d})||b}}});function dy(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const gY=vY;function mY(e){const t=oY(e.routes,e),n=e.parseQuery||Hq,r=e.stringifyQuery||J0,o=e.history,i=Zl(),a=Zl(),l=Zl(),s=wv(ui);let d=ui;Xa&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=jf.bind(null,oe=>""+oe),f=jf.bind(null,Rq),h=jf.bind(null,Ls);function g(oe,Pe){let L,ke;return sP(oe)?(L=t.getRecordMatcher(oe),ke=Pe):ke=oe,t.addRoute(ke,L)}function v(oe){const Pe=t.getRecordMatcher(oe);Pe&&t.removeRoute(Pe)}function m(){return t.getRoutes().map(oe=>oe.record)}function b(oe){return!!t.getRecordMatcher(oe)}function p(oe,Pe){if(Pe=Qt({},Pe||s.value),typeof oe=="string"){const ae=Vf(n,oe,Pe.path),ze=t.resolve({path:ae.path},Pe),$e=o.createHref(ae.fullPath);return Qt(ae,ze,{params:h(ze.params),hash:Ls(ae.hash),redirectedFrom:void 0,href:$e})}let L;if(oe.path!=null)L=Qt({},oe,{path:Vf(n,oe.path,Pe.path).path});else{const ae=Qt({},oe.params);for(const ze in ae)ae[ze]==null&&delete ae[ze];L=Qt({},oe,{params:f(ae)}),Pe.params=f(Pe.params)}const ke=t.resolve(L,Pe),Fe=oe.hash||"";ke.params=u(h(ke.params));const j=Tq(r,Qt({},oe,{hash:wq(Fe),path:ke.path})),G=o.createHref(j);return Qt({fullPath:j,hash:Fe,query:r===J0?jq(oe.query):oe.query||{}},ke,{redirectedFrom:void 0,href:G})}function y(oe){return typeof oe=="string"?Vf(n,oe,s.value.path):Qt({},oe)}function S(oe,Pe){if(d!==oe)return xl(Rn.NAVIGATION_CANCELLED,{from:Pe,to:oe})}function w(oe){return k(oe)}function C(oe){return w(Qt(y(oe),{replace:!0}))}function P(oe,Pe){const L=oe.matched[oe.matched.length-1];if(L&&L.redirect){const{redirect:ke}=L;let Fe=typeof ke=="function"?ke(oe,Pe):ke;return typeof Fe=="string"&&(Fe=Fe.includes("?")||Fe.includes("#")?Fe=y(Fe):{path:Fe},Fe.params={}),Qt({query:oe.query,hash:oe.hash,params:Fe.path!=null?{}:oe.params},Fe)}}function k(oe,Pe){const L=d=p(oe),ke=s.value,Fe=oe.state,j=oe.force,G=oe.replace===!0,ae=P(L,ke);if(ae)return k(Qt(y(ae),{state:typeof ae=="object"?Qt({},Fe,ae.state):Fe,force:j,replace:G}),Pe||L);const ze=L;ze.redirectedFrom=Pe;let $e;return!j&&$q(r,ke,L)&&($e=xl(Rn.NAVIGATION_DUPLICATED,{to:ze,from:ke}),X(ke,ke,!0,!1)),($e?Promise.resolve($e):z(ze,ke)).catch(se=>Do(se)?Do(se,Rn.NAVIGATION_GUARD_REDIRECT)?se:ue(se):re(se,ze,ke)).then(se=>{if(se){if(Do(se,Rn.NAVIGATION_GUARD_REDIRECT))return k(Qt({replace:G},y(se.to),{state:typeof se.to=="object"?Qt({},Fe,se.to.state):Fe,force:j}),Pe||ze)}else se=O(ze,ke,!0,G,Fe);return E(ze,ke,se),se})}function $(oe,Pe){const L=S(oe,Pe);return L?Promise.reject(L):Promise.resolve()}function T(oe){const Pe=V.values().next().value;return Pe&&typeof Pe.runWithContext=="function"?Pe.runWithContext(oe):oe()}function z(oe,Pe){let L;const[ke,Fe,j]=Uq(oe,Pe);L=Wf(ke.reverse(),"beforeRouteLeave",oe,Pe);for(const ae of ke)ae.leaveGuards.forEach(ze=>{L.push(yi(ze,oe,Pe))});const G=$.bind(null,oe,Pe);return L.push(G),pe(L).then(()=>{L=[];for(const ae of i.list())L.push(yi(ae,oe,Pe));return L.push(G),pe(L)}).then(()=>{L=Wf(Fe,"beforeRouteUpdate",oe,Pe);for(const ae of Fe)ae.updateGuards.forEach(ze=>{L.push(yi(ze,oe,Pe))});return L.push(G),pe(L)}).then(()=>{L=[];for(const ae of j)if(ae.beforeEnter)if(io(ae.beforeEnter))for(const ze of ae.beforeEnter)L.push(yi(ze,oe,Pe));else L.push(yi(ae.beforeEnter,oe,Pe));return L.push(G),pe(L)}).then(()=>(oe.matched.forEach(ae=>ae.enterCallbacks={}),L=Wf(j,"beforeRouteEnter",oe,Pe,T),L.push(G),pe(L))).then(()=>{L=[];for(const ae of a.list())L.push(yi(ae,oe,Pe));return L.push(G),pe(L)}).catch(ae=>Do(ae,Rn.NAVIGATION_CANCELLED)?ae:Promise.reject(ae))}function E(oe,Pe,L){l.list().forEach(ke=>T(()=>ke(oe,Pe,L)))}function O(oe,Pe,L,ke,Fe){const j=S(oe,Pe);if(j)return j;const G=Pe===ui,ae=Xa?history.state:{};L&&(ke||G?o.replace(oe.fullPath,Qt({scroll:G&&ae&&ae.scroll},Fe)):o.push(oe.fullPath,Fe)),s.value=oe,X(oe,Pe,L,G),ue()}let A;function B(){A||(A=o.listen((oe,Pe,L)=>{if(!ie.listening)return;const ke=p(oe),Fe=P(ke,ie.currentRoute.value);if(Fe){k(Qt(Fe,{replace:!0,force:!0}),ke).catch(xs);return}d=ke;const j=s.value;Xa&&Mq(Z0(j.fullPath,L.delta),Pu()),z(ke,j).catch(G=>Do(G,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_CANCELLED)?G:Do(G,Rn.NAVIGATION_GUARD_REDIRECT)?(k(Qt(y(G.to),{force:!0}),ke).then(ae=>{Do(ae,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_DUPLICATED)&&!L.delta&&L.type===iv.pop&&o.go(-1,!1)}).catch(xs),Promise.reject()):(L.delta&&o.go(-L.delta,!1),re(G,ke,j))).then(G=>{G=G||O(ke,j,!1),G&&(L.delta&&!Do(G,Rn.NAVIGATION_CANCELLED)?o.go(-L.delta,!1):L.type===iv.pop&&Do(G,Rn.NAVIGATION_ABORTED|Rn.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),E(ke,j,G)}).catch(xs)}))}let N=Zl(),K=Zl(),U;function re(oe,Pe,L){ue(oe);const ke=K.list();return ke.length?ke.forEach(Fe=>Fe(oe,Pe,L)):console.error(oe),Promise.reject(oe)}function ye(){return U&&s.value!==ui?Promise.resolve():new Promise((oe,Pe)=>{N.add([oe,Pe])})}function ue(oe){return U||(U=!oe,B(),N.list().forEach(([Pe,L])=>oe?L(oe):Pe()),N.reset()),oe}function X(oe,Pe,L,ke){const{scrollBehavior:Fe}=e;if(!Xa||!Fe)return Promise.resolve();const j=!L&&Dq(Z0(oe.fullPath,0))||(ke||!L)&&history.state&&history.state.scroll||null;return Tt().then(()=>Fe(oe,Pe,j)).then(G=>G&&Eq(G)).catch(G=>re(G,oe,Pe))}const Y=oe=>o.go(oe);let D;const V=new Set,ie={currentRoute:s,listening:!0,addRoute:g,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:m,resolve:p,options:e,push:w,replace:C,go:Y,back:()=>Y(-1),forward:()=>Y(1),beforeEach:i.add,beforeResolve:a.add,afterEach:l.add,onError:K.add,isReady:ye,install(oe){oe.component("RouterLink",uY),oe.component("RouterView",gY),oe.config.globalProperties.$router=ie,Object.defineProperty(oe.config.globalProperties,"$route",{enumerable:!0,get:()=>Ur(s)}),Xa&&!D&&s.value===ui&&(D=!0,w(o.location).catch(ke=>{}));const Pe={};for(const ke in ui)Object.defineProperty(Pe,ke,{get:()=>s.value[ke],enumerable:!0});oe.provide(Tu,ie),oe.provide(nm,Jy(Pe)),oe.provide(lv,s);const L=oe.unmount;V.add(oe),oe.unmount=function(){V.delete(oe),V.size<1&&(d=ui,A&&A(),A=null,s.value=ui,D=!1,U=!1),L()}}};function pe(oe){return oe.reduce((Pe,L)=>Pe.then(()=>T(L)),Promise.resolve())}return ie}function oX(){return Le(Tu)}function iX(e){return Le(nm)}const pY=[{path:"/",redirect:"/user/login"},{path:"/user/login",name:"UserLogin",component:()=>ci(()=>import("./Login-Cm10QZJ1.js"),__vite__mapDeps([0,1]))},{path:"/admin/login",name:"AdminLogin",component:()=>ci(()=>import("./Login-Cn9EfrvS.js"),__vite__mapDeps([2,1]))},{path:"/user",name:"UserLayout",component:()=>ci(()=>import("./Layout-Br6VMRob.js"),__vite__mapDeps([3,1])),meta:{requiresAuth:!0,role:"user"},children:[{path:"dashboard",name:"UserDashboard",component:()=>ci(()=>import("./Dashboard-DVSQDspm.js"),__vite__mapDeps([4,5,1]))},{path:"blank",name:"UserBlank",component:()=>ci(()=>import("./Blank-BerVeAls.js"),__vite__mapDeps([6,1]))}]},{path:"/admin",name:"AdminLayout",component:()=>ci(()=>import("./Layout-SLPXm-dk.js"),__vite__mapDeps([7,1])),meta:{requiresAuth:!0,role:"admin"},children:[{path:"users",name:"AdminUsers",component:()=>ci(()=>import("./Users-Dj8FIlX1.js"),__vite__mapDeps([8,1]))},{path:"configs",name:"AdminConfigs",component:()=>ci(()=>import("./Configs-BZ4p1nld.js"),__vite__mapDeps([9,5,1]))}]}],hP=mY({history:Yq(),routes:pY});hP.beforeEach((e,t,n)=>{if(e.meta.requiresAuth){if(e.meta.role==="admin"){if(!localStorage.getItem("admin_token"))return n("/admin/login")}else if(!localStorage.getItem("user_token"))return n("/user/login")}n()});function vP(e,t){return function(){return e.apply(t,arguments)}}const{toString:bY}=Object.prototype,{getPrototypeOf:rm}=Object,{iterator:$u,toStringTag:gP}=Symbol,zu=(e=>t=>{const n=bY.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),so=e=>(e=e.toLowerCase(),t=>zu(t)===e),Ou=e=>t=>typeof t===e,{isArray:_l}=Array,wl=Ou("undefined");function cd(e){return e!==null&&!wl(e)&&e.constructor!==null&&!wl(e.constructor)&&xr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const mP=so("ArrayBuffer");function yY(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&mP(e.buffer),t}const xY=Ou("string"),xr=Ou("function"),pP=Ou("number"),ud=e=>e!==null&&typeof e=="object",wY=e=>e===!0||e===!1,ac=e=>{if(zu(e)!=="object")return!1;const t=rm(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(gP in e)&&!($u in e)},CY=e=>{if(!ud(e)||cd(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},SY=so("Date"),RY=so("File"),kY=so("Blob"),PY=so("FileList"),TY=e=>ud(e)&&xr(e.pipe),$Y=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||xr(e.append)&&((t=zu(e))==="formdata"||t==="object"&&xr(e.toString)&&e.toString()==="[object FormData]"))},zY=so("URLSearchParams"),[OY,_Y,FY,IY]=["ReadableStream","Request","Response","Headers"].map(so),AY=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fd(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),_l(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{if(cd(e))return;const i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length;let l;for(r=0;r<a;r++)l=i[r],t.call(null,e[l],l,e)}}function bP(e,t){if(cd(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,o;for(;r-- >0;)if(o=n[r],t===o.toLowerCase())return o;return null}const ia=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,yP=e=>!wl(e)&&e!==ia;function sv(){const{caseless:e,skipUndefined:t}=yP(this)&&this||{},n={},r=(o,i)=>{const a=e&&bP(n,i)||i;ac(n[a])&&ac(o)?n[a]=sv(n[a],o):ac(o)?n[a]=sv({},o):_l(o)?n[a]=o.slice():(!t||!wl(o))&&(n[a]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&fd(arguments[o],r);return n}const EY=(e,t,n,{allOwnKeys:r}={})=>(fd(t,(o,i)=>{n&&xr(o)?e[i]=vP(o,n):e[i]=o},{allOwnKeys:r}),e),MY=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),DY=(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)},BY=(e,t,n,r)=>{let o,i,a;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!l[a]&&(t[a]=e[a],l[a]=!0);e=n!==!1&&rm(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},NY=(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},LY=e=>{if(!e)return null;if(_l(e))return e;let t=e.length;if(!pP(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},HY=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rm(Uint8Array)),jY=(e,t)=>{const r=(e&&e[$u]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},VY=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},UY=so("HTMLFormElement"),WY=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),cy=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),KY=so("RegExp"),xP=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};fd(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},qY=e=>{xP(e,(t,n)=>{if(xr(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(xr(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+"'")})}})},YY=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return _l(e)?r(e):r(String(e).split(t)),n},GY=()=>{},XY=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ZY(e){return!!(e&&xr(e.append)&&e[gP]==="FormData"&&e[$u])}const JY=e=>{const t=new Array(10),n=(r,o)=>{if(ud(r)){if(t.indexOf(r)>=0)return;if(cd(r))return r;if(!("toJSON"in r)){t[o]=r;const i=_l(r)?[]:{};return fd(r,(a,l)=>{const s=n(a,o+1);!wl(s)&&(i[l]=s)}),t[o]=void 0,i}}return r};return n(e,0)},QY=so("AsyncFunction"),eG=e=>e&&(ud(e)||xr(e))&&xr(e.then)&&xr(e.catch),wP=((e,t)=>e?setImmediate:t?((n,r)=>(ia.addEventListener("message",({source:o,data:i})=>{o===ia&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),ia.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",xr(ia.postMessage)),tG=typeof queueMicrotask<"u"?queueMicrotask.bind(ia):typeof process<"u"&&process.nextTick||wP,nG=e=>e!=null&&xr(e[$u]),Ne={isArray:_l,isArrayBuffer:mP,isBuffer:cd,isFormData:$Y,isArrayBufferView:yY,isString:xY,isNumber:pP,isBoolean:wY,isObject:ud,isPlainObject:ac,isEmptyObject:CY,isReadableStream:OY,isRequest:_Y,isResponse:FY,isHeaders:IY,isUndefined:wl,isDate:SY,isFile:RY,isBlob:kY,isRegExp:KY,isFunction:xr,isStream:TY,isURLSearchParams:zY,isTypedArray:HY,isFileList:PY,forEach:fd,merge:sv,extend:EY,trim:AY,stripBOM:MY,inherits:DY,toFlatObject:BY,kindOf:zu,kindOfTest:so,endsWith:NY,toArray:LY,forEachEntry:jY,matchAll:VY,isHTMLForm:UY,hasOwnProperty:cy,hasOwnProp:cy,reduceDescriptors:xP,freezeMethods:qY,toObjectSet:YY,toCamelCase:WY,noop:GY,toFiniteNumber:XY,findKey:bP,global:ia,isContextDefined:yP,isSpecCompliantForm:ZY,toJSONObject:JY,isAsyncFn:QY,isThenable:eG,setImmediate:wP,asap:tG,isIterable:nG};function Mt(e,t,n,r,o){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),o&&(this.response=o,this.status=o.status?o.status:null)}Ne.inherits(Mt,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:Ne.toJSONObject(this.config),code:this.code,status:this.status}}});const CP=Mt.prototype,SP={};["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=>{SP[e]={value:e}});Object.defineProperties(Mt,SP);Object.defineProperty(CP,"isAxiosError",{value:!0});Mt.from=(e,t,n,r,o,i)=>{const a=Object.create(CP);Ne.toFlatObject(e,a,function(u){return u!==Error.prototype},d=>d!=="isAxiosError");const l=e&&e.message?e.message:"Error",s=t==null&&e?e.code:t;return Mt.call(a,l,s,n,r,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",i&&Object.assign(a,i),a};const rG=null;function dv(e){return Ne.isPlainObject(e)||Ne.isArray(e)}function RP(e){return Ne.endsWith(e,"[]")?e.slice(0,-2):e}function uy(e,t,n){return e?e.concat(t).map(function(o,i){return o=RP(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function oG(e){return Ne.isArray(e)&&!e.some(dv)}const iG=Ne.toFlatObject(Ne,{},null,function(t){return/^is[A-Z]/.test(t)});function _u(e,t,n){if(!Ne.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=Ne.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,b){return!Ne.isUndefined(b[m])});const r=n.metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||typeof Blob<"u"&&Blob)&&Ne.isSpecCompliantForm(t);if(!Ne.isFunction(o))throw new TypeError("visitor must be a function");function d(v){if(v===null)return"";if(Ne.isDate(v))return v.toISOString();if(Ne.isBoolean(v))return v.toString();if(!s&&Ne.isBlob(v))throw new Mt("Blob is not supported. Use a Buffer instead.");return Ne.isArrayBuffer(v)||Ne.isTypedArray(v)?s&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function u(v,m,b){let p=v;if(v&&!b&&typeof v=="object"){if(Ne.endsWith(m,"{}"))m=r?m:m.slice(0,-2),v=JSON.stringify(v);else if(Ne.isArray(v)&&oG(v)||(Ne.isFileList(v)||Ne.endsWith(m,"[]"))&&(p=Ne.toArray(v)))return m=RP(m),p.forEach(function(S,w){!(Ne.isUndefined(S)||S===null)&&t.append(a===!0?uy([m],w,i):a===null?m:m+"[]",d(S))}),!1}return dv(v)?!0:(t.append(uy(b,m,i),d(v)),!1)}const f=[],h=Object.assign(iG,{defaultVisitor:u,convertValue:d,isVisitable:dv});function g(v,m){if(!Ne.isUndefined(v)){if(f.indexOf(v)!==-1)throw Error("Circular reference detected in "+m.join("."));f.push(v),Ne.forEach(v,function(p,y){(!(Ne.isUndefined(p)||p===null)&&o.call(t,p,Ne.isString(y)?y.trim():y,m,h))===!0&&g(p,m?m.concat(y):[y])}),f.pop()}}if(!Ne.isObject(e))throw new TypeError("data must be an object");return g(e),t}function fy(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function om(e,t){this._pairs=[],e&&_u(e,this,t)}const kP=om.prototype;kP.append=function(t,n){this._pairs.push([t,n])};kP.toString=function(t){const n=t?function(r){return t.call(this,r,fy)}:fy;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function aG(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function PP(e,t,n){if(!t)return e;const r=n&&n.encode||aG;Ne.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let i;if(o?i=o(t,n):i=Ne.isURLSearchParams(t)?t.toString():new om(t,n).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class hy{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){Ne.forEach(this.handlers,function(r){r!==null&&t(r)})}}const TP={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lG=typeof URLSearchParams<"u"?URLSearchParams:om,sG=typeof FormData<"u"?FormData:null,dG=typeof Blob<"u"?Blob:null,cG={isBrowser:!0,classes:{URLSearchParams:lG,FormData:sG,Blob:dG},protocols:["http","https","file","blob","url","data"]},im=typeof window<"u"&&typeof document<"u",cv=typeof navigator=="object"&&navigator||void 0,uG=im&&(!cv||["ReactNative","NativeScript","NS"].indexOf(cv.product)<0),fG=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",hG=im&&window.location.href||"http://localhost",vG=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:im,hasStandardBrowserEnv:uG,hasStandardBrowserWebWorkerEnv:fG,navigator:cv,origin:hG},Symbol.toStringTag,{value:"Module"})),rr={...vG,...cG};function gG(e,t){return _u(e,new rr.classes.URLSearchParams,{visitor:function(n,r,o,i){return rr.isNode&&Ne.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function mG(e){return Ne.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function pG(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],t[i]=e[i];return t}function $P(e){function t(n,r,o,i){let a=n[i++];if(a==="__proto__")return!0;const l=Number.isFinite(+a),s=i>=n.length;return a=!a&&Ne.isArray(o)?o.length:a,s?(Ne.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!l):((!o[a]||!Ne.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&Ne.isArray(o[a])&&(o[a]=pG(o[a])),!l)}if(Ne.isFormData(e)&&Ne.isFunction(e.entries)){const n={};return Ne.forEachEntry(e,(r,o)=>{t(mG(r),o,n,0)}),n}return null}function bG(e,t,n){if(Ne.isString(e))try{return(t||JSON.parse)(e),Ne.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const hd={transitional:TP,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=Ne.isObject(t);if(i&&Ne.isHTMLForm(t)&&(t=new FormData(t)),Ne.isFormData(t))return o?JSON.stringify($P(t)):t;if(Ne.isArrayBuffer(t)||Ne.isBuffer(t)||Ne.isStream(t)||Ne.isFile(t)||Ne.isBlob(t)||Ne.isReadableStream(t))return t;if(Ne.isArrayBufferView(t))return t.buffer;if(Ne.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return gG(t,this.formSerializer).toString();if((l=Ne.isFileList(t))||r.indexOf("multipart/form-data")>-1){const s=this.env&&this.env.FormData;return _u(l?{"files[]":t}:t,s&&new s,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),bG(t)):t}],transformResponse:[function(t){const n=this.transitional||hd.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(Ne.isResponse(t)||Ne.isReadableStream(t))return t;if(t&&Ne.isString(t)&&(r&&!this.responseType||o)){const a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(a)throw l.name==="SyntaxError"?Mt.from(l,Mt.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:rr.classes.FormData,Blob:rr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ne.forEach(["delete","get","head","post","put","patch"],e=>{hd.headers[e]={}});const yG=Ne.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"]),xG=e=>{const t={};let n,r,o;return e&&e.split(`
|
|
7367
7367
|
`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||t[n]&&yG[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},vy=Symbol("internals");function Jl(e){return e&&String(e).trim().toLowerCase()}function lc(e){return e===!1||e==null?e:Ne.isArray(e)?e.map(lc):String(e)}function wG(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 CG=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Kf(e,t,n,r,o){if(Ne.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!Ne.isString(t)){if(Ne.isString(r))return t.indexOf(r)!==-1;if(Ne.isRegExp(r))return r.test(t)}}function SG(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function RG(e,t){const n=Ne.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,i,a){return this[r].call(this,t,o,i,a)},configurable:!0})})}let wr=class{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(l,s,d){const u=Jl(s);if(!u)throw new Error("header name must be a non-empty string");const f=Ne.findKey(o,u);(!f||o[f]===void 0||d===!0||d===void 0&&o[f]!==!1)&&(o[f||s]=lc(l))}const a=(l,s)=>Ne.forEach(l,(d,u)=>i(d,u,s));if(Ne.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(Ne.isString(t)&&(t=t.trim())&&!CG(t))a(xG(t),n);else if(Ne.isObject(t)&&Ne.isIterable(t)){let l={},s,d;for(const u of t){if(!Ne.isArray(u))throw TypeError("Object iterator must return a key-value pair");l[d=u[0]]=(s=l[d])?Ne.isArray(s)?[...s,u[1]]:[s,u[1]]:u[1]}a(l,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=Jl(t),t){const r=Ne.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return wG(o);if(Ne.isFunction(n))return n.call(this,o,r);if(Ne.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Jl(t),t){const r=Ne.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Kf(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(a){if(a=Jl(a),a){const l=Ne.findKey(r,a);l&&(!n||Kf(r,r[l],l,n))&&(delete r[l],o=!0)}}return Ne.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||Kf(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return Ne.forEach(this,(o,i)=>{const a=Ne.findKey(r,i);if(a){n[a]=lc(o),delete n[i];return}const l=t?SG(i):String(i).trim();l!==i&&delete n[i],n[l]=lc(o),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return Ne.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&Ne.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(`
|
|
7368
7368
|
`)}getSetCookie(){return this.get("set-cookie")||[]}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(o=>r.set(o)),r}static accessor(t){const r=(this[vy]=this[vy]={accessors:{}}).accessors,o=this.prototype;function i(a){const l=Jl(a);r[l]||(RG(o,a),r[l]=!0)}return Ne.isArray(t)?t.forEach(i):i(t),this}};wr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Ne.reduceDescriptors(wr.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});Ne.freezeMethods(wr);function qf(e,t){const n=this||hd,r=t||n,o=wr.from(r.headers);let i=r.data;return Ne.forEach(e,function(l){i=l.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function zP(e){return!!(e&&e.__CANCEL__)}function Fl(e,t,n){Mt.call(this,e??"canceled",Mt.ERR_CANCELED,t,n),this.name="CanceledError"}Ne.inherits(Fl,Mt,{__CANCEL__:!0});function OP(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Mt("Request failed with status code "+n.status,[Mt.ERR_BAD_REQUEST,Mt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function kG(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function PG(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,a;return t=t!==void 0?t:1e3,function(s){const d=Date.now(),u=r[i];a||(a=d),n[o]=s,r[o]=d;let f=i,h=0;for(;f!==o;)h+=n[f++],f=f%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),d-a<t)return;const g=u&&d-u;return g?Math.round(h*1e3/g):void 0}}function TG(e,t){let n=0,r=1e3/t,o,i;const a=(d,u=Date.now())=>{n=u,o=null,i&&(clearTimeout(i),i=null),e(...d)};return[(...d)=>{const u=Date.now(),f=u-n;f>=r?a(d,u):(o=d,i||(i=setTimeout(()=>{i=null,a(o)},r-f)))},()=>o&&a(o)]}const Hc=(e,t,n=3)=>{let r=0;const o=PG(50,250);return TG(i=>{const a=i.loaded,l=i.lengthComputable?i.total:void 0,s=a-r,d=o(s),u=a<=l;r=a;const f={loaded:a,total:l,progress:l?a/l:void 0,bytes:s,rate:d||void 0,estimated:d&&l&&u?(l-a)/d:void 0,event:i,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},gy=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},my=e=>(...t)=>Ne.asap(()=>e(...t)),$G=rr.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,rr.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(rr.origin),rr.navigator&&/(msie|trident)/i.test(rr.navigator.userAgent)):()=>!0,zG=rr.hasStandardBrowserEnv?{write(e,t,n,r,o,i,a){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];Ne.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),Ne.isString(r)&&l.push(`path=${r}`),Ne.isString(o)&&l.push(`domain=${o}`),i===!0&&l.push("secure"),Ne.isString(a)&&l.push(`SameSite=${a}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function OG(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _G(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function _P(e,t,n){let r=!OG(t);return e&&(r||n==!1)?_G(e,t):t}const py=e=>e instanceof wr?{...e}:e;function Sa(e,t){t=t||{};const n={};function r(d,u,f,h){return Ne.isPlainObject(d)&&Ne.isPlainObject(u)?Ne.merge.call({caseless:h},d,u):Ne.isPlainObject(u)?Ne.merge({},u):Ne.isArray(u)?u.slice():u}function o(d,u,f,h){if(Ne.isUndefined(u)){if(!Ne.isUndefined(d))return r(void 0,d,f,h)}else return r(d,u,f,h)}function i(d,u){if(!Ne.isUndefined(u))return r(void 0,u)}function a(d,u){if(Ne.isUndefined(u)){if(!Ne.isUndefined(d))return r(void 0,d)}else return r(void 0,u)}function l(d,u,f){if(f in t)return r(d,u);if(f in e)return r(void 0,d)}const s={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:l,headers:(d,u,f)=>o(py(d),py(u),f,!0)};return Ne.forEach(Object.keys({...e,...t}),function(u){const f=s[u]||o,h=f(e[u],t[u],u);Ne.isUndefined(h)&&f!==l||(n[u]=h)}),n}const FP=e=>{const t=Sa({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:l}=t;if(t.headers=a=wr.from(a),t.url=PP(_P(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&a.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),Ne.isFormData(n)){if(rr.hasStandardBrowserEnv||rr.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(Ne.isFunction(n.getHeaders)){const s=n.getHeaders(),d=["content-type","content-length"];Object.entries(s).forEach(([u,f])=>{d.includes(u.toLowerCase())&&a.set(u,f)})}}if(rr.hasStandardBrowserEnv&&(r&&Ne.isFunction(r)&&(r=r(t)),r||r!==!1&&$G(t.url))){const s=o&&i&&zG.read(i);s&&a.set(o,s)}return t},FG=typeof XMLHttpRequest<"u",IG=FG&&function(e){return new Promise(function(n,r){const o=FP(e);let i=o.data;const a=wr.from(o.headers).normalize();let{responseType:l,onUploadProgress:s,onDownloadProgress:d}=o,u,f,h,g,v;function m(){g&&g(),v&&v(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function p(){if(!b)return;const S=wr.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:S,config:e,request:b};OP(function(k){n(k),m()},function(k){r(k),m()},C),b=null}"onloadend"in b?b.onloadend=p:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(p)},b.onabort=function(){b&&(r(new Mt("Request aborted",Mt.ECONNABORTED,e,b)),b=null)},b.onerror=function(w){const C=w&&w.message?w.message:"Network Error",P=new Mt(C,Mt.ERR_NETWORK,e,b);P.event=w||null,r(P),b=null},b.ontimeout=function(){let w=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const C=o.transitional||TP;o.timeoutErrorMessage&&(w=o.timeoutErrorMessage),r(new Mt(w,C.clarifyTimeoutError?Mt.ETIMEDOUT:Mt.ECONNABORTED,e,b)),b=null},i===void 0&&a.setContentType(null),"setRequestHeader"in b&&Ne.forEach(a.toJSON(),function(w,C){b.setRequestHeader(C,w)}),Ne.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),l&&l!=="json"&&(b.responseType=o.responseType),d&&([h,v]=Hc(d,!0),b.addEventListener("progress",h)),s&&b.upload&&([f,g]=Hc(s),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",g)),(o.cancelToken||o.signal)&&(u=S=>{b&&(r(!S||S.type?new Fl(null,e,b):S),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const y=kG(o.url);if(y&&rr.protocols.indexOf(y)===-1){r(new Mt("Unsupported protocol "+y+":",Mt.ERR_BAD_REQUEST,e));return}b.send(i||null)})},AG=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const i=function(d){if(!o){o=!0,l();const u=d instanceof Error?d:this.reason;r.abort(u instanceof Mt?u:new Fl(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,i(new Mt(`timeout ${t} of ms exceeded`,Mt.ETIMEDOUT))},t);const l=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(i):d.removeEventListener("abort",i)}),e=null)};e.forEach(d=>d.addEventListener("abort",i));const{signal:s}=r;return s.unsubscribe=()=>Ne.asap(l),s}},EG=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,o;for(;r<n;)o=r+t,yield e.slice(r,o),r=o},MG=async function*(e,t){for await(const n of DG(e))yield*EG(n,t)},DG=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},by=(e,t,n,r)=>{const o=MG(e,t);let i=0,a,l=s=>{a||(a=!0,r&&r(s))};return new ReadableStream({async pull(s){try{const{done:d,value:u}=await o.next();if(d){l(),s.close();return}let f=u.byteLength;if(n){let h=i+=f;n(h)}s.enqueue(new Uint8Array(u))}catch(d){throw l(d),d}},cancel(s){return l(s),o.return()}},{highWaterMark:2})},yy=64*1024,{isFunction:Yd}=Ne,BG=(({Request:e,Response:t})=>({Request:e,Response:t}))(Ne.global),{ReadableStream:xy,TextEncoder:wy}=Ne.global,Cy=(e,...t)=>{try{return!!e(...t)}catch{return!1}},NG=e=>{e=Ne.merge.call({skipUndefined:!0},BG,e);const{fetch:t,Request:n,Response:r}=e,o=t?Yd(t):typeof fetch=="function",i=Yd(n),a=Yd(r);if(!o)return!1;const l=o&&Yd(xy),s=o&&(typeof wy=="function"?(v=>m=>v.encode(m))(new wy):async v=>new Uint8Array(await new n(v).arrayBuffer())),d=i&&l&&Cy(()=>{let v=!1;const m=new n(rr.origin,{body:new xy,method:"POST",get duplex(){return v=!0,"half"}}).headers.has("Content-Type");return v&&!m}),u=a&&l&&Cy(()=>Ne.isReadableStream(new r("").body)),f={stream:u&&(v=>v.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(v=>{!f[v]&&(f[v]=(m,b)=>{let p=m&&m[v];if(p)return p.call(m);throw new Mt(`Response type '${v}' is not supported`,Mt.ERR_NOT_SUPPORT,b)})});const h=async v=>{if(v==null)return 0;if(Ne.isBlob(v))return v.size;if(Ne.isSpecCompliantForm(v))return(await new n(rr.origin,{method:"POST",body:v}).arrayBuffer()).byteLength;if(Ne.isArrayBufferView(v)||Ne.isArrayBuffer(v))return v.byteLength;if(Ne.isURLSearchParams(v)&&(v=v+""),Ne.isString(v))return(await s(v)).byteLength},g=async(v,m)=>{const b=Ne.toFiniteNumber(v.getContentLength());return b??h(m)};return async v=>{let{url:m,method:b,data:p,signal:y,cancelToken:S,timeout:w,onDownloadProgress:C,onUploadProgress:P,responseType:k,headers:$,withCredentials:T="same-origin",fetchOptions:z}=FP(v),E=t||fetch;k=k?(k+"").toLowerCase():"text";let O=AG([y,S&&S.toAbortSignal()],w),A=null;const B=O&&O.unsubscribe&&(()=>{O.unsubscribe()});let N;try{if(P&&d&&b!=="get"&&b!=="head"&&(N=await g($,p))!==0){let X=new n(m,{method:"POST",body:p,duplex:"half"}),Y;if(Ne.isFormData(p)&&(Y=X.headers.get("content-type"))&&$.setContentType(Y),X.body){const[D,V]=gy(N,Hc(my(P)));p=by(X.body,yy,D,V)}}Ne.isString(T)||(T=T?"include":"omit");const K=i&&"credentials"in n.prototype,U={...z,signal:O,method:b.toUpperCase(),headers:$.normalize().toJSON(),body:p,duplex:"half",credentials:K?T:void 0};A=i&&new n(m,U);let re=await(i?E(A,z):E(m,U));const ye=u&&(k==="stream"||k==="response");if(u&&(C||ye&&B)){const X={};["status","statusText","headers"].forEach(ie=>{X[ie]=re[ie]});const Y=Ne.toFiniteNumber(re.headers.get("content-length")),[D,V]=C&&gy(Y,Hc(my(C),!0))||[];re=new r(by(re.body,yy,D,()=>{V&&V(),B&&B()}),X)}k=k||"text";let ue=await f[Ne.findKey(f,k)||"text"](re,v);return!ye&&B&&B(),await new Promise((X,Y)=>{OP(X,Y,{data:ue,headers:wr.from(re.headers),status:re.status,statusText:re.statusText,config:v,request:A})})}catch(K){throw B&&B(),K&&K.name==="TypeError"&&/Load failed|fetch/i.test(K.message)?Object.assign(new Mt("Network Error",Mt.ERR_NETWORK,v,A),{cause:K.cause||K}):Mt.from(K,K&&K.code,v,A)}}},LG=new Map,IP=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,i=[r,o,n];let a=i.length,l=a,s,d,u=LG;for(;l--;)s=i[l],d=u.get(s),d===void 0&&u.set(s,d=l?new Map:NG(t)),u=d;return d};IP();const am={http:rG,xhr:IG,fetch:{get:IP}};Ne.forEach(am,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Sy=e=>`- ${e}`,HG=e=>Ne.isFunction(e)||e===null||e===!1;function jG(e,t){e=Ne.isArray(e)?e:[e];const{length:n}=e;let r,o;const i={};for(let a=0;a<n;a++){r=e[a];let l;if(o=r,!HG(r)&&(o=am[(l=String(r)).toLowerCase()],o===void 0))throw new Mt(`Unknown adapter '${l}'`);if(o&&(Ne.isFunction(o)||(o=o.get(t))))break;i[l||"#"+a]=o}if(!o){const a=Object.entries(i).map(([s,d])=>`adapter ${s} `+(d===!1?"is not supported by the environment":"is not available in the build"));let l=n?a.length>1?`since :
|
|
7369
7369
|
`+a.map(Sy).join(`
|
|
7370
7370
|
`):" "+Sy(a[0]):"as no adapter specified";throw new Mt("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o}const AP={getAdapter:jG,adapters:am};function Yf(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Fl(null,e)}function Ry(e){return Yf(e),e.headers=wr.from(e.headers),e.data=qf.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),AP.getAdapter(e.adapter||hd.adapter,e)(e).then(function(r){return Yf(e),r.data=qf.call(e,e.transformResponse,r),r.headers=wr.from(r.headers),r},function(r){return zP(r)||(Yf(e),r&&r.response&&(r.response.data=qf.call(e,e.transformResponse,r.response),r.response.headers=wr.from(r.response.headers))),Promise.reject(r)})}const EP="1.13.2",Fu={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Fu[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const ky={};Fu.transitional=function(t,n,r){function o(i,a){return"[Axios v"+EP+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,l)=>{if(t===!1)throw new Mt(o(a," has been removed"+(n?" in "+n:"")),Mt.ERR_DEPRECATED);return n&&!ky[a]&&(ky[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,l):!0}};Fu.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function VG(e,t,n){if(typeof e!="object")throw new Mt("options must be an object",Mt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const l=e[i],s=l===void 0||a(l,i,e);if(s!==!0)throw new Mt("option "+i+" must be "+s,Mt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Mt("Unknown option "+i,Mt.ERR_BAD_OPTION)}}const sc={assertOptions:VG,validators:Fu},ho=sc.validators;let va=class{constructor(t){this.defaults=t||{},this.interceptors={request:new hy,response:new hy}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
|
|
7371
|
-
`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Sa(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&sc.assertOptions(r,{silentJSONParsing:ho.transitional(ho.boolean),forcedJSONParsing:ho.transitional(ho.boolean),clarifyTimeoutError:ho.transitional(ho.boolean)},!1),o!=null&&(Ne.isFunction(o)?n.paramsSerializer={serialize:o}:sc.assertOptions(o,{encode:ho.function,serialize:ho.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),sc.assertOptions(n,{baseUrl:ho.spelling("baseURL"),withXsrfToken:ho.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&Ne.merge(i.common,i[n.method]);i&&Ne.forEach(["delete","get","head","post","put","patch","common"],v=>{delete i[v]}),n.headers=wr.concat(a,i);const l=[];let s=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(s=s&&m.synchronous,l.unshift(m.fulfilled,m.rejected))});const d=[];this.interceptors.response.forEach(function(m){d.push(m.fulfilled,m.rejected)});let u,f=0,h;if(!s){const v=[Ry.bind(this),void 0];for(v.unshift(...l),v.push(...d),h=v.length,u=Promise.resolve(n);f<h;)u=u.then(v[f++],v[f++]);return u}h=l.length;let g=n;for(;f<h;){const v=l[f++],m=l[f++];try{g=v(g)}catch(b){m.call(this,b);break}}try{u=Ry.call(this,g)}catch(v){return Promise.reject(v)}for(f=0,h=d.length;f<h;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Sa(this.defaults,t);const n=_P(t.baseURL,t.url,t.allowAbsoluteUrls);return PP(n,t.params,t.paramsSerializer)}};Ne.forEach(["delete","get","head","options"],function(t){va.prototype[t]=function(n,r){return this.request(Sa(r||{},{method:t,url:n,data:(r||{}).data}))}});Ne.forEach(["post","put","patch"],function(t){function n(r){return function(i,a,l){return this.request(Sa(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}va.prototype[t]=n(),va.prototype[t+"Form"]=n(!0)});let UG=class MP{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const a=new Promise(l=>{r.subscribe(l),i=l}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,l){r.reason||(r.reason=new Fl(i,a,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new MP(function(o){t=o}),cancel:t}}};function WG(e){return function(n){return e.apply(null,n)}}function KG(e){return Ne.isObject(e)&&e.isAxiosError===!0}const uv={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(uv).forEach(([e,t])=>{uv[t]=e});function DP(e){const t=new va(e),n=vP(va.prototype.request,t);return Ne.extend(n,va.prototype,t,{allOwnKeys:!0}),Ne.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return DP(Sa(e,o))},n}const Fn=DP(hd);Fn.Axios=va;Fn.CanceledError=Fl;Fn.CancelToken=UG;Fn.isCancel=zP;Fn.VERSION=EP;Fn.toFormData=_u;Fn.AxiosError=Mt;Fn.Cancel=Fn.CanceledError;Fn.all=function(t){return Promise.all(t)};Fn.spread=WG;Fn.isAxiosError=KG;Fn.mergeConfig=Sa;Fn.AxiosHeaders=wr;Fn.formToJSON=e=>$P(Ne.isHTMLForm(e)?new FormData(e):e);Fn.getAdapter=AP.getAdapter;Fn.HttpStatusCode=uv;Fn.default=Fn;const{Axios:sX,AxiosError:dX,CanceledError:cX,isCancel:uX,CancelToken:fX,VERSION:hX,all:vX,Cancel:gX,isAxiosError:mX,spread:pX,toFormData:bX,AxiosHeaders:yX,HttpStatusCode:xX,formToJSON:wX,getAdapter:CX,mergeConfig:SX}=Fn,ws=Fn.create({baseURL:"/api",headers:{"Content-Type":"application/json"}});ws.interceptors.request.use(e=>{const n=window.location.pathname.startsWith("/admin")?localStorage.getItem("admin_token"):localStorage.getItem("user_token");return n&&(e.headers.Authorization=`Bearer ${n}`),e});ws.interceptors.response.use(e=>e,e=>{var n,r,o;if(!e.response&&e.request&&(e.code==="ECONNREFUSED"||((n=e.message)==null?void 0:n.includes("ECONNREFUSED"))||((r=e.message)==null?void 0:r.includes("Network Error"))||e.request.readyState===4&&e.request.status===0)){const i=window.__lastConnectionErrorTime||0,a=Date.now();a-i>5e3&&(window.__lastConnectionErrorTime=a,console.error("❌ 无法连接到后端服务器"),console.error(" 请确保后端服务器正在运行在 http://localhost:3000"),console.error("💡 启动方法:"),console.error(" - 开发模式: pnpm dev (同时启动前后端)"),console.error(" - 仅后端: pnpm --filter server dev"),console.error(" - 生产模式: pnpm start"))}return((o=e.response)==null?void 0:o.status)===401&&(window.location.pathname.startsWith("/admin")?(localStorage.removeItem("admin_token"),window.location.pathname.includes("/login")||(window.location.href="/admin/login")):(localStorage.removeItem("user_token"),window.location.pathname.includes("/login")||(window.location.href="/user/login"))),Promise.reject(e)});const qG=Ez("auth",()=>{const e=M(null),t=M(localStorage.getItem("user_token")),n=M(null),r=M(localStorage.getItem("admin_token"));async function o(u,f){const h=await ws.post("/auth/user/login",{email:u,apiKey:f}),{token:g,user:v}=h.data.data;return t.value=g,e.value=v,localStorage.setItem("user_token",g),{token:g,user:v}}async function i(u,f){const h=await ws.post("/auth/admin/login",{username:u,password:f}),{token:g,role:v}=h.data.data;return r.value=g,n.value=v,localStorage.setItem("admin_token",g),{token:g,role:v}}function a(){e.value=null,t.value=null,localStorage.removeItem("user_token")}function l(){n.value=null,r.value=null,localStorage.removeItem("admin_token")}function s(){a(),l()}async function d(){if(t.value&&!e.value)try{const u=await ws.get("/auth/user/me");e.value=u.data.data}catch{t.value=null,localStorage.removeItem("user_token")}}return{user:e,userToken:t,adminRole:n,adminToken:r,loginUser:o,loginAdmin:i,userLogout:a,adminLogout:l,logout:s,initUser:d}}),Iu=Jx(sq);Iu.use(zz());Iu.use(hP);Iu.use(eP);const YG=qG();YG.initUser();Iu.mount("#app");export{
|
|
7371
|
+
`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Sa(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&sc.assertOptions(r,{silentJSONParsing:ho.transitional(ho.boolean),forcedJSONParsing:ho.transitional(ho.boolean),clarifyTimeoutError:ho.transitional(ho.boolean)},!1),o!=null&&(Ne.isFunction(o)?n.paramsSerializer={serialize:o}:sc.assertOptions(o,{encode:ho.function,serialize:ho.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),sc.assertOptions(n,{baseUrl:ho.spelling("baseURL"),withXsrfToken:ho.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&Ne.merge(i.common,i[n.method]);i&&Ne.forEach(["delete","get","head","post","put","patch","common"],v=>{delete i[v]}),n.headers=wr.concat(a,i);const l=[];let s=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(s=s&&m.synchronous,l.unshift(m.fulfilled,m.rejected))});const d=[];this.interceptors.response.forEach(function(m){d.push(m.fulfilled,m.rejected)});let u,f=0,h;if(!s){const v=[Ry.bind(this),void 0];for(v.unshift(...l),v.push(...d),h=v.length,u=Promise.resolve(n);f<h;)u=u.then(v[f++],v[f++]);return u}h=l.length;let g=n;for(;f<h;){const v=l[f++],m=l[f++];try{g=v(g)}catch(b){m.call(this,b);break}}try{u=Ry.call(this,g)}catch(v){return Promise.reject(v)}for(f=0,h=d.length;f<h;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Sa(this.defaults,t);const n=_P(t.baseURL,t.url,t.allowAbsoluteUrls);return PP(n,t.params,t.paramsSerializer)}};Ne.forEach(["delete","get","head","options"],function(t){va.prototype[t]=function(n,r){return this.request(Sa(r||{},{method:t,url:n,data:(r||{}).data}))}});Ne.forEach(["post","put","patch"],function(t){function n(r){return function(i,a,l){return this.request(Sa(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}va.prototype[t]=n(),va.prototype[t+"Form"]=n(!0)});let UG=class MP{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const a=new Promise(l=>{r.subscribe(l),i=l}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,l){r.reason||(r.reason=new Fl(i,a,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new MP(function(o){t=o}),cancel:t}}};function WG(e){return function(n){return e.apply(null,n)}}function KG(e){return Ne.isObject(e)&&e.isAxiosError===!0}const uv={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,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(uv).forEach(([e,t])=>{uv[t]=e});function DP(e){const t=new va(e),n=vP(va.prototype.request,t);return Ne.extend(n,va.prototype,t,{allOwnKeys:!0}),Ne.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return DP(Sa(e,o))},n}const Fn=DP(hd);Fn.Axios=va;Fn.CanceledError=Fl;Fn.CancelToken=UG;Fn.isCancel=zP;Fn.VERSION=EP;Fn.toFormData=_u;Fn.AxiosError=Mt;Fn.Cancel=Fn.CanceledError;Fn.all=function(t){return Promise.all(t)};Fn.spread=WG;Fn.isAxiosError=KG;Fn.mergeConfig=Sa;Fn.AxiosHeaders=wr;Fn.formToJSON=e=>$P(Ne.isHTMLForm(e)?new FormData(e):e);Fn.getAdapter=AP.getAdapter;Fn.HttpStatusCode=uv;Fn.default=Fn;const{Axios:sX,AxiosError:dX,CanceledError:cX,isCancel:uX,CancelToken:fX,VERSION:hX,all:vX,Cancel:gX,isAxiosError:mX,spread:pX,toFormData:bX,AxiosHeaders:yX,HttpStatusCode:xX,formToJSON:wX,getAdapter:CX,mergeConfig:SX}=Fn,ws=Fn.create({baseURL:"/api",headers:{"Content-Type":"application/json"}});ws.interceptors.request.use(e=>{const n=window.location.pathname.startsWith("/admin")?localStorage.getItem("admin_token"):localStorage.getItem("user_token");return n&&(e.headers.Authorization=`Bearer ${n}`),e});ws.interceptors.response.use(e=>e,e=>{var n,r,o;if(!e.response&&e.request&&(e.code==="ECONNREFUSED"||((n=e.message)==null?void 0:n.includes("ECONNREFUSED"))||((r=e.message)==null?void 0:r.includes("Network Error"))||e.request.readyState===4&&e.request.status===0)){const i=window.__lastConnectionErrorTime||0,a=Date.now();a-i>5e3&&(window.__lastConnectionErrorTime=a,console.error("❌ 无法连接到后端服务器"),console.error(" 请确保后端服务器正在运行在 http://localhost:3000"),console.error("💡 启动方法:"),console.error(" - 开发模式: pnpm dev (同时启动前后端)"),console.error(" - 仅后端: pnpm --filter server dev"),console.error(" - 生产模式: pnpm start"))}return((o=e.response)==null?void 0:o.status)===401&&(window.location.pathname.startsWith("/admin")?(localStorage.removeItem("admin_token"),window.location.pathname.includes("/login")||(window.location.href="/admin/login")):(localStorage.removeItem("user_token"),window.location.pathname.includes("/login")||(window.location.href="/user/login"))),Promise.reject(e)});const qG=Ez("auth",()=>{const e=M(null),t=M(localStorage.getItem("user_token")),n=M(null),r=M(localStorage.getItem("admin_token"));async function o(u,f){const h=await ws.post("/auth/user/login",{email:u,apiKey:f}),{token:g,user:v}=h.data.data;return t.value=g,e.value=v,localStorage.setItem("user_token",g),{token:g,user:v}}async function i(u,f){const h=await ws.post("/auth/admin/login",{username:u,password:f}),{token:g,role:v}=h.data.data;return r.value=g,n.value=v,localStorage.setItem("admin_token",g),{token:g,role:v}}function a(){e.value=null,t.value=null,localStorage.removeItem("user_token")}function l(){n.value=null,r.value=null,localStorage.removeItem("admin_token")}function s(){a(),l()}async function d(){if(t.value&&!e.value)try{const u=await ws.get("/auth/user/me");e.value=u.data.data}catch{t.value=null,localStorage.removeItem("user_token")}}return{user:e,userToken:t,adminRole:n,adminToken:r,loginUser:o,loginAdmin:i,userLogout:a,adminLogout:l,logout:s,initUser:d}}),Iu=Jx(sq);Iu.use(zz());Iu.use(hP);Iu.use(eP);const YG=qG();YG.initUser();Iu.mount("#app");export{RR as $,ct as A,At as B,SL as C,Bg as D,ii as E,Ft as F,MK as G,QR as H,Dt as I,ws as J,GW as K,qW as L,IM as M,wj as N,FS as O,mH as P,bs as Q,Tt as R,nd as S,jt as T,Cl as U,Go as V,tq as W,K2 as X,PW as Y,NW as Z,_a as _,qG as a,bC as a0,Ez as a1,pU as a2,bU as a3,hn as a4,qS as a5,AN as a6,Fr as a7,HH as a8,tX as a9,z8 as aa,s2 as ab,Hs as ac,bS as ad,Hx as b,JG as c,te as d,QG as e,Hn as f,Ur as g,dl as h,oX as i,Vg as j,Dn as k,nX as l,eX as m,c as n,gc as o,R as p,iX as q,M as r,i$ as s,bT as t,LR as u,o$ as v,Gd as w,al as x,pc as y,ZG as z};
|