2 lines
2.9 KiB
JavaScript
2 lines
2.9 KiB
JavaScript
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 d,m as u,w as m,l as g,t as f,n as v,v as h,av as w,a6 as b,a7 as y,aO as _,ao as V}from"./vendor.7d62357a.js";/* empty css *//* empty css *//* empty css */import{s as x}from"./index.b524af77.js";const k={class:"login-container"},j={class:"header"},q=(a=>(b("data-v-c7eaa19c"),a=a(),y(),a))((()=>g("h2",{class:"title"},"登录",-1))),C={class:"subtitle"},U={class:"captcha-wrapper"},$=["src"],D={__name:"Index",setup(b){var y;const D=null==(y=a())?void 0:y.appContext.config.globalProperties.$global,I=e({username:"",password:"",captcha:""}),L=e({username:[{required:!0,message:"手机号不能为空",trigger:"blur"}],password:[{required:!0,message:"密码不能为空",trigger:"blur"}],captcha:[{required:!0,message:"验证码不能为空",trigger:"blur"}]}),P=s(null),R=s(""),F=s(!1),K=l(),O=()=>{R.value=`/api/userLogin/generateCaptcha?t=${Date.now()}`},z=async()=>{P.value&&await P.value.validate((async a=>{if(a)try{F.value=!0;const a=new FormData;a.append("username",I.username),a.append("password",I.password),a.append("code",I.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),O(),V.error(e.message||"登录失败")}finally{F.value=!1}else O()}))};return r((()=>{O()})),(a,e)=>{const s=o,l=t,r=c,b=n,y=i;return p(),d("div",k,[u(y,{ref_key:"formRef",ref:P,model:I,rules:L,onKeyup:w(z,["enter"])},{default:m((()=>{var a;return[g("div",j,[q,g("p",C,"欢迎使用"+f(null==(a=v(D))?void 0:a.system.name)+"管理系统",1),u(s)]),u(r,{prop:"username",class:"form-item"},{default:m((()=>[u(l,{modelValue:I.username,"onUpdate:modelValue":e[0]||(e[0]=a=>I.username=a),placeholder:"请输入手机号","prefix-icon":"User",class:"input-item"},null,8,["modelValue"])])),_:1}),u(r,{prop:"password",class:"form-item"},{default:m((()=>[u(l,{modelValue:I.password,"onUpdate:modelValue":e[1]||(e[1]=a=>I.password=a),type:"password",placeholder:"请输入密码","prefix-icon":"Lock","show-password":"",class:"input-item"},null,8,["modelValue"])])),_:1}),u(r,{prop:"captcha",class:"form-item"},{default:m((()=>[g("div",U,[u(l,{modelValue:I.captcha,"onUpdate:modelValue":e[2]||(e[2]=a=>I.captcha=a),placeholder:"请输入验证码","prefix-icon":"Picture",class:"captcha-input input-item"},null,8,["modelValue"]),g("img",{src:R.value,class:"captcha-image",onClick:O},null,8,$)])])),_:1}),u(s,{class:"custom-divider"}),u(b,{type:"primary",class:"login-btn",loading:F.value,onClick:z},{default:m((()=>[h("登录")])),_:1},8,["loading"])]})),_:1},8,["model","rules"])])}},__scopeId:"data-v-c7eaa19c"};export{D as default};
|