import{g as a,a8 as e,_ as s,u as l,$ as r,ak as o,a9 as t,aa as c,a3 as n,ab as i,o as p,k as u,m as d,w as m,l as f,t as g,n as v,v as h,aw as w,a6 as b,a7 as y,aR as _,ao as V}from"./vendor.be06958f.js";/* empty css *//* empty css *//* empty css */import{s as x}from"./index.c0a98caf.js";const k={class:"login-container"},j={class:"header"},q=(a=>(b("data-v-c7eaa19c"),a=a(),y(),a))((()=>f("h2",{class:"title"},"登录",-1))),C={class:"subtitle"},U={class:"captcha-wrapper"},R=["src"],$={__name:"Index",setup(b){var y;const $=null==(y=a())?void 0:y.appContext.config.globalProperties.$global,D=e({username:"",password:"",captcha:""}),I=e({username:[{required:!0,message:"手机号不能为空",trigger:"blur"}],password:[{required:!0,message:"密码不能为空",trigger:"blur"}],captcha:[{required:!0,message:"验证码不能为空",trigger:"blur"}]}),L=s(null),P=s(""),F=s(!1),K=l(),z=()=>{P.value=`/api/userLogin/generateCaptcha?t=${Date.now()}`},A=async()=>{L.value&&await L.value.validate((async a=>{if(a)try{F.value=!0;const a=new FormData;a.append("username",D.username),a.append("password",D.password),a.append("code",D.captcha),console.log('准备调用store.dispatch("login")',a),await x.dispatch("login",a),console.log('store.dispatch("login")调用成功');const e=K.currentRoute.value.query.redirect||"/welcome";console.log("跳转地址",e),_((()=>{window.location.href=e,K.replace(e),V.success("登录成功")}))}catch(e){console.error("登录错误详情:",e),z(),V.error(e.message||"登录失败")}finally{F.value=!1}else z()}))};return r((()=>{z()})),(a,e)=>{const s=o,l=t,r=c,b=n,y=i;return p(),u("div",k,[d(y,{ref_key:"formRef",ref:L,model:D,rules:I,onKeyup:w(A,["enter"])},{default:m((()=>{var a;return[f("div",j,[q,f("p",C,"欢迎使用"+g(null==(a=v($))?void 0:a.system.name)+"管理系统",1),d(s)]),d(r,{prop:"username",class:"form-item"},{default:m((()=>[d(l,{modelValue:D.username,"onUpdate:modelValue":e[0]||(e[0]=a=>D.username=a),placeholder:"请输入手机号","prefix-icon":"User",class:"input-item"},null,8,["modelValue"])])),_:1}),d(r,{prop:"password",class:"form-item"},{default:m((()=>[d(l,{modelValue:D.password,"onUpdate:modelValue":e[1]||(e[1]=a=>D.password=a),type:"password",placeholder:"请输入密码","prefix-icon":"Lock","show-password":"",class:"input-item"},null,8,["modelValue"])])),_:1}),d(r,{prop:"captcha",class:"form-item"},{default:m((()=>[f("div",U,[d(l,{modelValue:D.captcha,"onUpdate:modelValue":e[2]||(e[2]=a=>D.captcha=a),placeholder:"请输入验证码","prefix-icon":"Picture",class:"captcha-input input-item"},null,8,["modelValue"]),f("img",{src:P.value,class:"captcha-image",onClick:z},null,8,R)])])),_:1}),d(s,{class:"custom-divider"}),d(b,{type:"primary",class:"login-btn",loading:F.value,onClick:A},{default:m((()=>[h("登录")])),_:1},8,["loading"])]})),_:1},8,["model","rules"])])}},__scopeId:"data-v-c7eaa19c"};export{$ as default};