king
2024-10-11 6ca240a14ccf55d4e0a94fff77e95f64db2cdfcc
src/components/header/loginform.jsx
@@ -3,8 +3,6 @@
import { Form, Input, Checkbox } from 'antd'
import { UserOutlined, LockOutlined } from '@ant-design/icons'
import zhCN from '@/locales/zh-CN/login.js'
import enUS from '@/locales/en-US/login.js'
import './index.scss'
class HeaderLoginForm extends Component {
@@ -13,17 +11,15 @@
  }
  state = {
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    remember: false,
    lock: false,
    username: '',
    password: '',
    oripassword: '',
    delay: +sessionStorage.getItem('mkDelay')
  }
  UNSAFE_componentWillMount () {
    let _url = window.location.href.split('#')[0] + 'cloud'
    let _user = localStorage.getItem(_url)
    let _user = localStorage.getItem(window.GLOB.sysSign + 'cloud')
    
    if (_user) {
      try {
@@ -36,29 +32,24 @@
    if (_user && new Date().getTime() - _user.time > 1000 * 7 * 24 * 60 * 60) {
      _user = ''
      localStorage.removeItem(_url)
      localStorage.removeItem(window.GLOB.sysSign + 'cloud')
    }
    if (_user) {
      this.setState({
        remember: true,
        username: _user.username,
        password: _user.password ? '*********' : '',
        oripassword: _user.password
        password: _user.password,
        lock: true
      })
    }
  }
  handleConfirm = () => {
    const { oripassword } = this.state
    // 表单提交时检查输入值是否正确
    return new Promise((resolve, reject) => {
      this.props.form.validateFieldsAndScroll((err, values) => {
        if (!err) {
          if (oripassword && values.password === '*********') {
            values.password = oripassword
          }
          values.username = values.username.replace(/\t+|\v+|\s+/g, '')
          values.password = values.password.replace(/\t+|\v+|\s+/g, '')
@@ -86,11 +77,16 @@
  rememberChange = (e) => {
    let val = e.target.checked
    let _url = window.location.href.split('#')[0] + 'cloud'
    if (!val) {
      localStorage.removeItem(_url)
      localStorage.removeItem(window.GLOB.sysSign + 'cloud')
    }
  }
  unLock = (e) => {
    if (e.target.value) return
    this.setState({ lock: false })
  }
  componentDidMount () {
@@ -107,7 +103,7 @@
  render() {
    const { getFieldDecorator } = this.props.form
    const { remember, username, password, delay } = this.state
    const { remember, username, password, delay, lock } = this.state
    return (
      <Form style={{margin: '0px 10px'}}>
@@ -116,12 +112,12 @@
        </Form.Item> : null}
        <Form.Item style={{marginBottom: '0px', height: '60px'}}>
          {getFieldDecorator('username', {
            rules: [{ required: true, message: this.state.dict['login.username.empty'] }],
            rules: [{ required: true, message: '请输入用户名' }],
            initialValue: username,
          })(
            <Input
              prefix={<UserOutlined style={{ color: 'rgba(0,0,0,.25)' }}/>}
              placeholder={this.state.dict['login.username']}
              placeholder="用户名"
              autoComplete="off"
              onPressEnter={(e) => {this.handleSubmit(e, 'password')}}
            />
@@ -133,10 +129,10 @@
            rules: [
              {
                required: true,
                message: this.state.dict['login.password.empty'],
                message: '请输入密码',
              }
            ]
          })(<Input.Password onPressEnter={(e) => {this.handleSubmit(e, 'username')}} placeholder={this.state.dict['login.password']} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)}
          })(<Input.Password onPressEnter={(e) => {this.handleSubmit(e, 'username')}} placeholder="密码" visibilityToggle={!lock} onChange={this.unLock} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)}
        </Form.Item>
        {window.GLOB.keepKey ? <Form.Item style={{marginBottom: '10px'}}>
          {getFieldDecorator('remember', {