import { useState } from 'react'
import { Shield, Lock, AlertCircle, Loader2, LogIn } from 'lucide-react'
import { api, setToken } from '@/lib/api'
import { setStoredUser } from '@/lib/auth'
interface LoginFormProps {
onSuccess: () => void
}
export function LoginForm({ onSuccess }: LoginFormProps) {
const [username, setUsername] = useState('')
const [password, setPassword] = useState('')
const [error, setError] = useState('')
const [loading, setLoading] = useState(false)
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault()
setError('')
if (!username.trim() || !password.trim()) {
setError('请输入用户名和密码')
return
}
setLoading(true)
try {
const res = await api.login({ username: username.trim(), password })
setToken(res.token)
setStoredUser(res.user)
onSuccess()
} catch (err: any) {
setError(err?.message || '登录失败,请稍后重试')
} finally {
setLoading(false)
}
}
return (
请输入用户名和密码进入系统。
登录账号