"use client"; import { useState, Suspense } from "react"; import { useRouter, useSearchParams } from "next/navigation"; function LoginForm() { const router = useRouter(); const params = useSearchParams(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(""); try { const form = new URLSearchParams(); form.append("username", email); form.append("password", password); const r = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: form.toString(), }); const data = await r.json(); if (!r.ok) { setError(data.detail || "登录失败"); return; } localStorage.setItem("arb_token", data.access_token); router.push("/dashboard"); } catch { setError("网络错误,请重试"); } finally { setLoading(false); } }; return (
✅ 注册成功,请登录
)}登录后查看信号和账户信息
没有账号?注册