import { connect, Icon, Dispatch } from 'umi'; import { Input, Form, Button, Checkbox } from 'antd'; import styles from './index.less'; import { rsaPsw } from '@/utils' import { useState, useEffect, FC } from 'react'; interface LoginProps { dispatch: Dispatch; } const View: FC = ({ dispatch, }) => { const [title, setTitle] = useState('login') const changeTitle = () => { setTitle((title) => title === 'login' ? 'register' : 'login') } const [form] = Form.useForm(); const [checkNick, setCheckNick] = useState(false); useEffect(() => { form.validateFields(['nickname']); }, [checkNick, form]); const onCheck = async () => { try { const params = await form.validateFields(); var rsaPassWord = rsaPsw(params.password) if (title === 'login') { dispatch({ type: 'loginModel/login', payload: { email: params.email, password: rsaPassWord } }); } else { dispatch({ type: 'loginModel/register', payload: { nickname: params.nickname, email: params.email, password: rsaPassWord, }, callback() { setTitle('login') } }); } } catch (errorInfo) { console.log('Failed:', errorInfo); } }; const formItemLayout = { labelCol: { span: 6 }, // wrapperCol: { span: 8 }, }; const toGoogle = () => { window.location.href = "https://github.com/login/oauth/authorize?scope=user:email&client_id=302129228f0d96055bee" } return (
{title === 'login' ? 'Sign in' : 'Create an account'}
{title === 'login' ? 'We’re so excited to see you again!' : 'Glad to have you on board!'}
{ title === 'register' && } { title === 'login' && Remember me }
{ title === 'login' && (
Don’t have an account?
) } { title === 'register' && (
Already have an account?
) }
{ title === 'login' && (<> ) }
); }; export default connect(({ loginModel, loading }) => ({ loginModel, loading }))(View);