// entrypoints/popup/pages/Login.tsx import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { Button, Input, Message, Form } from '@alifd/next'; export default function Login({ setIsLoggedIn }: { setIsLoggedIn: (loggedIn: boolean) => void }) { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const [errors, setErrors] = useState<{ username?: string, password?: string }>({}); const navigate = useNavigate(); const validateForm = () => { const newErrors: { username?: string, password?: string } = {}; if (!username.trim()) { newErrors.username = '请输入用户名'; } if (!password) { newErrors.password = '请输入密码'; } else if (password.length < 6) { newErrors.password = '密码长度至少为6位'; } setErrors(newErrors); return Object.keys(newErrors).length === 0; }; const evVerify = () => { } const handleLogin = (e: React.FormEvent) => { e.preventDefault(); if (!validateForm()) { return; } setLoading(true); // 模拟登录请求 setTimeout(() => { // 这里添加实际的登录逻辑 if (username && password) { // 模拟登录成功 localStorage.setItem('isLoggedIn', 'true'); setIsLoggedIn(true); // 跳转到首页 navigate('/'); Message.success('登录成功'); } else { Message.error('登录失败,请检查用户名和密码'); } setLoading(false); }, 1000); }; return (

系统登录

请输入您的账号和密码

{ setUsername(value); if (errors.username) { setErrors({ ...errors, username: undefined }); } }} disabled={loading} /> { setPassword(value); if (errors.password) { setErrors({ ...errors, password: undefined }); } }} disabled={loading} /> } autoComplete="off" />

忘记密码?请联系管理员

); }