import { useNavigate } from 'react-router-dom' import { useEffect } from 'react' import { Button, Form, Input, Row, Radio, App } from 'antd' import { useTranslation } from 'react-i18next' import useAuthStore from '@/stores/Auth' import { appendRequestParams } from '@/utils/request' function Login() { const [authenticate, loginStatus, defaultRoute] = useAuthStore((state) => [state.authenticate, state.loginStatus, state.defaultRoute]) const { t, i18n } = useTranslation() const { notification } = App.useApp() const navigate = useNavigate() const [form] = Form.useForm() const handleLngChange = (lng) => { appendRequestParams('lgc', lng === 'zh' ? 2 : 1) i18n.changeLanguage(lng) } const defaultLng = i18n.language??'zh' appendRequestParams('lgc', defaultLng === 'zh' ? 2 : 1) useEffect (() => { if (loginStatus === 302) { navigate(defaultRoute) } }, [loginStatus]) const onFinish = (values) => { authenticate(values.username, values.password) .catch(ex => { console.error(ex) notification.error({ message: t('Validation.Title'), description: t('Validation.LoginFailed'), placement: 'top', duration: 4, }) }) } const onFinishFailed = (errorInfo) => { console.log('Failed:', errorInfo); } return (
handleLngChange(e.target.value)}> 中文 English
) } export default Login