|
|
@@ -1,16 +1,28 @@
|
|
|
import React from 'react'
|
|
|
import Login from 'ant-design-pro/lib/Login'
|
|
|
import { Alert, Checkbox } from 'antd'
|
|
|
-import { Link } from 'dva/router';
|
|
|
+import { Link, Redirect } from 'dva/router';
|
|
|
import './login.less'
|
|
|
|
|
|
const { Tab, UserName, Password, Mobile, Captcha, Submit } = Login;
|
|
|
|
|
|
+function authenticate(cb) {
|
|
|
+ window.localStorage.setItem("isAuthenticated", "true");
|
|
|
+ setTimeout(cb, 100); // fake async
|
|
|
+}
|
|
|
+
|
|
|
+function signout(cb) {
|
|
|
+ window.localStorage.setItem("isAuthenticated", "false");
|
|
|
+ setTimeout(cb, 100); // fake async
|
|
|
+}
|
|
|
+
|
|
|
class LoginDemo extends React.Component {
|
|
|
state = {
|
|
|
notice: '',
|
|
|
autoLogin: true,
|
|
|
- }
|
|
|
+ redirectToReferrer: false
|
|
|
+ };
|
|
|
+
|
|
|
onSubmit = (err, values) => {
|
|
|
console.log('value collected ->', { ...values, autoLogin: this.state.autoLogin });
|
|
|
this.setState({
|
|
|
@@ -30,7 +42,21 @@ class LoginDemo extends React.Component {
|
|
|
autoLogin: e.target.checked,
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ login = () => {
|
|
|
+ authenticate(() => {
|
|
|
+ this.setState({ redirectToReferrer: true });
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
render() {
|
|
|
+ const { from } = this.props.location.state || { from: { pathname: "/" } };
|
|
|
+ const { redirectToReferrer } = this.state;
|
|
|
+
|
|
|
+ if (redirectToReferrer) {
|
|
|
+ return <Redirect to={from} />;
|
|
|
+ }
|
|
|
+
|
|
|
return (
|
|
|
<div className='container'>
|
|
|
<div className='content'>
|
|
|
@@ -64,4 +90,4 @@ class LoginDemo extends React.Component {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-export default LoginDemo;
|
|
|
+export default LoginDemo;
|