'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' export default function LoginPage() { const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [error, setError] = useState('') const router = useRouter() const [loading, setLoading] = useState(false) // 新增加载状态 const handleLogin = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) // 开始加载 fetch(`${process.env.NEXT_PUBLIC_BASE_API_URL}/login`, { method: 'post', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username, password }), }).then(res => res.json()).then(data => { if (data.code === 200) { localStorage.setItem('token', data.token) document.cookie = `username=${username}; path=/` // 新增cookie设置 router.push('/') } else { setError('登录失败,请检查凭证') setLoading(false) } }) } return (

Login

setUsername(e.target.value)} required />
setPassword(e.target.value)} required />
{error &&

{error}

}
) }