// app/login/page.tsx 'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { COOKIE_NAME, COOKIE_MAX_AGE } from '@/lib/constants'; export default function LoginPage() { const router = useRouter(); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); // 这里应该调用 API 验证,简化起见直接比对 // 实际项目中应该使用 API route 进行验证 const response = await fetch('/api/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, password }), }); if (response.ok) { router.push('/download'); } else { setError('用户名或密码错误'); } }; return (