LoginForm-393525fb.js 3.7 KB

1
  1. var f=(F,i,u)=>new Promise((l,y)=>{var x=t=>{try{d(u.next(t))}catch(p){y(p)}},S=t=>{try{d(u.throw(t))}catch(p){y(p)}},d=t=>t.done?l(t.value):Promise.resolve(t.value).then(x,S);d((u=u.apply(F,i)).next())});import{d as $,aj as q,o as O,f as w,r as E,Y as P,Z as Y,n as h,z as v,l as s,a7 as n,u as a,_ as j,E as A,$ as G,am as Z,F as H}from"./vue-b33f04cb.js";import{a as J,c as Q,b as W}from"./LoginFormTitle-3213ce66.js";import{a as X,f as ee,O as ae,Y as se,aq as te,ar as oe,as as L,at as re,_ as ne}from"./index.js";import{b as R}from"./uuid-31b8b5a4.js";import{s as le}from"./sysConfigApi-4f086771.js";import{aa as T,A as b,a6 as ce,a5 as U,B as ie}from"./antd-f204cf77.js";const ue=["src"],de=$({__name:"LoginForm",setup(F){const i=T.Item,u=b.Password,{t:l}=X(),{notification:y,createMessage:x}=re();ee("login");const S=ae(),{clientId:d,clientSecret:t}=se(),{getFormRules:p}=J(),z=q(),_=te.createBase64Encryption(),c=oe({prefixKey:""});O(()=>f(this,null,function*(){e.username=c.get("username")?_.decrypt(c.get("username")):"",e.password=c.get("password")?_.decrypt(c.get("password")):"",yield N()}));const K=w(),C=w(!1),M=w(!0),e=E({username:"",password:"",codeKey:R(),code:""}),m=E({loading:!1,captchaSrc:L(e.codeKey),showCaptcha:!0}),{validForm:V}=Q(K),I=w(!0);function k(){return f(this,null,function*(){e.codeKey=R(),m.captchaSrc=L(e.codeKey)})}function B(){return f(this,null,function*(){var o;const g=yield V();if(g)try{C.value=!0;const r=((o=z.query)==null?void 0:o.redirect)||"",D=yield S.login({username:g.username,password:g.password,loginType:"login",mode:"none",captchaKey:e.codeKey,captchaCode:e.code,grant_type:"",redirect:r,client_id:d,client_secret:t,captchaVerification:""});D&&(M.value?(c.set("username",_.encrypt(e.username)),c.set("password",_.encrypt(e.password))):(c.set("username",""),c.set("password","")),y.success({message:l("sys.login.loginSuccessTitle"),description:`${l("sys.login.loginSuccessDesc")}: ${D.nickname}`,duration:3}))}catch(r){k(),x.error(r.message||l("sys.api.networkExceptionMsg"))}finally{C.value=!1}})}function N(){return f(this,null,function*(){(yield le()).captchaOpen==1?m.showCaptcha=!0:m.showCaptcha=!1})}return(g,o)=>(P(),Y(H,null,[h(s(W,{class:"enter-x"},null,512),[[v,I.value]]),h(s(a(T),{class:"p-4 enter-x",model:e,rules:a(p),ref_key:"formRef",ref:K,onKeypress:Z(B,["enter"]),layout:"vertical"},{default:n(()=>[s(a(i),{name:"username",class:"enter-x",label:"用户名"},{default:n(()=>[s(a(b),{size:"large",value:e.username,"onUpdate:value":o[0]||(o[0]=r=>e.username=r),placeholder:a(l)("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),s(a(i),{name:"password",class:"enter-x",label:"密码"},{default:n(()=>[s(a(u),{size:"large",visibilityToggle:"",value:e.password,"onUpdate:value":o[1]||(o[1]=r=>e.password=r),placeholder:a(l)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),h(s(a(ce),{class:"enter-x flex-items-center"},{default:n(()=>[s(a(U),{span:"16"},{default:n(()=>[s(a(i),{class:"code-input",name:"code",label:"验证码"},{default:n(()=>[s(a(b),{size:"large",visibilityToggle:"",value:e.code,"onUpdate:value":o[2]||(o[2]=r=>e.code=r),placeholder:"验证码"},null,8,["value"])]),_:1})]),_:1}),s(a(U),{span:"8",class:"login-captcha"},{default:n(()=>[h(j("img",{src:m.captchaSrc,onClick:k,alt:"captcha",class:"code-image"},null,8,ue),[[v,!0]])]),_:1})]),_:1},512),[[v,m.showCaptcha]]),s(a(i),{class:"mt-10 enter-x"},{default:n(()=>[s(a(ie),{type:"primary",size:"large",block:"",onClick:B,loading:C.value},{default:n(()=>[A(G(a(l)("sys.login.loginButton")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules","onKeypress"]),[[v,I.value]])],64))}});const he=ne(de,[["__scopeId","data-v-91ba9925"]]);export{he as default};