import { useState, type Dispatch, type FC, type SetStateAction } from "react"; import { Dialog, DialogContent, DialogDescription, DialogTitle, } from "./ui/dialog"; import { Input } from "./ui/input"; import { Button } from "./ui/button"; import { LoginApi, MeApi } from "@/api"; import { message } from "@/utils/message"; import { useUserStore } from "@/stores"; interface LoginProps { className?: string; isOpen: boolean; setIsOpen: Dispatch>; } const Login: FC = ({ className = "", isOpen, setIsOpen }) => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const { user, setUser } = useUserStore(); const handlerLogin = async () => { // console.log(username, password); const data = { username, password }; const res = await LoginApi({ data }); if (res.code === 0) { const res2 = await MeApi({}); if (res2.code !== 0) { message(res2.msg); return; } setUser(res2.data); setIsOpen(false); setUsername(""); setPassword(""); message("登录成功!"); } else { message(res.msg); } }; return (
setIsOpen(!isOpen)}> Login View
用户名: setUsername(e.target.value)} placeholder="请输入用户名" />
密码: setPassword(e.target.value)} placeholder="请输入密码" />
); }; export default Login;