import { useState } from "react" import { useNavigate } from "react-router-dom" import { App, Button, Card, Form, Input, Typography } from "antd" import { AuthApi } from "@/api" import { useAppDispatch } from "@/store" import { setCurrentUser } from "@/store/auth-slice" import { LoginRequest } from "@/types" export default function LoginPage() { const navigate = useNavigate() const { message } = App.useApp() const dispatch = useAppDispatch() const [loading, setLoading] = useState(false) async function onFinish(values: LoginRequest) { setLoading(true) try { const user = await AuthApi.login(values) dispatch(setCurrentUser(user)) message.success(`欢迎回来,${user.username}`) navigate("/firearms") } catch { message.error("登录失败,请检查帐号或密码") } finally { setLoading(false) } } return (
登录 使用你的帐号登录后即可继续操作 layout="vertical" onFinish={onFinish} requiredMark={false}> name="principle" label="帐号" rules={[{ required: true, message: "请输入帐号" }]} > name="credential" label="密码" rules={[{ required: true, message: "请输入密码" }]} >
) }