weapps-plugin-jingtong-verify 1.5.2 → 1.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +2 -2
- package/weapps-plugin-jingtong-verify/i18n/rules.js +23 -0
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.js +75 -12
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.wxml +7 -11
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.wxss +2 -2
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.js +3 -1
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.wxml +3 -3
- package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.wxss +3 -3
- package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.js +104 -11
- package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.wxml +1 -3
- package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.wxss +1 -1
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.js +18 -12
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.wxss +1 -1
- package/weapps-plugin-jingtong-verify/utils/rules.js +15 -0
package/README.md
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# SDK #
|
|
2
|
-
1.5.
|
|
2
|
+
1.5.3
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "weapps-plugin-jingtong-verify",
|
|
3
3
|
"pluginName": "weapps-plugin-jingtong-verify",
|
|
4
4
|
"pluginType": "mp",
|
|
5
|
-
"version": "1.5.
|
|
5
|
+
"version": "1.5.4",
|
|
6
6
|
"description": "",
|
|
7
7
|
"main": "sdk.js",
|
|
8
8
|
"author": "tongyirenzheng",
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
"crypto-js": "^3.3.0",
|
|
19
19
|
"miniprogram-sm-crypto": "^0.3.13"
|
|
20
20
|
}
|
|
21
|
-
}
|
|
21
|
+
}
|
|
@@ -351,6 +351,29 @@ const rules = {
|
|
|
351
351
|
}
|
|
352
352
|
},
|
|
353
353
|
},
|
|
354
|
+
// 设置密码
|
|
355
|
+
bankCardSetPwdRules: {
|
|
356
|
+
bank_card_password: {
|
|
357
|
+
required: {
|
|
358
|
+
zh_CN: '请输入登录密码',
|
|
359
|
+
en: 'Please enter your login password'
|
|
360
|
+
},
|
|
361
|
+
validate: {
|
|
362
|
+
zh_CN: '请输入有效登录密码',
|
|
363
|
+
en: 'Please enter your login password'
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
bank_card_pwd_password: {
|
|
367
|
+
required: {
|
|
368
|
+
zh_CN: '请再次输入登录密码',
|
|
369
|
+
en: 'Please enter your login password again'
|
|
370
|
+
},
|
|
371
|
+
validate: {
|
|
372
|
+
zh_CN: '两次密码输入不一致',
|
|
373
|
+
en: 'Please enter your login password again'
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
},
|
|
354
377
|
// 忘记密码设置新密码
|
|
355
378
|
bankCardSetNewPwdRules: {
|
|
356
379
|
bank_card_password: {
|
|
@@ -58,7 +58,7 @@ Page({
|
|
|
58
58
|
bank_card_password: '',
|
|
59
59
|
bank_card_pwd_password: ''
|
|
60
60
|
},
|
|
61
|
-
pwdRules: rulesConfig.
|
|
61
|
+
pwdRules: rulesConfig.bankCardSetNewPwdRules('zh_CN'),
|
|
62
62
|
validatePwdType: {
|
|
63
63
|
bank_card_password(value) {
|
|
64
64
|
return utils.validate.checkBankCardLoginPwd(value).data
|
|
@@ -103,6 +103,8 @@ Page({
|
|
|
103
103
|
showTipFaceModal: false,
|
|
104
104
|
set_type: 3, // 1:人脸认证,2:银行卡,3:短信
|
|
105
105
|
isIdCardSuccess: false, //第二步安全验证,验证身份证号是否当前本人的身份证号
|
|
106
|
+
isShowPasswordStrength: false,// 是否显示密码强度
|
|
107
|
+
submitSafeMode:'',
|
|
106
108
|
},
|
|
107
109
|
/**
|
|
108
110
|
* 生命周期函数--监听页面加载
|
|
@@ -132,8 +134,8 @@ Page({
|
|
|
132
134
|
formData.cid_type = options.cid_type
|
|
133
135
|
formData.verify_expire_time = options.verify_expire_time
|
|
134
136
|
formSafeData.cid_type = options.cid_type
|
|
135
|
-
formSafeData.id_card_number = options.idCardNumber
|
|
136
|
-
formSafeData.strCid = options.strCid
|
|
137
|
+
// formSafeData.id_card_number = options.idCardNumber
|
|
138
|
+
// formSafeData.strCid = options.strCid
|
|
137
139
|
this.setData({
|
|
138
140
|
formData: formData,
|
|
139
141
|
formSafeData: formSafeData
|
|
@@ -612,7 +614,8 @@ Page({
|
|
|
612
614
|
|
|
613
615
|
this.setData({
|
|
614
616
|
passwordStrength: Math.min(strength, 3), // 最多显示3个等级
|
|
615
|
-
passwordStrengthText: strengthText
|
|
617
|
+
passwordStrengthText: strengthText,
|
|
618
|
+
isShowPasswordStrength: true
|
|
616
619
|
})
|
|
617
620
|
}
|
|
618
621
|
})
|
|
@@ -659,7 +662,8 @@ Page({
|
|
|
659
662
|
this.setData({
|
|
660
663
|
isIdCardSuccess: true
|
|
661
664
|
})
|
|
662
|
-
this.
|
|
665
|
+
this.sendVerificationCode()
|
|
666
|
+
// this.toGetTailNumber(value)
|
|
663
667
|
}
|
|
664
668
|
} else {
|
|
665
669
|
wx.hideLoading()
|
|
@@ -716,17 +720,49 @@ Page({
|
|
|
716
720
|
}
|
|
717
721
|
})
|
|
718
722
|
},
|
|
723
|
+
// 其他方式
|
|
724
|
+
handletoSendVerificationCode () {
|
|
725
|
+
console.log('启用sms验证')
|
|
726
|
+
try {
|
|
727
|
+
// 临时保存并移除 verification_code
|
|
728
|
+
const tempCode = this.data.formSafeData.verification_code
|
|
729
|
+
const tempFormSafeData = { ...this.data.formSafeData }
|
|
730
|
+
delete tempFormSafeData.verification_code
|
|
731
|
+
|
|
732
|
+
this.setData({
|
|
733
|
+
submitSafeMode: 'other',
|
|
734
|
+
formSafeData: tempFormSafeData
|
|
735
|
+
})
|
|
736
|
+
|
|
737
|
+
const form = this.selectComponent('#formSafe')
|
|
738
|
+
if (form && typeof form.handleSubmit === 'function') {
|
|
739
|
+
form.handleSubmit()
|
|
740
|
+
} else {
|
|
741
|
+
// 恢复 verification_code
|
|
742
|
+
this.setData({
|
|
743
|
+
formSafeData: { ...this.data.formSafeData, verification_code: tempCode },
|
|
744
|
+
submitSafeMode: ''
|
|
745
|
+
})
|
|
746
|
+
}
|
|
747
|
+
} catch (error) {
|
|
748
|
+
// 恢复 verification_code
|
|
749
|
+
this.setData({
|
|
750
|
+
formSafeData: { ...this.data.formSafeData, verification_code: tempCode },
|
|
751
|
+
submitSafeMode: ''
|
|
752
|
+
})
|
|
753
|
+
}
|
|
754
|
+
},
|
|
719
755
|
/**
|
|
720
756
|
* 发送验证码
|
|
721
757
|
*/
|
|
722
758
|
sendVerificationCode () {
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
759
|
+
if(!this.data.isIdCardSuccess){
|
|
760
|
+
wx.showToast({
|
|
761
|
+
title: '身份证号码验证没有通过,请重新填写',
|
|
762
|
+
icon: 'none'
|
|
763
|
+
});
|
|
764
|
+
return;
|
|
765
|
+
}
|
|
730
766
|
if (this.data.isCountingDown) {
|
|
731
767
|
return;
|
|
732
768
|
}
|
|
@@ -877,6 +913,33 @@ Page({
|
|
|
877
913
|
async handleSafeFormSubmit (e) {
|
|
878
914
|
console.log('进行身份证号码、手机号,短信验证码信息验证')
|
|
879
915
|
const formValid = e.detail.validStatus
|
|
916
|
+
const isSafeOther = this.data.submitSafeMode === 'other'
|
|
917
|
+
if (isSafeOther){
|
|
918
|
+
const customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
919
|
+
this.data.submitSafeMode = ''
|
|
920
|
+
if (!formValid || !customValid.valid) {
|
|
921
|
+
// 自定义校验字段有问题,获取表单错误列表
|
|
922
|
+
const formErrList = e.detail.value
|
|
923
|
+
// 如果表单校验有问题,自定义校验没问题,则显示表单校验错误提示
|
|
924
|
+
if (!formValid && customValid.valid) {
|
|
925
|
+
return
|
|
926
|
+
}
|
|
927
|
+
// 如果表单校验没有问题,自定义校验有问题,则显示自定义校验错误提示
|
|
928
|
+
if (formValid && !customValid.valid) {
|
|
929
|
+
return
|
|
930
|
+
}
|
|
931
|
+
return
|
|
932
|
+
}
|
|
933
|
+
const { formData, formSafeData } = this.data
|
|
934
|
+
let params = {
|
|
935
|
+
'id_card_number': formSafeData.id_card_number, // 证件号码
|
|
936
|
+
'name': formData.name,
|
|
937
|
+
'verify_type': '101', // 身份证 固定值101
|
|
938
|
+
'support_type': '0x40' // 4:姓名+证件号+有效起始及结束日期 0x40:姓名+证件号 0x42:姓名+证件号+人像
|
|
939
|
+
}
|
|
940
|
+
this.toOtherWay(params, 2, '')
|
|
941
|
+
return
|
|
942
|
+
}
|
|
880
943
|
const customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
881
944
|
if (!formValid || !customValid.valid) {
|
|
882
945
|
// 自定义校验字段有问题,获取表单错误列表
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<image src="../../images/Frame.png" mode="aspectFit" class="img"></image>
|
|
10
10
|
</view>
|
|
11
11
|
<view class="title">{{ language == 'zh_CN' ? '设置新登录密码' : 'Set new login password' }}</view>
|
|
12
|
-
<view class="title_describe">{{ language == 'zh_CN' ? '
|
|
12
|
+
<view class="title_describe">{{ language == 'zh_CN' ? '新登录密码设置后原密码将会失效' : 'After setting the new login password, the original password will become invalid' }}</view>
|
|
13
13
|
</view>
|
|
14
14
|
<view class="content-box" wx:if="{{ language === 'zh_CN' }}">
|
|
15
15
|
<!-- 完整配置 -->
|
|
@@ -53,8 +53,6 @@
|
|
|
53
53
|
value="{{ formData.strCid || formData.id_card_number }}"
|
|
54
54
|
clearable="{{ false }}"
|
|
55
55
|
class="readonly-input"
|
|
56
|
-
showQuestion="{{ true }}"
|
|
57
|
-
bind:showQuestionTip="showQuestionTip"
|
|
58
56
|
/>
|
|
59
57
|
</view>
|
|
60
58
|
</g-form>
|
|
@@ -82,11 +80,9 @@
|
|
|
82
80
|
label="身份证号码"
|
|
83
81
|
placeholder="请输入本人证件号码"
|
|
84
82
|
value="{{ formSafeData.strCid || formSafeData.id_card_number }}"
|
|
85
|
-
clearable="{{
|
|
86
|
-
class="readonly-input"
|
|
83
|
+
clearable="{{ true }}"
|
|
87
84
|
isOpen="{{ !formSafeData.strCid }}"
|
|
88
|
-
|
|
89
|
-
bind:showQuestionTip="showQuestionTip"
|
|
85
|
+
bind:change="handleSafeChange"
|
|
90
86
|
/>
|
|
91
87
|
|
|
92
88
|
<!-- bind:change="handleSafeChange" -->
|
|
@@ -131,7 +127,7 @@
|
|
|
131
127
|
<view
|
|
132
128
|
slot="append"
|
|
133
129
|
class="verification-btn {{ isCountingDown ? 'disabled' : '' }}"
|
|
134
|
-
bind:tap="
|
|
130
|
+
bind:tap="handletoSendVerificationCode"
|
|
135
131
|
>
|
|
136
132
|
{{ verificationText }}
|
|
137
133
|
</view>
|
|
@@ -165,10 +161,10 @@
|
|
|
165
161
|
<view class="form-item-wrap">
|
|
166
162
|
<view class="form-item-header">
|
|
167
163
|
<text class="form-label">设置新密码<text class="required-star">*</text></text>
|
|
168
|
-
<view class="password-strength-indicator">
|
|
164
|
+
<view class="password-strength-indicator" wx:if="{{isShowPasswordStrength}}">
|
|
169
165
|
<view class="strength-bar">
|
|
170
|
-
<view class="strength-segment weak {{ passwordStrength >= 1 ? 'active' : '' }}"></view>
|
|
171
|
-
<view class="strength-segment medium {{ passwordStrength >= 2 ? 'active' : '' }}"></view>
|
|
166
|
+
<view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }} {{ passwordStrength >= 1 ? 'active' : '' }}"></view>
|
|
167
|
+
<view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : 'medium' }} {{ passwordStrength >= 2 ? 'active' : '' }}"></view>
|
|
172
168
|
<view class="strength-segment strong {{ passwordStrength >= 3 ? 'active' : '' }}"></view>
|
|
173
169
|
</view>
|
|
174
170
|
<view class="strength-text {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }}">
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
|
|
188
188
|
.other-way-btn{
|
|
189
189
|
width: 100%;
|
|
190
|
-
height:
|
|
190
|
+
height: 96rpx;
|
|
191
191
|
border: 1px solid #CE0022;
|
|
192
192
|
display: flex;
|
|
193
193
|
align-items: center;
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
.not_get_verification_code{
|
|
308
308
|
padding:40rpx; color: #ce0022;
|
|
309
309
|
font-family: "PingFang SC";
|
|
310
|
-
font-size:
|
|
310
|
+
font-size: 28rpx;
|
|
311
311
|
font-style: normal;
|
|
312
312
|
font-weight: 500;
|
|
313
313
|
line-height: normal;
|
|
@@ -29,6 +29,7 @@ Page({
|
|
|
29
29
|
return utils.validate.checkBankCardLoginPwd(value).data && utils.validate.checkConfirmPwd(value, formData.bank_card_password).data
|
|
30
30
|
}, // 记录是否已经登录成功
|
|
31
31
|
},
|
|
32
|
+
isShowPasswordStrength: false,// 是否显示密码强度
|
|
32
33
|
passwordStrength: 0, // 密码强度等级 0-3
|
|
33
34
|
passwordStrengthText: '弱',
|
|
34
35
|
// 是否显示自定义校验提示
|
|
@@ -181,7 +182,8 @@ Page({
|
|
|
181
182
|
|
|
182
183
|
this.setData({
|
|
183
184
|
passwordStrength: strength, // 弱=1,中=2,强=3
|
|
184
|
-
passwordStrengthText: strengthText
|
|
185
|
+
passwordStrengthText: strengthText,
|
|
186
|
+
isShowPasswordStrength: true
|
|
185
187
|
})
|
|
186
188
|
}
|
|
187
189
|
})
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
<view class="form-item-wrap">
|
|
27
27
|
<view class="form-item-header">
|
|
28
28
|
<text class="form-label">设置登录密码<text class="required-star">*</text></text>
|
|
29
|
-
<view class="password-strength-indicator">
|
|
29
|
+
<view class="password-strength-indicator" wx:if="{{isShowPasswordStrength}}">
|
|
30
30
|
<view class="strength-bar">
|
|
31
|
-
<view class="strength-segment weak {{ passwordStrength >= 1 ? 'active' : '' }}"></view>
|
|
32
|
-
<view class="strength-segment medium {{ passwordStrength >= 2 ? 'active' : '' }}"></view>
|
|
31
|
+
<view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }} {{ passwordStrength >= 1 ? 'active' : '' }}"></view>
|
|
32
|
+
<view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : 'medium' }} {{ passwordStrength >= 2 ? 'active' : '' }}"></view>
|
|
33
33
|
<view class="strength-segment strong {{ passwordStrength >= 3 ? 'active' : '' }}"></view>
|
|
34
34
|
</view>
|
|
35
35
|
<view class="strength-text {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }}">
|
|
@@ -202,15 +202,15 @@
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
.strength-segment.weak.active {
|
|
205
|
-
background-color: #
|
|
205
|
+
background-color: #CE0022;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
.strength-segment.medium.active {
|
|
209
|
-
background-color: #
|
|
209
|
+
background-color: #EE8610;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
.strength-segment.strong.active {
|
|
213
|
-
background-color: #
|
|
213
|
+
background-color: #21C58A;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
.strength-text {
|
|
@@ -104,6 +104,9 @@ Page({
|
|
|
104
104
|
checkType: '', //// 1:无密码和手机号,2:无密码有手机号,3:无手机号有密码
|
|
105
105
|
// 收不到验证码提示框
|
|
106
106
|
showNotGetVerificationCodeTipModal: false,
|
|
107
|
+
submitMode: '',
|
|
108
|
+
// 防重复点击标记 - 基于接口返回状态
|
|
109
|
+
isSubmitting: false
|
|
107
110
|
},
|
|
108
111
|
|
|
109
112
|
/**
|
|
@@ -184,7 +187,52 @@ Page({
|
|
|
184
187
|
},
|
|
185
188
|
// 确认提交表单
|
|
186
189
|
async handleFormSubmit(e) {
|
|
190
|
+
const isOther = this.data.submitMode === 'other'
|
|
187
191
|
const formValid = e.detail.validStatus
|
|
192
|
+
if (isOther) {
|
|
193
|
+
const customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
194
|
+
if (!formValid || !customValid.valid) {
|
|
195
|
+
// 自定义校验字段有问题,获取表单错误列表
|
|
196
|
+
const formErrList = e.detail.value
|
|
197
|
+
// 如果表单校验有问题,自定义校验没问题,则显示表单校验错误提示
|
|
198
|
+
if (!formValid && customValid.valid) {
|
|
199
|
+
this.showCuntomErrTip(formErrList[0].message)
|
|
200
|
+
this.setData({
|
|
201
|
+
isSubmitting: false
|
|
202
|
+
})
|
|
203
|
+
return
|
|
204
|
+
}
|
|
205
|
+
// 如果表单校验没有问题,自定义校验有问题,则显示自定义校验错误提示
|
|
206
|
+
if (formValid && !customValid.valid) {
|
|
207
|
+
this.showCuntomErrTip(customValid.msg)
|
|
208
|
+
this.setData({
|
|
209
|
+
isSubmitting: false
|
|
210
|
+
})
|
|
211
|
+
return
|
|
212
|
+
}
|
|
213
|
+
// 如果两者都有问题,则判断显示谁
|
|
214
|
+
let lastMsg = ''
|
|
215
|
+
if (formErrList.some(i => ["id_card_number", "nation"].includes(i.name))) {
|
|
216
|
+
lastMsg = formErrList[0].message
|
|
217
|
+
} else {
|
|
218
|
+
lastMsg = customValid.msg
|
|
219
|
+
}
|
|
220
|
+
this.showCuntomErrTip(lastMsg)
|
|
221
|
+
this.data.submitMode = ''
|
|
222
|
+
this.data.isSubmitting = false
|
|
223
|
+
wx.hideLoading()
|
|
224
|
+
this.setData({
|
|
225
|
+
isSubmitting: false
|
|
226
|
+
})
|
|
227
|
+
return
|
|
228
|
+
}
|
|
229
|
+
this.setData({
|
|
230
|
+
formData: { ...this.data.formData, verification_code: tempCode },
|
|
231
|
+
submitMode: ''
|
|
232
|
+
})
|
|
233
|
+
this.sendVerificationCode()
|
|
234
|
+
return
|
|
235
|
+
}
|
|
188
236
|
const customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
189
237
|
if (!formValid || !customValid.valid) {
|
|
190
238
|
// 自定义校验字段有问题,获取表单错误列表
|
|
@@ -219,9 +267,9 @@ Page({
|
|
|
219
267
|
// 当前时间
|
|
220
268
|
const now = Date.now()
|
|
221
269
|
|
|
222
|
-
// 判断是否在
|
|
223
|
-
const isWithinOneHour = (now - bankCardFailTime) < (
|
|
224
|
-
console.log('当前仍在
|
|
270
|
+
// 判断是否在30分钟内(1小时 = 3600 * 1000 毫秒)
|
|
271
|
+
const isWithinOneHour = (now - bankCardFailTime) < (30 * 60 * 1000)
|
|
272
|
+
console.log('当前仍在30分钟限制内')
|
|
225
273
|
if(isWithinOneHour){
|
|
226
274
|
this.setData({
|
|
227
275
|
showToOtherModal: true
|
|
@@ -377,10 +425,10 @@ Page({
|
|
|
377
425
|
bankCardFailCount = 0
|
|
378
426
|
}
|
|
379
427
|
bankCardFailCount = bankCardFailCount + 1
|
|
380
|
-
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_count, bankCardFailCount)
|
|
381
|
-
if(bankCardFailCount
|
|
382
|
-
// 设置
|
|
383
|
-
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_time, Date.now(),
|
|
428
|
+
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_count, bankCardFailCount, 5 * 60)
|
|
429
|
+
if(bankCardFailCount >= 3){
|
|
430
|
+
// 设置30分钟后过期
|
|
431
|
+
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_time, Date.now(), 30 * 60)
|
|
384
432
|
}
|
|
385
433
|
if(errmsg){
|
|
386
434
|
wx.showToast({
|
|
@@ -444,10 +492,10 @@ Page({
|
|
|
444
492
|
bankCardFailCount = 0
|
|
445
493
|
}
|
|
446
494
|
bankCardFailCount = bankCardFailCount + 1
|
|
447
|
-
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_count, bankCardFailCount)
|
|
448
|
-
if(bankCardFailCount
|
|
449
|
-
// 设置
|
|
450
|
-
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_time, Date.now(),
|
|
495
|
+
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_count, bankCardFailCount, 5 * 60)
|
|
496
|
+
if(bankCardFailCount >= 3){
|
|
497
|
+
// 设置30分钟后过期
|
|
498
|
+
constantVal.setStorageWithExpire(constantVal.bank_card_verify_fail_time, Date.now(), 30 * 60)
|
|
451
499
|
}
|
|
452
500
|
if(errmsg){
|
|
453
501
|
wx.showToast({
|
|
@@ -557,6 +605,51 @@ Page({
|
|
|
557
605
|
})
|
|
558
606
|
},
|
|
559
607
|
|
|
608
|
+
// 发送验证码
|
|
609
|
+
async sendVerificationCodeVerify() {
|
|
610
|
+
// 检查是否正在处理中
|
|
611
|
+
if (this.data.isSubmitting) {
|
|
612
|
+
console.log('正在处理中,请勿重复点击')
|
|
613
|
+
wx.showToast({
|
|
614
|
+
title: '正在处理中,请稍候...',
|
|
615
|
+
icon: 'none',
|
|
616
|
+
duration: 1500
|
|
617
|
+
})
|
|
618
|
+
return
|
|
619
|
+
}
|
|
620
|
+
// 立即设置处理状态,防止重复点击
|
|
621
|
+
this.data.isSubmitting = true
|
|
622
|
+
try {
|
|
623
|
+
// 临时保存并移除 verification_code
|
|
624
|
+
const tempCode = this.data.formData.verification_code
|
|
625
|
+
const tempFormData = { ...this.data.formData }
|
|
626
|
+
delete tempFormData.verification_code
|
|
627
|
+
|
|
628
|
+
this.setData({
|
|
629
|
+
submitMode: 'other',
|
|
630
|
+
formData: tempFormData
|
|
631
|
+
})
|
|
632
|
+
|
|
633
|
+
const form = this.selectComponent('#form')
|
|
634
|
+
if (form && typeof form.handleSubmit === 'function') {
|
|
635
|
+
form.handleSubmit()
|
|
636
|
+
} else {
|
|
637
|
+
// 恢复 verification_code
|
|
638
|
+
this.setData({
|
|
639
|
+
formData: { ...this.data.formData, verification_code: tempCode },
|
|
640
|
+
submitMode: '',
|
|
641
|
+
isSubmitting: false
|
|
642
|
+
})
|
|
643
|
+
}
|
|
644
|
+
} catch (error) {
|
|
645
|
+
// 恢复 verification_code
|
|
646
|
+
this.setData({
|
|
647
|
+
formData: { ...this.data.formData, verification_code: tempCode },
|
|
648
|
+
submitMode: '',
|
|
649
|
+
isSubmitting: false
|
|
650
|
+
})
|
|
651
|
+
}
|
|
652
|
+
},
|
|
560
653
|
// 发送验证码
|
|
561
654
|
sendVerificationCode() {
|
|
562
655
|
if (this.data.isCountingDown) {
|
|
@@ -53,9 +53,7 @@
|
|
|
53
53
|
showEye="{{ formData.id_card_number }}"
|
|
54
54
|
isOpen="{{ !formData.strCid }}"
|
|
55
55
|
bind:change="handleChange"
|
|
56
|
-
showQuestion="{{ true }}"
|
|
57
56
|
class="readonly-input"
|
|
58
|
-
bind:showQuestionTip="showQuestionTip"
|
|
59
57
|
bind:openEye="openEye"
|
|
60
58
|
/>
|
|
61
59
|
</view>
|
|
@@ -97,7 +95,7 @@
|
|
|
97
95
|
<view
|
|
98
96
|
slot="append"
|
|
99
97
|
class="verification-btn {{ isCountingDown ? 'disabled' : '' }}"
|
|
100
|
-
bind:tap="
|
|
98
|
+
bind:tap="sendVerificationCodeVerify"
|
|
101
99
|
>
|
|
102
100
|
{{ verificationText }}
|
|
103
101
|
</view>
|
|
@@ -5,6 +5,7 @@ const { flow } = require("@wecity/weda-plugin-utils");
|
|
|
5
5
|
const rulesConfig = require("../../utils/rules")
|
|
6
6
|
import { SDKTrack, setAccountInfo } from '../../utils/QDTrackerNew/QDTrackerMain'
|
|
7
7
|
const validator = require('../../components/gsd-ui/utils/validator')
|
|
8
|
+
const constantVal = require("../../utils/constantVal")
|
|
8
9
|
let cidType = '111'
|
|
9
10
|
let Nation = 'CHN'
|
|
10
11
|
|
|
@@ -1590,6 +1591,11 @@ Page({
|
|
|
1590
1591
|
title: '验证中…',
|
|
1591
1592
|
mask: true
|
|
1592
1593
|
})
|
|
1594
|
+
// 验证是否在锁定期内,在的话,直接弹窗提示,并返回
|
|
1595
|
+
let bankCardFailTime = constantVal.getStorageWithExpire(constantVal.bank_card_verify_fail_time)
|
|
1596
|
+
if(bankCardFailTime){
|
|
1597
|
+
|
|
1598
|
+
}
|
|
1593
1599
|
// 身份二要素校验
|
|
1594
1600
|
const { name, id_card_number } = this.data.formData
|
|
1595
1601
|
const verifyIdCardParams = {
|
|
@@ -1688,18 +1694,18 @@ Page({
|
|
|
1688
1694
|
})
|
|
1689
1695
|
} else if(!isPhoneNumber && res.data.is_new){
|
|
1690
1696
|
// isPhoneNumber 为true,即系没有手机号,res.data.is_new为true即系无密码
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1697
|
+
// 1:无密码和手机号,2:无密码有手机号,3:无手机号有密码
|
|
1698
|
+
this.setData({
|
|
1699
|
+
checkType: 2
|
|
1700
|
+
})
|
|
1701
|
+
wx.navigateTo({
|
|
1702
|
+
url: '/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify?id_card_number='+ this.data.formData.id_card_number
|
|
1703
|
+
+ '&cid_type=' + this.data.formData.cid_type
|
|
1704
|
+
+ '&name=' + this.data.formData.name
|
|
1705
|
+
+ '&strCid=' + this.data.formData.strCid
|
|
1706
|
+
+ '&verify_expire_time=' + this.data.formData.verify_expire_time
|
|
1707
|
+
+ '&checkType=' + this.data.checkType
|
|
1708
|
+
})
|
|
1703
1709
|
} else {
|
|
1704
1710
|
wx.navigateTo({
|
|
1705
1711
|
url: '/weapps-plugin-jingtong-verify/pages/bank-card-login/bank-card-login?cardNumber='
|
|
@@ -316,6 +316,20 @@ const bankCardRules = (language) => {
|
|
|
316
316
|
|
|
317
317
|
// 设置密码
|
|
318
318
|
const bankCardSetPwdRules = (language) => {
|
|
319
|
+
const { bank_card_password, bank_card_pwd_password } = dict.rules.bankCardSetPwdRules
|
|
320
|
+
return {
|
|
321
|
+
bank_card_password: [
|
|
322
|
+
{ type: 'required', message: `${bank_card_password.required[language]}` },
|
|
323
|
+
{ type: 'bank_card_password', message: `${bank_card_password.validate[language]}` }
|
|
324
|
+
],
|
|
325
|
+
bank_card_pwd_password: [
|
|
326
|
+
{ type: 'required', message: `${bank_card_pwd_password.required[language]}` },
|
|
327
|
+
{ type: 'bank_card_pwd_password', message: `${bank_card_pwd_password.validate[language]}` }
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// 设置新密码
|
|
332
|
+
const bankCardSetNewPwdRules = (language) => {
|
|
319
333
|
const { bank_card_password, bank_card_pwd_password } = dict.rules.bankCardSetNewPwdRules
|
|
320
334
|
return {
|
|
321
335
|
bank_card_password: [
|
|
@@ -384,6 +398,7 @@ module.exports = {
|
|
|
384
398
|
residenceRules,
|
|
385
399
|
bankCardRules,
|
|
386
400
|
bankCardSetPwdRules,
|
|
401
|
+
bankCardSetNewPwdRules,
|
|
387
402
|
bankCardLoginPwdRules,
|
|
388
403
|
setNewPwdInfoRules,
|
|
389
404
|
safeVerificationInfoRules
|