import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { Form, Input, Button, Card, message, Typography } from 'antd'; import { UserOutlined, LockOutlined } from '@ant-design/icons'; import api from '../../api'; const { Title } = Typography; const LoginPage: React.FC = () => { const [loading, setLoading] = useState(false); const navigate = useNavigate(); const onFinish = async (values: any) => { setLoading(true); try { const res: any = await api.post('/auth/login', values); localStorage.setItem('token', res.access_token); localStorage.setItem('user', JSON.stringify(res.user)); localStorage.setItem('permissions', JSON.stringify(res.user.permissions || [])); message.success('登录成功'); navigate('/dashboard'); } catch (err: any) { message.error(err?.message || '登录失败'); } finally { setLoading(false); } }; return (
水电费精准计费平台