Account.js 2.1 KB
/*
 * @Title:
 * @Author: hongmye
 * @Date: 2024-11-28 14:47:37
 */
import { Form, Checkbox } from 'antd';
import React from 'react';
import { useIntl } from '@wisdom-utils/components';
import LoginForm from '../../../components/Login';
import LoginMessage from '../../../js/loginMessage';
import iconValidate from './images/验证码.png';
import passIcon from './images/密码.png';
import userIcon from './images/账号.png';

import styles from './index.less';
/* eslint-disable */
const { UserName, Password, Validate, Submit } = LoginForm;
const useAccount = props => (
  <LoginForm onSubmit={props.onSubmit} welcome={props.welcome}>
    {props.status === 'error' && props.type === 'account' && !props.submitting && (
      <LoginMessage
        content={useIntl().formatMessage({
          id: 'pages.login.accountLogin.errorMessage',
        })}
      />
    )}
    <UserName
      name="userName"
      placeholder={useIntl().formatMessage({
        id: 'pages.login.username.placeholder',
      })}
      prefix={<img src={passIcon} width={15} />}
      rules={[
        {
          required: true,
          message: useIntl().formatMessage({
            id: 'pages.login.username.required',
          }),
        },
      ]}
    />
    <Password
      name="password"
      placeholder={useIntl().formatMessage({
        id: 'pages.login.password.placeholder',
      })}
      prefix={<img src={userIcon} width={15} />}
      rules={[
        {
          required: true,
          message: useIntl().formatMessage({
            id: 'pages.login.password.required',
          }),
        },
      ]}
    />
    {props?.isValidate ? <Validate name="validate" prefix={<img src={iconValidate} width={15} />} /> : null}
    <div>
      <Checkbox checked={props.autoLogin} onChange={e => props.setAutoLogin(e.target.checked)}>
        {useIntl().formatMessage({ id: 'pages.login.rememberMe' })}
      </Checkbox>
    </div>

    <Submit className={styles.submitBtn} loading={props.submitting} rest={{ type: 'text' }}>
      {useIntl().formatMessage({ id: 'pages.login.submit' })}
    </Submit>
  </LoginForm>
);

export default useAccount;