import { useState } from 'react'; import { Form, Input, Button, Tabs, App as AntApp, Alert } from 'antd'; import { useNavigate, useSearchParams } from 'react-router-dom'; import { useAuth } from '../store/auth'; export default function LoginPage() { const [tab, setTab] = useState<'login' | 'register'>('login'); const navigate = useNavigate(); const [params] = useSearchParams(); const next = params.get('next') || '/'; const { login, register } = useAuth(); const { message } = AntApp.useApp(); const [loading, setLoading] = useState(false); const onLogin = async (values: any) => { setLoading(true); try { await login(values.email, values.password); message.success('登录成功'); navigate(next, { replace: true }); } catch (e: any) { message.error(e?.response?.data?.error ?? e?.message ?? '登录失败'); } finally { setLoading(false); } }; const onRegister = async (values: any) => { setLoading(true); try { await register({ email: values.email, password: values.password, name: values.name, inviteCode: values.inviteCode || undefined }); message.success('注册成功,已自动登录'); navigate(next, { replace: true }); } catch (e: any) { message.error(e?.response?.data?.error ?? e?.message ?? '注册失败'); } finally { setLoading(false); } }; return (
A
Agent Studio

为你的工作流构建
专属 AI 智能体

可视化编排提示词、知识库与工具,让每一位团队成员都能调用最契合的 AI 能力。

{[ { icon: '✦', text: '多模型即插即用' }, { icon: '✦', text: '知识库 + RAG 检索' }, { icon: '✦', text: '可分享智能体' } ].map((it) => (
{it.icon} {it.text}
))}

欢迎回来

使用邮箱登录或注册以继续
setTab(k as any)} items={[ { key: 'login', label: '登录', children: (
) }, { key: 'register', label: '注册', children: (
) } ]} />
登录即表示你已同意我们的服务条款与隐私政策
); }