import{_ as P,r as t,o as j,b,z as g,d as e,f as D,p as M,i as E,C as V,n as x,t as B,l as U,u as z,I as K,k as O}from"./index-DGJ6dnLh.js";import{g as q,u as X,a as Y}from"./login-DCaIIcze.js";import A from"./ErrorDialog-COuvC4wX.js";import G from"./SuccessDialog-BpGtP4mq.js";const H="/assets/login_1-C3OEQVYC.jpg",J="/assets/login_2-mpXI1EkV.jpg",W="/assets/login_3-BOuqkKAR.jpg",Z={class:"login-form"},ee={class:"input-container"},se={key:0,class:"error-message"},ae={class:"input-container"},te={key:0,class:"error-message"},oe={class:"input-container captcha-container"},le={class:"captcha-wrapper"},re=["src"],ne={key:0,class:"error-message"},ue={class:"register-link"},ie={__name:"login_module",setup(N,{expose:I}){z();const n=t(""),l=t(""),u=t(""),v=t(""),k=t(""),f=t(""),_=t(""),c=t(""),d=t(!1),w=t("错误提示"),y=t(""),$=(p,a="错误提示")=>{y.value=p,w.value=a,d.value=!0},Q=async()=>{var p,a,o,C;try{const m=await q();v.value=`data:image/png;base64,${m.img}`,k.value=m.token,u.value=""}catch(m){console.error("获取验证码失败:",m);const r=((a=(p=m.response)==null?void 0:p.data)==null?void 0:a.detail)||((C=(o=m.response)==null?void 0:o.data)==null?void 0:C.message);$(r||"获取验证码失败,请刷新页面重试")}},S=async()=>{var p,a,o,C;try{if(!R())return;const m=await X(n.value,l.value,k.value,u.value);console.log("登录成功")}catch(m){if(console.error("登录失败:",m),m.response){const r=((a=(p=m.response)==null?void 0:p.data)==null?void 0:a.detail)||((C=(o=m.response)==null?void 0:o.data)==null?void 0:C.message);$(r||"登录失败,请稍后重试")}else $(m.message||"登录失败,请稍后重试");Q()}},R=()=>(f.value="",_.value="",c.value="",n.value?/^\d+$/.test(n.value)?n.value.length<4?(f.value="QQ号码长度不能小于4个字符",!1):l.value?l.value.length<4?(_.value="密码长度不能小于4个字符",!1):l.value.length>20?(_.value="密码长度不能超过20个字符",!1):u.value?u.value.length!==4?(c.value="验证码长度不正确",!1):!0:(c.value="请输入验证码",!1):(_.value="请输入密码",!1):(f.value="QQ号码只能包含数字",!1):(f.value="请输入QQ号码",!1));return I({resetForm:()=>{n.value="",l.value="",u.value="",f.value="",_.value="",c.value="",Q()}}),j(()=>{Q()}),(p,a)=>(g(),b("div",Z,[a[9]||(a[9]=e("div",null,"登陆",-1)),e("form",{class:"login-form-container",onSubmit:U(S,["prevent"])},[e("div",ee,[a[5]||(a[5]=e("label",{for:"username"},"QQ号",-1)),M(e("input",{type:"text",id:"username","onUpdate:modelValue":a[0]||(a[0]=o=>n.value=o),placeholder:"请输入QQ号",class:x({error:f.value})},null,2),[[V,n.value]]),f.value?(g(),b("span",se,B(f.value),1)):E("",!0)]),e("div",ae,[a[6]||(a[6]=e("label",{for:"password"},"密码",-1)),M(e("input",{type:"password",id:"password","onUpdate:modelValue":a[1]||(a[1]=o=>l.value=o),placeholder:"请输入密码",class:x({error:_.value})},null,2),[[V,l.value]]),_.value?(g(),b("span",te,B(_.value),1)):E("",!0)]),e("div",oe,[a[7]||(a[7]=e("label",{for:"captcha"},"验证码",-1)),e("div",le,[M(e("input",{type:"text",id:"captcha","onUpdate:modelValue":a[2]||(a[2]=o=>u.value=o),placeholder:"请输入验证码",class:x({error:c.value})},null,2),[[V,u.value]]),v.value?(g(),b("img",{key:0,src:v.value,alt:"验证码",class:"captcha-image",onClick:Q},null,8,re)):E("",!0)]),c.value?(g(),b("span",ne,B(c.value),1)):E("",!0)]),a[8]||(a[8]=e("div",{class:"login-button"},[e("button",{type:"submit"},"登录")],-1)),e("div",ue,[e("a",{onClick:a[3]||(a[3]=U(o=>p.$emit("register"),["prevent"]))},"注册账号")])],32),D(A,{visible:d.value,title:w.value,message:y.value,onClose:a[4]||(a[4]=o=>d.value=!1)},null,8,["visible","title","message"])]))}},ve=P(ie,[["__scopeId","data-v-edab4949"]]),ce={class:"login-form"},de={class:"input-container"},pe={key:0,class:"error-message"},me={class:"input-container"},ge={key:0,class:"error-message"},fe={class:"input-container"},_e={key:0,class:"error-message"},he={class:"input-container captcha-container"},be={class:"captcha-wrapper"},ke=["src"],we={key:0,class:"error-message"},ye={class:"register-link"},$e={__name:"register_module",emits:["login"],setup(N,{emit:I}){z();const n=t(""),l=t(""),u=t(""),v=t(""),k=t(""),f=t(""),_=I,c=t(""),d=t(""),w=t(""),y=t(""),$=t(!1),Q=t("错误提示"),S=t(""),R=t(!1),F=t(""),p=(r,s="错误提示")=>{S.value=r,Q.value=s,$.value=!0},a=r=>{F.value=r,R.value=!0},o=async()=>{var r,s,i,T;try{const h=await q();k.value=`data:image/png;base64,${h.img}`,f.value=h.token,v.value=""}catch(h){console.error("获取验证码失败:",h);const L=((s=(r=h.response)==null?void 0:r.data)==null?void 0:s.detail)||((T=(i=h.response)==null?void 0:i.data)==null?void 0:T.message);p(L||"获取验证码失败,请刷新页面重试")}};j(()=>{o()});const C=async()=>{var r,s,i,T;try{if(!m())return;await Y(n.value,l.value,f.value,v.value),a("注册成功!正在切换到登录页面..."),n.value="",l.value="",u.value="",v.value="",o(),setTimeout(()=>{_("login")},1500)}catch(h){if(console.error("注册失败:",h),h.response){const L=((s=(r=h.response)==null?void 0:r.data)==null?void 0:s.detail)||((T=(i=h.response)==null?void 0:i.data)==null?void 0:T.message);p(L||"注册失败,请稍后重试")}else p(h.message||"注册失败,请稍后重试");o()}},m=()=>(c.value="",d.value="",w.value="",y.value="",n.value?/^\d+$/.test(n.value)?l.value?l.value.length<6?(d.value="密码长度不能小于6个字符",!1):u.value?u.value!==l.value?(w.value="两次输入的密码不一致",!1):v.value?v.value.length!==4?(y.value="验证码长度不正确",!1):!0:(y.value="请输入验证码",!1):(w.value="请再次输入密码",!1):(d.value="请输入密码",!1):(c.value="QQ号只能包含数字",!1):(c.value="请输入QQ号码",!1));return(r,s)=>(g(),b("div",ce,[s[12]||(s[12]=e("div",null,"注册",-1)),e("form",{class:"login-form-container",onSubmit:U(C,["prevent"])},[e("div",de,[s[7]||(s[7]=e("label",{for:"username"},"QQ号",-1)),M(e("input",{type:"text",id:"username","onUpdate:modelValue":s[0]||(s[0]=i=>n.value=i),placeholder:"请输入QQ号",class:x({error:c.value})},null,2),[[V,n.value]]),c.value?(g(),b("span",pe,B(c.value),1)):E("",!0)]),e("div",me,[s[8]||(s[8]=e("label",{for:"password"},"密码",-1)),M(e("input",{type:"password",id:"password","onUpdate:modelValue":s[1]||(s[1]=i=>l.value=i),placeholder:"请输入密码",class:x({error:d.value})},null,2),[[V,l.value]]),d.value?(g(),b("span",ge,B(d.value),1)):E("",!0)]),e("div",fe,[s[9]||(s[9]=e("label",{for:"confirmPassword"},"再次输入密码",-1)),M(e("input",{type:"password",id:"confirmPassword","onUpdate:modelValue":s[2]||(s[2]=i=>u.value=i),placeholder:"请输入密码",class:x({error:w.value})},null,2),[[V,u.value]]),w.value?(g(),b("span",_e,B(w.value),1)):E("",!0)]),e("div",he,[s[10]||(s[10]=e("label",{for:"captcha"},"验证码",-1)),e("div",be,[M(e("input",{type:"text",id:"captcha","onUpdate:modelValue":s[3]||(s[3]=i=>v.value=i),placeholder:"请输入验证码",class:x({error:y.value})},null,2),[[V,v.value]]),k.value?(g(),b("img",{key:0,src:k.value,alt:"验证码",class:"captcha-image",onClick:o},null,8,ke)):E("",!0)]),y.value?(g(),b("span",we,B(y.value),1)):E("",!0)]),s[11]||(s[11]=e("div",{class:"login-button"},[e("button",{type:"submit"},"注册")],-1)),e("div",ye,[e("a",{onClick:s[4]||(s[4]=U(i=>r.$emit("login"),["prevent"]))},"返回登陆")])],32),D(A,{visible:$.value,title:Q.value,message:S.value,onClose:s[5]||(s[5]=i=>$.value=!1)},null,8,["visible","title","message"]),D(G,{visible:R.value,message:F.value,onClose:s[6]||(s[6]=i=>R.value=!1)},null,8,["visible","message"])]))}},Ee=P($e,[["__scopeId","data-v-88a59b8d"]]),Qe={class:"login-container"},Ce={class:"bg-container"},Me=["src"],Ve={class:"content-container"},xe={class:"form-content"},Be={__name:"Login",setup(N){const I=[H,J,W],n=Math.floor(Math.random()*I.length),l=t(I[n]),u=z(),v=t(!1),k=t(null),f=()=>{u.push("/")},_=()=>{v.value=!1,setTimeout(()=>{k.value&&k.value.resetForm()},0)};return j(()=>{K()&&u.replace("/")}),(c,d)=>(g(),b("div",Qe,[e("div",Ce,[e("img",{src:l.value,alt:"登录背景"},null,8,Me)]),d[1]||(d[1]=e("div",{class:"bottom-text"},[e("p",null,"© Byz解忧杂货铺")],-1)),e("div",Ve,[e("button",{class:"back-btn",onClick:f,title:"返回主界面"}," 返回主界面 "),e("div",xe,[v.value?(g(),O(Ee,{key:1,onLogin:_})):(g(),O(ve,{key:0,ref_key:"loginModuleRef",ref:k,onRegister:d[0]||(d[0]=w=>v.value=!0)},null,512))])])]))}},Se=P(Be,[["__scopeId","data-v-b1f7984f"]]);export{Se as default};