import React, { useEffect, lazy } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { Button, TextField } from '@material-ui/core'; import PermIdentity from '@material-ui/icons/PermIdentity'; import LockOpen from '@material-ui/icons/LockOpen'; import './index.less'; import Snackbar from '@material-ui/core/Snackbar'; import MuiAlert from '@material-ui/lab/Alert'; import { useHistory } from 'react-router'; import loginService from '../../models/_/login'; import { useDispatch, useSelector } from 'react-redux'; import config from '../../config'; const ReactLazyPreload = importStatement => { const Component = React.lazy(importStatement); Component.preload = importStatement; return Component; }; const Home = ReactLazyPreload(() => import("../Home") ); function Alert(props) { return ; } function Login() { const [open, setOpen] = React.useState(false); const { handleSubmit, control, formState: { errors } } = useForm({ mode: 'onSubmit' }); const history = useHistory(); const logoDisplaying = useSelector(s => s.runtime.logoDisplaying); const dispatch = useDispatch(); useEffect(() => { Home.preload(); }, []); useEffect(() => { if (logoDisplaying) { setTimeout(() => { dispatch.runtime.setLogoDisplaying(false); }, 10000); } }, [logoDisplaying]); const logoEnd = () => { dispatch.runtime.setLogoDisplaying(false); } const onSubmit = async (data) => { const user = await loginService.auth(data); if (user) { history.push('/v/home'); } else { // 提示错误信息 setOpen(true); } } const handleClose = (event, reason) => { if (reason === 'clickaway') { return; } setOpen(false); }; return ( logoDisplaying ? (
) : (

{config.title}

用户名或密码错误!
( )} defaultValue="" rules={{ required: '必填' }} />
( )} defaultValue="" rules={{ required: '必填' }} />
) ) } export default Login