|
@@ -6,6 +6,7 @@ import { connect } from 'dva';
|
6
|
6
|
import LoginComponents from './components/Login';
|
7
|
7
|
import styles from './style.less';
|
8
|
8
|
const { Tab, UserName, Password, Mobile, Captcha, Submit } = LoginComponents;
|
|
9
|
+import md5 from "md5";
|
9
|
10
|
|
10
|
11
|
@connect(({ login, loading }) => ({
|
11
|
12
|
userLogin: login,
|
|
@@ -14,7 +15,7 @@ const { Tab, UserName, Password, Mobile, Captcha, Submit } = LoginComponents;
|
14
|
15
|
class Login extends Component {
|
15
|
16
|
loginForm = undefined;
|
16
|
17
|
state = {
|
17
|
|
- type: 'account',
|
|
18
|
+ // type: 'account',
|
18
|
19
|
autoLogin: true,
|
19
|
20
|
};
|
20
|
21
|
changeAutoLogin = e => {
|
|
@@ -29,7 +30,7 @@ class Login extends Component {
|
29
|
30
|
const { dispatch } = this.props;
|
30
|
31
|
dispatch({
|
31
|
32
|
type: 'login/login',
|
32
|
|
- payload: { ...values, type },
|
|
33
|
+ payload: { ...values, loginPassword: md5(values.loginPassword) },
|
33
|
34
|
});
|
34
|
35
|
}
|
35
|
36
|
};
|
|
@@ -87,138 +88,44 @@ class Login extends Component {
|
87
|
88
|
this.loginForm = form;
|
88
|
89
|
}}
|
89
|
90
|
>
|
90
|
|
- <Tab
|
91
|
|
- key="account"
|
92
|
|
- tab={formatMessage({
|
93
|
|
- id: 'user-login.login.tab-login-credentials',
|
94
|
|
- })}
|
95
|
|
- >
|
96
|
|
- {status === 'error' &&
|
97
|
|
- loginType === 'account' &&
|
98
|
|
- !submitting &&
|
99
|
|
- this.renderMessage(
|
100
|
|
- formatMessage({
|
101
|
|
- id: 'user-login.login.message-invalid-credentials',
|
|
91
|
+ <UserName
|
|
92
|
+ name="loginName"
|
|
93
|
+ placeholder={`${formatMessage({
|
|
94
|
+ id: 'user-login.login.userName',
|
|
95
|
+ })}: admin or user`}
|
|
96
|
+ rules={[
|
|
97
|
+ {
|
|
98
|
+ required: true,
|
|
99
|
+ message: formatMessage({
|
|
100
|
+ id: 'user-login.userName.required',
|
102
|
101
|
}),
|
103
|
|
- )}
|
104
|
|
- <UserName
|
105
|
|
- name="userName"
|
106
|
|
- placeholder={`${formatMessage({
|
107
|
|
- id: 'user-login.login.userName',
|
108
|
|
- })}: admin or user`}
|
109
|
|
- rules={[
|
110
|
|
- {
|
111
|
|
- required: true,
|
112
|
|
- message: formatMessage({
|
113
|
|
- id: 'user-login.userName.required',
|
114
|
|
- }),
|
115
|
|
- },
|
116
|
|
- ]}
|
117
|
|
- />
|
118
|
|
- <Password
|
119
|
|
- name="password"
|
120
|
|
- placeholder={`${formatMessage({
|
121
|
|
- id: 'user-login.login.password',
|
122
|
|
- })}: ant.design`}
|
123
|
|
- rules={[
|
124
|
|
- {
|
125
|
|
- required: true,
|
126
|
|
- message: formatMessage({
|
127
|
|
- id: 'user-login.password.required',
|
128
|
|
- }),
|
129
|
|
- },
|
130
|
|
- ]}
|
131
|
|
- onPressEnter={e => {
|
132
|
|
- e.preventDefault();
|
133
|
|
-
|
134
|
|
- if (this.loginForm) {
|
135
|
|
- this.loginForm.validateFields(this.handleSubmit);
|
136
|
|
- }
|
137
|
|
- }}
|
138
|
|
- />
|
139
|
|
- </Tab>
|
140
|
|
- <Tab
|
141
|
|
- key="mobile"
|
142
|
|
- tab={formatMessage({
|
143
|
|
- id: 'user-login.login.tab-login-mobile',
|
144
|
|
- })}
|
145
|
|
- >
|
146
|
|
- {status === 'error' &&
|
147
|
|
- loginType === 'mobile' &&
|
148
|
|
- !submitting &&
|
149
|
|
- this.renderMessage(
|
150
|
|
- formatMessage({
|
151
|
|
- id: 'user-login.login.message-invalid-verification-code',
|
|
102
|
+ },
|
|
103
|
+ ]}
|
|
104
|
+ />
|
|
105
|
+ <Password
|
|
106
|
+ name="loginPassword"
|
|
107
|
+ placeholder={`${formatMessage({
|
|
108
|
+ id: 'user-login.login.password',
|
|
109
|
+ })}: ant.design`}
|
|
110
|
+ rules={[
|
|
111
|
+ {
|
|
112
|
+ required: true,
|
|
113
|
+ message: formatMessage({
|
|
114
|
+ id: 'user-login.password.required',
|
152
|
115
|
}),
|
153
|
|
- )}
|
154
|
|
- <Mobile
|
155
|
|
- name="mobile"
|
156
|
|
- placeholder={formatMessage({
|
157
|
|
- id: 'user-login.phone-number.placeholder',
|
158
|
|
- })}
|
159
|
|
- rules={[
|
160
|
|
- {
|
161
|
|
- required: true,
|
162
|
|
- message: formatMessage({
|
163
|
|
- id: 'user-login.phone-number.required',
|
164
|
|
- }),
|
165
|
|
- },
|
166
|
|
- {
|
167
|
|
- pattern: /^1\d{10}$/,
|
168
|
|
- message: formatMessage({
|
169
|
|
- id: 'user-login.phone-number.wrong-format',
|
170
|
|
- }),
|
171
|
|
- },
|
172
|
|
- ]}
|
173
|
|
- />
|
174
|
|
- <Captcha
|
175
|
|
- name="captcha"
|
176
|
|
- placeholder={formatMessage({
|
177
|
|
- id: 'user-login.verification-code.placeholder',
|
178
|
|
- })}
|
179
|
|
- countDown={120}
|
180
|
|
- onGetCaptcha={this.onGetCaptcha}
|
181
|
|
- getCaptchaButtonText={formatMessage({
|
182
|
|
- id: 'user-login.form.get-captcha',
|
183
|
|
- })}
|
184
|
|
- getCaptchaSecondText={formatMessage({
|
185
|
|
- id: 'user-login.captcha.second',
|
186
|
|
- })}
|
187
|
|
- rules={[
|
188
|
|
- {
|
189
|
|
- required: true,
|
190
|
|
- message: formatMessage({
|
191
|
|
- id: 'user-login.verification-code.required',
|
192
|
|
- }),
|
193
|
|
- },
|
194
|
|
- ]}
|
195
|
|
- />
|
196
|
|
- </Tab>
|
197
|
|
- <div>
|
198
|
|
- <Checkbox checked={autoLogin} onChange={this.changeAutoLogin}>
|
199
|
|
- <FormattedMessage id="user-login.login.remember-me" />
|
200
|
|
- </Checkbox>
|
201
|
|
- <a
|
202
|
|
- style={{
|
203
|
|
- float: 'right',
|
204
|
|
- }}
|
205
|
|
- href=""
|
206
|
|
- >
|
207
|
|
- <FormattedMessage id="user-login.login.forgot-password" />
|
208
|
|
- </a>
|
209
|
|
- </div>
|
|
116
|
+ },
|
|
117
|
+ ]}
|
|
118
|
+ onPressEnter={e => {
|
|
119
|
+ e.preventDefault();
|
|
120
|
+
|
|
121
|
+ if (this.loginForm) {
|
|
122
|
+ this.loginForm.validateFields(this.handleSubmit);
|
|
123
|
+ }
|
|
124
|
+ }}
|
|
125
|
+ />
|
210
|
126
|
<Submit loading={submitting}>
|
211
|
127
|
<FormattedMessage id="user-login.login.login" />
|
212
|
128
|
</Submit>
|
213
|
|
- <div className={styles.other}>
|
214
|
|
- <FormattedMessage id="user-login.login.sign-in-with" />
|
215
|
|
- <Icon type="alipay-circle" className={styles.icon} theme="outlined" />
|
216
|
|
- <Icon type="taobao-circle" className={styles.icon} theme="outlined" />
|
217
|
|
- <Icon type="weibo-circle" className={styles.icon} theme="outlined" />
|
218
|
|
- <Link className={styles.register} to="/user/register">
|
219
|
|
- <FormattedMessage id="user-login.login.signup" />
|
220
|
|
- </Link>
|
221
|
|
- </div>
|
222
|
129
|
</LoginComponents>
|
223
|
130
|
</div>
|
224
|
131
|
);
|