import{r as w,X as I,h as R,aB as U,aA as B,y as M,A as s,Q as o,I as t,V as S,al as u,M as n,z as F,u as f,a4 as L,O as T}from"./vendor-C3mpOp0n.js";import{_ as $,u as A}from"./index-BlP3rxMf.js";import{a as E,u as N,p as P,l as D}from"./elementPlus-DFx51bSH.js";import{C as K}from"./Captcha-BFJ1zi5J.js";const H={class:"login-page"},O={class:"login-container"},Q={class:"login-card"},X={class:"form-options"},j={class:"login-footer"},G={class:"quick-login"},J={class:"demo-accounts"},W={__name:"Login",setup(Y){const h=B(),b=U(),p=A(),g=w(),d=w(),a=I({username:"",password:"",captcha:""}),_=w(!1),x={username:[{required:!0,message:"请输入用户名或邮箱",trigger:"blur"},{min:3,message:"用户名至少3个字符",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码至少6个字符",trigger:"blur"}],captcha:[{required:!0,message:"请输入验证码",trigger:"blur"},{min:4,max:4,message:"验证码为4位字符",trigger:"blur"}]},v=async()=>{if(!(!g.value||!d.value))try{if(!await g.value.validate())return;if(!await d.value.verifyCaptcha(a.captcha)){a.captcha="";return}const c=d.value.getCaptchaInfo(),i={username:a.username,password:a.password,captchaId:c.captchaId,captchaText:c.captchaText};if((await p.login(i)).success){const m=b.query.redirect||"/transfers";h.push(m)}}catch(l){console.error("登录失败:",l),d.value&&await d.value.refreshCaptcha(),a.captcha=""}},V=async l=>{l==="admin"?(a.username="admin",a.password="admin123"):(a.username="user",a.password="user123"),a.captcha="",E.info("请输入验证码后登录")},C=()=>{D.alert("请联系管理员重置密码,或使用演示账号进行体验。","忘记密码",{confirmButtonText:"确定",type:"info"})};return R(()=>{if(p.isAuthenticated){const e=b.query.redirect||"/transfers";h.push(e)}const l=localStorage.getItem("rememberedUsername");l&&(a.username=l,_.value=!0)}),(l,e)=>{const c=u("el-input"),i=u("el-form-item"),k=u("el-checkbox"),m=u("el-link"),y=u("el-button"),q=u("el-form"),z=u("el-divider");return F(),M("div",H,[s("div",O,[s("div",Q,[e[14]||(e[14]=s("div",{class:"login-header"},[s("h2",null,"用户登录"),s("p",null,"欢迎回到前端H5系统")],-1)),o(q,{ref_key:"loginFormRef",ref:g,model:a,rules:x,class:"login-form",onSubmit:S(v,["prevent"])},{default:t(()=>[o(i,{prop:"username"},{default:t(()=>[o(c,{modelValue:a.username,"onUpdate:modelValue":e[0]||(e[0]=r=>a.username=r),placeholder:"请输入用户名或邮箱",size:"large","prefix-icon":f(N),clearable:""},null,8,["modelValue","prefix-icon"])]),_:1}),o(i,{prop:"password"},{default:t(()=>[o(c,{modelValue:a.password,"onUpdate:modelValue":e[1]||(e[1]=r=>a.password=r),type:"password",placeholder:"请输入密码",size:"large","prefix-icon":f(P),"show-password":"",clearable:"",onKeyup:L(v,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),o(i,{prop:"captcha"},{default:t(()=>[o(K,{ref_key:"captchaRef",ref:d,modelValue:a.captcha,"onUpdate:modelValue":e[2]||(e[2]=r=>a.captcha=r),placeholder:"请输入验证码",size:"large"},null,8,["modelValue"])]),_:1}),o(i,null,{default:t(()=>[s("div",X,[o(k,{modelValue:_.value,"onUpdate:modelValue":e[3]||(e[3]=r=>_.value=r)},{default:t(()=>e[7]||(e[7]=[n("记住我")])),_:1,__:[7]},8,["modelValue"]),o(m,{type:"primary",onClick:C},{default:t(()=>e[8]||(e[8]=[n(" 忘记密码? ")])),_:1,__:[8]})])]),_:1}),o(i,null,{default:t(()=>[o(y,{type:"primary",size:"large",class:"login-button",loading:f(p).loading,onClick:v},{default:t(()=>[n(T(f(p).loading?"登录中...":"登录"),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),s("div",j,[s("p",null,[e[10]||(e[10]=n(" 还没有账号? ")),o(m,{type:"primary",onClick:e[4]||(e[4]=r=>l.$router.push("/register"))},{default:t(()=>e[9]||(e[9]=[n(" 立即注册 ")])),_:1,__:[9]})])]),s("div",G,[o(z,null,{default:t(()=>e[11]||(e[11]=[n("快速登录")])),_:1,__:[11]}),s("div",J,[o(y,{type:"info",plain:"",size:"small",onClick:e[5]||(e[5]=r=>V("admin"))},{default:t(()=>e[12]||(e[12]=[n(" 管理员账号 ")])),_:1,__:[12]}),o(y,{type:"success",plain:"",size:"small",onClick:e[6]||(e[6]=r=>V("user"))},{default:t(()=>e[13]||(e[13]=[n(" 普通用户 ")])),_:1,__:[13]})])])])]),e[15]||(e[15]=s("div",{class:"background-decoration"},[s("div",{class:"decoration-circle circle-1"}),s("div",{class:"decoration-circle circle-2"}),s("div",{class:"decoration-circle circle-3"})],-1))])}}},se=$(W,[["__scopeId","data-v-736bd32a"]]);export{se as default};