Files
AIGC/demo/deploy_baota/frontend/static/Login-7248cf1e.js

2 lines
4.9 KiB
JavaScript
Raw Normal View History

2025-11-13 17:01:39 +08:00
import{_ as T,u as h,b as _}from"./index-2fb4354b.js";import{aA as E,aB as q,r as y,l as O,m as P,al as g,z as R,A,B as t,aD as I,R as d,J as v,O as u,P as w,u as k}from"./vue-vendor-164775a6.js";import{E as i}from"./element-plus-4a19e5e8.js";import"./utils-edfcd65b.js";const N={class:"login-page"},$={class:"login-card"},B={class:"login-form"},U={class:"email-login"},j={class:"email-input-group"},D={class:"quick-email-tags"},J={class:"code-input-group"},M={class:"test-accounts"},z={class:"account-list"},F={__name:"Login",setup(Q){const x=E(),m=q(),c=h(),n=y(0);let p=null;y("email");const s=O({email:"",code:""}),f=(o,e)=>{s.email=o,s.code=e},b=o=>{s.email=o};P(()=>{m.query.email?s.email=m.query.email:s.email="admin@example.com"});const L=async()=>{if(!s.email){i.warning("请先输入邮箱地址");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s.email)){i.warning("请输入正确的邮箱地址");return}try{const{buildApiURL:o}=await _(()=>import("./index-2fb4354b.js").then(l=>l.f),["static/index-2fb4354b.js","static/vue-vendor-164775a6.js","static/utils-edfcd65b.js","static/element-plus-4a19e5e8.js","static/index-462509e4.css"]),a=await(await fetch(o("/verification/email/send"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:s.email})})).json();a.success?(i.success("验证码已发送到您的邮箱"),V()):i.error(a.message||"发送失败")}catch(o){console.error("发送验证码失败:",o),i.error("网络错误,请稍后重试")}},V=()=>{n.value=60,p=setInterval(()=>{n.value--,n.value<=0&&(clearInterval(p),p=null)},1e3)},C=async()=>{if(!s.email){i.warning("请输入邮箱地址");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s.email)){i.warning("请输入正确的邮箱地址");return}if(!s.code){i.warning("请输入验证码");return}if(!/^\d{6}$/.test(s.code)){i.warning("验证码格式不正确请输入6位数字");return}try{console.log("开始登录...");let o;const{buildApiURL:e}=await _(()=>import("./index-2fb4354b.js").then(a=>a.f),["static/index-2fb4354b.js","static/vue-vendor-164775a6.js","static/utils-edfcd65b.js","static/element-plus-4a19e5e8.js","static/index-462509e4.css"]);try{const l=await(await fetch(e("/auth/login/email"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:s.email,code:s.code})})).json();l.success?(sessionStorage.setItem("token",l.data.token),sessionStorage.setItem("user",JSON.stringify(l.data.user)),c.user=l.data.user,c.token=l.data.token,o={success:!0}):o={success:!1,message:l.message}}catch(a){console.error("邮箱验证码登录失败:",a),o={success:!1,message:"网络错误,请稍后重试"}}if(o.success){console.log("登录成功,用户信息:",c.user),i.success("登录成功"),await new Promise(l=>setTimeout(l,200));const a=m.query.redirect||"/profile";console.log("准备跳转到:",a),await x.replace(a),console.log("路由跳转完成")}else i.error(o.message||"登录失败")}catch(o){console.error("Login error:",o),i.error("登录失败,请重试")}};return(o,e)=>{const a=g("el-input"),l=g("el-button"),S=g("el-divider");return R(),A("div",N,[e[10]||(e[10]=t("div",{class:"logo"},"Logo",-1)),t("div",$,[e[9]||(e[9]=I('<div class="card-logo" data-v-c008390f><div class="logo-icon" data-v-c008390f>Logo</div></div><div class="welcome-text" data-v-c008390f><h1 data-v-c008390f>欢迎来到 Logo</h1><p data-v-c008390f>智创无限,灵感变现</p></div><div class="login-title" data-v-c008390f><h2 data-v-c008390f>邮箱验证码登录</h2><p class="login-subtitle" data-v-c008390f>请输入邮箱地址,获取验证码后登录</p></div>',3)),t("div",B,[t("div",U,[t("div",j,[d(a,{modelValue:s.email,"onUpdate:modelValue":e[0]||(e[0]=r=>s.email=r),placeholder:"请输入邮箱地址",class:"email-input",type:"email"},null,8,["modelValue"]),t("div",D,[t("span",{class:"email-tag",onClick:e[1]||(e[1]=r=>b("984523799@qq.com"))},"984523799@qq.com")])]),t("div",J,[d(a,{modelValue:s.code,"onUpdate:modelValue":e[2]||(e[2]=r=>s.code=r),placeholder:"请输入验证码",class:"code-input"},null,8,["modelValue"]),d(l,{type