import{af as e,z as a,A as l,t as s,d as r,Q as t,_ as o,aA as i,l as n,ao as d,a7 as p,a as m,aB as u,ae as c,p as f}from"./element-plus.DUy1TWHM.js";import{M as g,aD as b,ax as v,bE as h,aZ as y,aL as _,u as j,v as w,bb as x,bk as k,I as V,bJ as q,bM as C,s as U,H as z,t as M,ak as I,aU as K,aS as L,q as A}from"./@vue.DbmRtknU.js";import{u as F,a as P}from"./vue-router.yxIMtaxH.js";import{u as E}from"./vue-i18n.DXLOBfKS.js";import{t as S,v as B,w as D,K as H,_ as J}from"./index.B1CvNv-2.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./@intlify.DPMNdUn_.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";const R={"text-center":"","m-0":"","mb-20px":""},$={flex:"","items-center":"","gap-10px":"",class:"flex-1"},G={"cursor-pointer":"","flex-center":"","h-40px":"","w-100px":""},Q={class:"flex gap-10px"},Z={"flex-center":"","gap-10px":""},N=J(g({__name:"Login",props:{presetUsername:{},presetPassword:{}},emits:["update:modelValue"],setup(g,{emit:J}){const{t:N}=E(),O=S();B(),D();const T=K("password"),W=K(),X=K(!1),Y=K(!1),ee=K(0),ae=L({mobile:"",code:"",template_name:"verify"}),le=A(()=>({mobile:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号",trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur"},{length:6,message:"验证码长度为6位",trigger:"blur"}]})),se=g,re=F(),te=P();b(()=>{fe(),async function(){try{const e=await H.getAutoLoginUsers();me.value=e.data.data||[]}catch(e){}}()}),v(()=>{fe(),de.captcha=""}),h(()=>re.fullPath,()=>{fe(),de.captcha=""});const oe=K(),ie=K(!1),ne=K(!1),de=L({username:"",password:"",captcha:"",captcha_key:"",remember:!0,login_type:"PC端"});h(()=>[se.presetUsername,se.presetPassword],([e,a])=>{"string"==typeof e&&(de.username=e),"string"==typeof a&&(de.password=a)},{immediate:!0});const pe=L({enable:!0,key:"",img_base:""}),me=K([]);const ue=A(()=>{const e={username:[{required:!0,trigger:"blur",message:N("login.message.username.required")}],password:[{required:!0,trigger:"blur",message:N("login.message.password.required")},{min:6,message:N("login.message.password.min"),trigger:"blur"}]};return pe.enable&&(e.captcha=[{required:!0,trigger:"blur",message:N("login.message.captchaCode.required")}]),e}),ce=K(!1);async function fe(){try{ce.value=!0;const e=await H.getCaptcha();de.captcha_key=e.data.data.key,pe.img_base=e.data.data.img_base,pe.enable=e.data.data.enable}catch(e){pe.enable=!1,de.captcha="",de.captcha_key=""}finally{ce.value=!1}}async function ge(){var e;try{if(!(await(null==(e=oe.value)?void 0:e.validate())))return;ie.value=!0,await O.login(de);const a=be(re.query);await te.replace(a)}catch(a){a&&fe()}finally{ie.value=!1}}function be(e){const a=e.redirect||"/";try{const e=te.resolve(a);return{path:e.path,query:e.query}}catch{return{path:"/"}}}function ve(e){e instanceof KeyboardEvent&&(ne.value=e.getModifierState("CapsLock"))}async function he(){var e;try{if(!(await(null==(e=W.value)?void 0:e.validateField("mobile"))))return;Y.value=!0,await H.getSmsCode({mobile:ae.mobile,template_name:"verify"}),ee.value=60;const a=setInterval(()=>{ee.value--,ee.value<=0&&clearInterval(a)},1e3)}catch(a){}finally{Y.value=!1}}async function ye(){var e;try{if(!(await(null==(e=W.value)?void 0:e.validate())))return;X.value=!0,await O.sms_login(ae);const a=be(re.query);await te.replace(a)}finally{X.value=!1}}const _e=J;return(g,b)=>{const v=r,h=s,K=l,L=o,A=d,F=p,P=m,E=a,S=e,B=y("Iphone"),D=c,H=f;return _(),j("div",null,[w("h3",R,x(k(N)("login.login")),1),V(D,{modelValue:k(T),"onUpdate:modelValue":b[5]||(b[5]=e=>I(T)?T.value=e:null),class:"login-tabs",type:"card"},{default:q(()=>[V(S,{label:"账号登录",name:"password"},{default:q(()=>[V(E,{ref_key:"loginFormRef",ref:oe,model:k(de),rules:k(ue),size:"large","validate-on-rule-change":!1},{default:q(()=>[V(K,{prop:"username"},{default:q(()=>[V(h,{modelValue:k(de).username,"onUpdate:modelValue":b[0]||(b[0]=e=>k(de).username=e),modelModifiers:{trim:!0},placeholder:k(N)("login.username"),clearable:""},{prefix:q(()=>[V(v,null,{default:q(()=>[V(k(t))]),_:1})]),_:1},8,["modelValue","placeholder"])]),_:1}),V(L,{visible:k(ne),content:k(N)("login.capsLock"),placement:"right"},{default:q(()=>[V(K,{prop:"password"},{default:q(()=>[V(h,{modelValue:k(de).password,"onUpdate:modelValue":b[1]||(b[1]=e=>k(de).password=e),modelModifiers:{trim:!0},placeholder:k(N)("login.password"),type:"password","show-password":"",clearable:"",onKeyup:[ve,C(ge,["enter"])]},{prefix:q(()=>[V(v,null,{default:q(()=>[V(k(i))]),_:1})]),_:1},8,["modelValue","placeholder"])]),_:1})]),_:1},8,["visible","content"]),k(pe).enable?(_(),U(K,{key:0,prop:"captcha"},{default:q(()=>[w("div",$,[V(h,{modelValue:k(de).captcha,"onUpdate:modelValue":b[2]||(b[2]=e=>k(de).captcha=e),modelModifiers:{trim:!0},placeholder:k(N)("login.captchaCode"),clearable:"",class:"flex-1",onKeyup:C(ge,["enter"])},{prefix:q(()=>[...b[7]||(b[7]=[w("div",{class:"i-svg:captcha"},null,-1)])]),_:1},8,["modelValue","placeholder"]),w("div",G,[k(ce)?(_(),U(v,{key:0,class:"is-loading",size:"20"},{default:q(()=>[V(k(n))]),_:1})):k(pe).img_base?(_(),U(A,{key:1,"border-rd-4px":"","object-cover":"",shadow:"[0_0_0_1px_var(--el-border-color)_inset]",src:k(pe).img_base,class:"w-full h-full",onClick:fe},null,8,["src"])):(_(),U(F,{key:2,type:"info",size:"small"},{default:q(()=>[...b[8]||(b[8]=[z("点击获取验证码",-1)])]),_:1}))])])]),_:1})):M("",!0),V(K,null,{default:q(()=>[V(P,{loading:k(ie),type:"primary",class:"w-full",onClick:ge},{default:q(()=>[z(x(k(N)("login.login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),V(S,{label:"短信登录",name:"sms"},{default:q(()=>[V(E,{ref_key:"smsFormRef",ref:W,model:k(ae),rules:k(le),size:"large","validate-on-rule-change":!1},{default:q(()=>[V(K,{prop:"mobile"},{default:q(()=>[V(h,{modelValue:k(ae).mobile,"onUpdate:modelValue":b[3]||(b[3]=e=>k(ae).mobile=e),modelModifiers:{trim:!0},placeholder:"请输入手机号",clearable:""},{prefix:q(()=>[V(v,null,{default:q(()=>[V(B)]),_:1})]),_:1},8,["modelValue"])]),_:1}),V(K,{prop:"code"},{default:q(()=>[w("div",Q,[V(h,{modelValue:k(ae).code,"onUpdate:modelValue":b[4]||(b[4]=e=>k(ae).code=e),modelModifiers:{trim:!0},placeholder:"请输入验证码",clearable:"",class:"flex-1",onKeyup:C(ye,["enter"])},{prefix:q(()=>[V(v,null,{default:q(()=>[V(k(u))]),_:1})]),_:1},8,["modelValue"]),V(P,{disabled:k(ee)>0||!k(ae).mobile,loading:k(Y),class:"w-32",onClick:he},{default:q(()=>[z(x(k(ee)>0?`${k(ee)}s`:"获取验证码"),1)]),_:1},8,["disabled","loading"])])]),_:1}),V(K,null,{default:q(()=>[V(P,{loading:k(X),type:"primary",class:"w-full",onClick:ye},{default:q(()=>[z(x(k(N)("login.login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"])]),_:1})]),_:1},8,["modelValue"]),w("div",Z,[V(F,{size:"default"},{default:q(()=>[z(x(k(N)("login.noAccount")),1)]),_:1}),V(H,{type:"primary",underline:"never",onClick:b[6]||(b[6]=e=>{_e("update:modelValue","register")})},{default:q(()=>[z(x(k(N)("login.reg")),1)]),_:1})])])}}}),[["__scopeId","data-v-b2ad0c32"]]);export{N as default};