import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { sendCode, register, login } from "../api"; import { useAppStore } from "../stores/app"; import { useAuthStore } from "../stores/auth"; export default function Login() { const navigate = useNavigate(); const { account, code, nickname, isRegister, loading, setAccount, setCode, setNickname, setMode, setLoading } = useAuthStore(); const setUser = useAppStore((s) => s.setUser); const [status, setStatus] = useState(""); const isEmail = account.includes("@"); const canSendCode = account.length >= 6; const handleSendCode = async () => { setLoading(true); setStatus(""); try { const result = await sendCode(account); setStatus(result); } catch (e) { setStatus(String(e)); } finally { setLoading(false); } }; const handleSubmit = async () => { setLoading(true); setStatus(""); try { const email = isEmail ? account : null; const phone = isEmail ? null : account; const result = isRegister ? await register(email, phone, code, nickname || "时尚达人") : await login(email, phone, code); if (result.success && result.user) { setUser(result.user, result.token); navigate("/home", { replace: true }); } else { setStatus(result.message); } } catch (e) { setStatus(String(e)); } finally { setLoading(false); } }; return ( // 登录页: 上边框相对此前 0 下移一个行高 (20px), 同时避开状态栏/刘海
你的 AI 穿搭私人管家
{status}
}