import React, { useState } from 'react'; import { Form, Input, Button, Card, message } from 'antd'; import { UserOutlined, LockOutlined } from '@ant-design/icons'; import { useDispatch } from 'react-redux'; import { useNavigate } from 'react-router-dom'; import { loginStart, loginSuccess, loginFailure } from '../store/slices/authSlice'; import { adminAPI } from '../services/api'; const Login = () => { const [loading, setLoading] = useState(false); const dispatch = useDispatch(); const navigate = useNavigate(); const onFinish = async (values) => { setLoading(true); dispatch(loginStart()); try { const response = await adminAPI.login({ phone: values.phone, password: values.password, }); if (response.code === 0) { const userData = response.data; // 保存token和用户信息到localStorage localStorage.setItem('token', userData.token); localStorage.setItem('user', JSON.stringify(userData)); // 更新Redux状态 dispatch(loginSuccess(userData)); message.success('登录成功!'); // 跳转到首页 navigate('/'); } else { dispatch(loginFailure(response.message || '登录失败')); message.error(response.message || '登录失败'); } } catch (error) { const errorMessage = error.message || '登录失败,请检查用户名和密码'; dispatch(loginFailure(errorMessage)); message.error(errorMessage); } finally { setLoading(false); } }; return (
默认账号:13800138000
默认密码:123456