Files
AIGC/demo/deploy_baota/frontend/static/Login-7248cf1e.js
2025-11-13 17:01:39 +08:00

2 lines
4.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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:"primary",plain:"",class:"get-code-btn",disabled:n.value>0,onClick:L},{default:v(()=>[u(w(n.value>0?`${n.value}s`:"获取验证码"),1)]),_:1},8,["disabled"])])]),d(l,{type:"primary",class:"login-button",loading:k(c).loading,onClick:C},{default:v(()=>[u(w(k(c).loading?"登录中...":"登陆/注册"),1)]),_:1},8,["loading"]),e[8]||(e[8]=t("p",{class:"agreement-text"}," 登录即表示您同意遵守用户协议和隐私政策 ",-1)),t("div",M,[d(S,null,{default:v(()=>[...e[5]||(e[5]=[u("测试邮箱",-1)])]),_:1}),t("div",z,[t("div",{class:"account-item",onClick:e[3]||(e[3]=r=>f("admin@example.com","123456"))},[...e[6]||(e[6]=[t("strong",null,"管理员:",-1),u(" admin@example.com ",-1)])]),t("div",{class:"account-item",onClick:e[4]||(e[4]=r=>f("13689270819@example.com","123456"))},[...e[7]||(e[7]=[t("strong",null,"普通用户:",-1),u(" 13689270819@example.com ",-1)])])])])])])])}}},X=T(F,[["__scopeId","data-v-c008390f"]]);export{X as default};