Skip to content

Commit 5c161c4

Browse files
committed
fix: login, register form
1 parent 7ab6064 commit 5c161c4

File tree

5 files changed

+53
-65
lines changed

5 files changed

+53
-65
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"dependencies": {
1515
"@antv/data-set": "^0.10.1",
16-
"ant-design-vue": "~1.3.7",
16+
"ant-design-vue": "~1.3.8",
1717
"axios": "^0.18.0",
1818
"enquire.js": "^2.1.6",
1919
"js-cookie": "^2.2.0",

src/utils/auth.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/views/user/Login.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<a-input
1818
size="large"
1919
type="text"
20-
placeholder="帐户名或邮箱地址 / admin"
20+
placeholder="账户: admin"
2121
v-decorator="[
2222
'username',
2323
{rules: [{ required: true, message: '请输入帐户名或邮箱地址' }, { validator: handleUsernameOrEmail }], validateTrigger: 'change'}
@@ -32,7 +32,7 @@
3232
size="large"
3333
type="password"
3434
autocomplete="false"
35-
placeholder="密码 / admin"
35+
placeholder="密码: admin or ant.design"
3636
v-decorator="[
3737
'password',
3838
{rules: [{ required: true, message: '请输入密码' }], validateTrigger: 'blur'}

src/views/user/Register.vue

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
<template>
22
<div class="main user-layout-register">
33
<h3><span>注册</span></h3>
4-
<a-form ref="formRegister" :autoFormCreate="(form)=>{this.form = form}" id="formRegister">
5-
<a-form-item
6-
fieldDecoratorId="email"
7-
:fieldDecoratorOptions="{rules: [{ required: true, type: 'email', message: '请输入邮箱地址' }], validateTrigger: ['change', 'blur']}">
8-
9-
<a-input size="large" type="text" placeholder="邮箱"></a-input>
4+
<a-form ref="formRegister" :form="form" id="formRegister">
5+
<a-form-item>
6+
<a-input
7+
size="large"
8+
type="text"
9+
placeholder="邮箱"
10+
v-decorator="['email', {rules: [{ required: true, type: 'email', message: '请输入邮箱地址' }], validateTrigger: ['change', 'blur']}]"
11+
></a-input>
1012
</a-form-item>
1113

1214
<a-popover placement="rightTop" trigger="click" :visible="state.passwordLevelChecked">
@@ -19,24 +21,30 @@
1921
</div>
2022
</div>
2123
</template>
22-
<a-form-item
23-
fieldDecoratorId="password"
24-
:fieldDecoratorOptions="{rules: [{ required: true, message: '至少6位密码,区分大小写'}, { validator: this.handlePasswordLevel }], validateTrigger: ['change', 'blur']}">
25-
<a-input size="large" type="password" @click="handlePasswordInputClick" autocomplete="false" placeholder="至少6位密码,区分大小写"></a-input>
24+
<a-form-item>
25+
<a-input
26+
size="large"
27+
type="password"
28+
@click="handlePasswordInputClick"
29+
autocomplete="false"
30+
placeholder="至少6位密码,区分大小写"
31+
v-decorator="['password', {rules: [{ required: true, message: '至少6位密码,区分大小写'}, { validator: this.handlePasswordLevel }], validateTrigger: ['change', 'blur']}]"
32+
></a-input>
2633
</a-form-item>
2734
</a-popover>
2835

29-
<a-form-item
30-
fieldDecoratorId="password2"
31-
:fieldDecoratorOptions="{rules: [{ required: true, message: '至少6位密码,区分大小写' }, { validator: this.handlePasswordCheck }], validateTrigger: ['change', 'blur']}">
32-
33-
<a-input size="large" type="password" autocomplete="false" placeholder="确认密码"></a-input>
36+
<a-form-item>
37+
<a-input
38+
size="large"
39+
type="password"
40+
autocomplete="false"
41+
placeholder="确认密码"
42+
v-decorator="['password2', {rules: [{ required: true, message: '至少6位密码,区分大小写' }, { validator: this.handlePasswordCheck }], validateTrigger: ['change', 'blur']}]"
43+
></a-input>
3444
</a-form-item>
3545

36-
<a-form-item
37-
fieldDecoratorId="mobile"
38-
:fieldDecoratorOptions="{rules: [{ required: true, message: '请输入正确的手机号', pattern: /^1[3456789]\d{9}$/ }, { validator: this.handlePhoneCheck } ], validateTrigger: ['change', 'blur'] }">
39-
<a-input size="large" placeholder="11 位手机号">
46+
<a-form-item>
47+
<a-input size="large" placeholder="11 位手机号" v-decorator="['mobile', {rules: [{ required: true, message: '请输入正确的手机号', pattern: /^1[3456789]\d{9}$/ }, { validator: this.handlePhoneCheck } ], validateTrigger: ['change', 'blur'] }]">
4048
<a-select slot="addonBefore" size="large" defaultValue="+86">
4149
<a-select-option value="+86">+86</a-select-option>
4250
<a-select-option value="+87">+87</a-select-option>
@@ -53,10 +61,8 @@
5361

5462
<a-row :gutter="16">
5563
<a-col class="gutter-row" :span="16">
56-
<a-form-item
57-
fieldDecoratorId="captcha"
58-
:fieldDecoratorOptions="{rules: [{ required: true, message: '请输入验证码' }], validateTrigger: 'blur'}">
59-
<a-input size="large" type="text" placeholder="验证码">
64+
<a-form-item>
65+
<a-input size="large" type="text" placeholder="验证码" v-decorator="['captcha', {rules: [{ required: true, message: '请输入验证码' }], validateTrigger: 'blur'}]">
6066
<a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }"/>
6167
</a-input>
6268
</a-form-item>
@@ -117,7 +123,7 @@ export default {
117123
mixins: [mixinDevice],
118124
data () {
119125
return {
120-
form: null,
126+
form: this.$form.createForm(this),
121127
122128
state: {
123129
time: 60,
@@ -143,7 +149,7 @@ export default {
143149
},
144150
methods: {
145151
146-
handlePasswordLevel (rule, value, callback) {
152+
handlePasswordLevel (rule, value, callback) {
147153
let level = 0
148154
149155
// 判断这个字符串中有没有数字
@@ -202,44 +208,45 @@ export default {
202208
},
203209
204210
handleSubmit () {
205-
this.form.validateFields((err, values) => {
211+
const { form: { validateFields }, $router } = this
212+
validateFields((err, values) => {
206213
if (!err) {
207-
this.$router.push({ name: 'registerResult', params: { ...values } })
214+
$router.push({ name: 'registerResult', params: { ...values } })
208215
}
209216
})
210217
},
211218
212219
getCaptcha (e) {
213220
e.preventDefault()
214-
const that = this
221+
const { form: { validateFields }, state, $message, $notification } = this
215222
216-
this.form.validateFields(['mobile'], { force: true },
223+
validateFields(['mobile'], { force: true },
217224
(err, values) => {
218225
if (!err) {
219-
this.state.smsSendBtn = true
226+
state.smsSendBtn = true
220227
221228
const interval = window.setInterval(() => {
222-
if (that.state.time-- <= 0) {
223-
that.state.time = 60
224-
that.state.smsSendBtn = false
229+
if (state.time-- <= 0) {
230+
state.time = 60
231+
state.smsSendBtn = false
225232
window.clearInterval(interval)
226233
}
227234
}, 1000)
228235
229-
const hide = this.$message.loading('验证码发送中..', 0)
236+
const hide = $message.loading('验证码发送中..', 0)
230237
231238
getSmsCaptcha({ mobile: values.mobile }).then(res => {
232239
setTimeout(hide, 2500)
233-
this.$notification['success']({
240+
$notification['success']({
234241
message: '提示',
235242
description: '验证码获取成功,您的验证码为:' + res.result.captcha,
236243
duration: 8
237244
})
238245
}).catch(err => {
239246
setTimeout(hide, 1)
240247
clearInterval(interval)
241-
that.state.time = 60
242-
that.state.smsSendBtn = false
248+
state.time = 60
249+
state.smsSendBtn = false
243250
this.requestFailed(err)
244251
})
245252
}
@@ -257,7 +264,7 @@ export default {
257264
},
258265
watch: {
259266
'state.passwordLevel' (val) {
260-
console.log(val)
267+
console.log(val)
261268
}
262269
}
263270
}
@@ -308,4 +315,4 @@ export default {
308315
line-height: 40px;
309316
}
310317
}
311-
</style>
318+
</style>

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,10 +1666,10 @@ ant-design-palettes@^1.1.3:
16661666
dependencies:
16671667
tinycolor2 "^1.4.1"
16681668

1669-
ant-design-vue@~1.3.7:
1670-
version "1.3.7"
1671-
resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-1.3.7.tgz#5e26c875ac636df1c20f076baa142aca62f97f14"
1672-
integrity sha512-PAbQrIrpmnonQohismGPxhSvwDmi2HKTfWjBpAItWsTEnXYqFzGHA7aytlutGTBRJjpyhlD6jpoiAnk/ocn4cw==
1669+
ant-design-vue@~1.3.8:
1670+
version "1.3.8"
1671+
resolved "http://registry.npm.taobao.org/ant-design-vue/download/ant-design-vue-1.3.8.tgz#b8c9fc30fd658f134c09d7698f2825a342cfef5f"
1672+
integrity sha1-uMn8MP1ljxNMCddpjyglo0LP718=
16731673
dependencies:
16741674
"@ant-design/icons" "^1.1.15"
16751675
"@ant-design/icons-vue" "^1.0.1"

0 commit comments

Comments
 (0)