|
@ -4,6 +4,8 @@ import { connect } from 'react-redux'; |
|
|
import { push } from 'react-router-redux'; |
|
|
import { push } from 'react-router-redux'; |
|
|
import { Form, Button, Toast } from '@douyinfe/semi-ui'; |
|
|
import { Form, Button, Toast } from '@douyinfe/semi-ui'; |
|
|
import { login, LOGIN_SUCCESS } from '../actions/auth'; |
|
|
import { login, LOGIN_SUCCESS } from '../actions/auth'; |
|
|
|
|
|
import { IconLock,IconUser } from '@douyinfe/semi-icons'; |
|
|
|
|
|
import './login.less' |
|
|
|
|
|
|
|
|
const Login = props => { |
|
|
const Login = props => { |
|
|
const { dispatch, user, error, actions, apiRoot, isRequesting } = props |
|
|
const { dispatch, user, error, actions, apiRoot, isRequesting } = props |
|
@ -25,16 +27,25 @@ const Login = props => { |
|
|
return ( |
|
|
return ( |
|
|
<div style={{ |
|
|
<div style={{ |
|
|
height: '100vh', |
|
|
height: '100vh', |
|
|
display: 'flex', |
|
|
backgroundImage:"url('/assets/images/background/loginBackground.png')", |
|
|
alignItems: 'center', |
|
|
backgroundSize: 'cover', |
|
|
justifyContent: 'center', |
|
|
backgroundRepeat: 'no-repeat', |
|
|
|
|
|
position: 'relative', |
|
|
}}> |
|
|
}}> |
|
|
<div style={{ |
|
|
<div style={{ |
|
|
width: 400, |
|
|
width: 446, |
|
|
height: 410, |
|
|
height: 348, |
|
|
padding: 30, |
|
|
padding: '45px 60px', |
|
|
|
|
|
backgroundImage:"url('/assets/images/background/loginbg.png')", |
|
|
|
|
|
backgroundSize: '100% 100%', |
|
|
|
|
|
backgroundRepeat: 'no-repeat', |
|
|
|
|
|
position: 'absolute', |
|
|
|
|
|
top: '33.89%', |
|
|
|
|
|
right: '16.43%', |
|
|
}}> |
|
|
}}> |
|
|
<p style={{ fontSize: 21, fontWeight: 'bold', textAlign: 'center' }}>飞尚物联</p> |
|
|
<div style={{width:113,height:24,marginTop:3,marginLeft:5}}> |
|
|
|
|
|
<img src="/assets/images/background/user_login.png" alt="" style={{width:'100%',height:'100%'}}/> |
|
|
|
|
|
</div> |
|
|
<Form |
|
|
<Form |
|
|
onSubmit={values => { |
|
|
onSubmit={values => { |
|
|
dispatch(login(values.username, values.password)).then(res => { |
|
|
dispatch(login(values.username, values.password)).then(res => { |
|
@ -44,9 +55,26 @@ const Login = props => { |
|
|
}} |
|
|
}} |
|
|
getFormApi={formApi => form.current = formApi} |
|
|
getFormApi={formApi => form.current = formApi} |
|
|
> |
|
|
> |
|
|
<Form.Input field='username' label='用户名' /> |
|
|
<Form.Input |
|
|
<Form.Input field='password' mode="password" autoComplete="" label='密码' /> |
|
|
className='inputbgc' |
|
|
<Button htmlType='submit' block theme="solid" >登录</Button> |
|
|
field='username' |
|
|
|
|
|
noLabel={true} |
|
|
|
|
|
label='用户名' |
|
|
|
|
|
placeholder='请输入账号' |
|
|
|
|
|
prefix={<IconUser style={{color:'#1859C1',marginRight:14,marginLeft:8}}/>} |
|
|
|
|
|
style={{background:'rgba(24, 89, 193, 0.08)',height:40,marginTop:26}} |
|
|
|
|
|
/> |
|
|
|
|
|
<Form.Input |
|
|
|
|
|
field='password' |
|
|
|
|
|
noLabel={true} |
|
|
|
|
|
mode="password" |
|
|
|
|
|
autoComplete="" |
|
|
|
|
|
placeholder='请输入密码' |
|
|
|
|
|
label='密码' |
|
|
|
|
|
prefix={<IconLock style={{color:'#1859C1',marginRight:14,marginLeft:8}}/>} |
|
|
|
|
|
style={{background:'rgba(24, 89, 193, 0.08)',height:40}} |
|
|
|
|
|
/> |
|
|
|
|
|
<Button htmlType='submit' block theme="solid" style={{marginTop:17,height:40,backgroundColor:'#1859C1'}}>立即登录</Button> |
|
|
</Form> |
|
|
</Form> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|