import { FormEvent, useState } from "react"; import { api, type Session, tokenStore } from "./api"; import { Brand, Icon, navigate } from "./ui"; export function LoginPage({ onLogin }: { onLogin: (session: Session) => void }) { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); async function submit(event: FormEvent) { event.preventDefault(); setError(""); setLoading(true); try { const response = await api.login(username.trim(), password); tokenStore.set(response.accessToken); onLogin(response.session); } catch (reason) { setError(reason instanceof Error ? reason.message : "登录失败"); } finally { setLoading(false); } } return

登录开放平台

使用平台管理员账号,或由管理员创建的合作伙伴账号。

{error &&
{error}
}

两类账号,同一入口管理员使用内部车辆平台身份;合作伙伴使用独立开放平台账号。

; }