import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { App as AntApp, Button } from "antd"; import { UserOutlined, LockOutlined, DownOutlined } from "@ant-design/icons"; import { login } from "@/api/auth"; import { useAppDispatch } from "@/store"; import { loginSucceeded } from "@/store/authSlice"; import { COMPANIES } from "@/utils/data"; export default function Login() { const navigate = useNavigate(); const dispatch = useAppDispatch(); const { message } = AntApp.useApp(); const [user, setUser] = useState("admin"); const [pass, setPass] = useState("666666"); const [companyId, setCompanyId] = useState("std"); const [companyOpen, setCompanyOpen] = useState(false); const [submitting, setSubmitting] = useState(false); const company = COMPANIES.find((c) => c.id === companyId); const submit = async (e?: React.FormEvent) => { e?.preventDefault(); if (!user || !pass) return; setSubmitting(true); try { const data = await login(user, pass, companyId); dispatch( loginSucceeded({ token: data.accessToken, user: data.user, companyId, companyName: company?.name ?? companyId, }) ); message.success("登录成功"); navigate("/home", { replace: true }); } catch { // message.error already shown by interceptor } finally { setSubmitting(false); } }; return (