import { Button, Checkbox, Form, Input, message, Typography } from "antd"; import { useEffect, useState } from "react"; import { fetchCaptcha, login, type CaptchaResponse } from "../api/auth"; import { getCurrentUser } from "../api"; import "./Login.css"; const { Title, Text, Link } = Typography; export default function Login() { const [captcha, setCaptcha] = useState(null); const [loading, setLoading] = useState(false); const [form] = Form.useForm(); const loadCaptcha = async () => { try { const data = await fetchCaptcha(); setCaptcha(data); } catch (e) { message.error("加载验证码失败"); } }; useEffect(() => { loadCaptcha(); }, []); const onFinish = async (values: any) => { setLoading(true); try { const data = await login({ username: values.username, password: values.password, captchaId: captcha?.captchaId || "", captchaCode: values.captchaCode }); localStorage.setItem("accessToken", data.accessToken); localStorage.setItem("refreshToken", data.refreshToken); localStorage.setItem("username", values.username); try { const profile = await getCurrentUser(); sessionStorage.setItem("userProfile", JSON.stringify(profile)); } catch (e) { sessionStorage.removeItem("userProfile"); } message.success("登录成功"); window.location.href = "/"; } catch (e: any) { message.error(e.message || "登录失败"); loadCaptcha(); } finally { setLoading(false); } }; return (
logo MeetingAI

智能会议
实时语音处理
系统

全流程自动化会议记录,声纹识别与智能摘要
提升团队协作效率的新一代解决方案。

企业级安全
多语言支持
账号登录 欢迎回来,请登录您的账号
{captcha ? ( captcha ) : (
)}
记住我 忘记密码?
默认账号:admin / 密码:123456
); }