/** * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug * Copyright (c) * Released under the MIT License. */ import React from 'react'; import {Form, Input, Icon, Button, Tabs, Modal} from 'antd'; import styles from './login.module.css'; import history from 'libs/history'; import {http, updatePermissions} from 'libs'; import logo from 'layout/logo-spug-txt.png'; import envStore from 'pages/config/environment/store'; import appStore from 'pages/config/app/store'; import requestStore from 'pages/deploy/request/store'; import hostStore from 'pages/host/store'; class LoginIndex extends React.Component { constructor(props) { super(props); this.state = { loading: false, loginType: 'default' } } componentDidMount() { envStore.records = []; appStore.records = []; requestStore.records = []; requestStore.deploys = []; hostStore.records = []; } handleSubmit = () => { this.props.form.validateFields((err, formData) => { if (!err) { this.setState({loading: true}); formData['type'] = this.state.loginType; http.post('/api/account/login/', formData) .then(data => { if (!data['has_real_ip']) { Modal.warning({ title: '安全警告', className: styles.tips, content:
未能获取到客户端的真实IP,无法提供基于请求来源IP的合法性验证,详细信息请参考 官方文档
, onOk: () => this.doLogin(data) }) } else { this.doLogin(data) } }, () => this.setState({loading: false})) } }) }; doLogin = (data) => { localStorage.setItem('token', data['access_token']); localStorage.setItem('nickname', data['nickname']); localStorage.setItem('is_supper', data['is_supper']); localStorage.setItem('permissions', JSON.stringify(data['permissions'])); localStorage.setItem('host_perms', JSON.stringify(data['host_perms'])); updatePermissions(data['is_supper'], data['host_perms'], data['permissions']); if (history.location.state && history.location.state['from']) { history.push(history.location.state['from']) } else { history.push('/welcome/index') } }; render() { const {getFieldDecorator} = this.props.form; return (
logo
灵活、强大、功能全面的开源运维平台
this.setState({loginType: e})}>
{getFieldDecorator('username', {rules: [{required: true, message: '请输入账户'}]})( }/> )} {getFieldDecorator('password', {rules: [{required: true, message: '请输入密码'}]})( }/> )}
官网 文档
Copyright 2020 By OpenSpug
) } } export default Form.create()(LoginIndex)