weapps-plugin-jingtong-verify 1.4.2 → 1.4.3
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 +1 -1
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.js +165 -14
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.json +2 -1
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.wxml +13 -4
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.wxss +17 -0
- package/weapps-plugin-jingtong-verify/pages/passport-verify/passport-verify.js +1 -1
- package/weapps-plugin-jingtong-verify/utils/rules.js +42 -43
package/README.md
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# SDK #
|
|
2
|
-
1.4.
|
|
2
|
+
1.4.2
|
package/package.json
CHANGED
|
@@ -25,6 +25,8 @@ Page({
|
|
|
25
25
|
nation_name: '中国',
|
|
26
26
|
sur_name: '', // 姓
|
|
27
27
|
first_name: '', // 名
|
|
28
|
+
sur_name_en: '', // 姓(国外护照)
|
|
29
|
+
first_name_en: '', // 名(国外护照)
|
|
28
30
|
sex: '', // 性别
|
|
29
31
|
birthday: '', // 出生日期
|
|
30
32
|
cid_expire_date: '', // 护照有效期
|
|
@@ -122,7 +124,7 @@ Page({
|
|
|
122
124
|
},
|
|
123
125
|
'700': {
|
|
124
126
|
currentAuthType: 'ForeignPassortAuth',
|
|
125
|
-
rules: rulesConfig.
|
|
127
|
+
rules: rulesConfig.ForeignPassortRules('en')
|
|
126
128
|
}
|
|
127
129
|
},
|
|
128
130
|
rules: rulesConfig.chinaRules('zh_CN'),
|
|
@@ -172,7 +174,21 @@ Page({
|
|
|
172
174
|
// 标记港澳居民来往内地通行证存在回显的session信息
|
|
173
175
|
// exitHmSession: false,
|
|
174
176
|
// HmSession: {}
|
|
175
|
-
showForeignTip: false
|
|
177
|
+
showForeignTip: false,
|
|
178
|
+
// (国外)surname自定义校验状态,傻逼数广傻逼组件逼的
|
|
179
|
+
sur_name_state: {
|
|
180
|
+
valid: true,
|
|
181
|
+
msg: ''
|
|
182
|
+
},
|
|
183
|
+
// (国外)givenName自定义校验状态,傻逼数广傻逼组件逼的
|
|
184
|
+
first_name_state: {
|
|
185
|
+
valid: true,
|
|
186
|
+
msg: ''
|
|
187
|
+
},
|
|
188
|
+
// 是否显示自定义校验提示
|
|
189
|
+
showCustomTips: false,
|
|
190
|
+
// 自定义校验提示文本
|
|
191
|
+
customTipsMsg: ''
|
|
176
192
|
},
|
|
177
193
|
|
|
178
194
|
/**
|
|
@@ -521,6 +537,9 @@ Page({
|
|
|
521
537
|
[`formData.${starId}`]: ''
|
|
522
538
|
})
|
|
523
539
|
}
|
|
540
|
+
if (['sur_name_en', 'first_name_en'].includes(formId)) {
|
|
541
|
+
this.validateFullname()
|
|
542
|
+
}
|
|
524
543
|
}
|
|
525
544
|
},
|
|
526
545
|
|
|
@@ -547,6 +566,8 @@ Page({
|
|
|
547
566
|
nation_name: '',
|
|
548
567
|
sur_name: '',
|
|
549
568
|
first_name: '',
|
|
569
|
+
sur_name_en: '',
|
|
570
|
+
first_name_en: '',
|
|
550
571
|
sex: '',
|
|
551
572
|
birthday: '',
|
|
552
573
|
cid_expire_date: '',
|
|
@@ -663,33 +684,78 @@ Page({
|
|
|
663
684
|
},
|
|
664
685
|
|
|
665
686
|
async handleFormSubmit(e) {
|
|
666
|
-
|
|
687
|
+
// 自定义校验结果
|
|
688
|
+
const formValid = e.detail.validStatus
|
|
689
|
+
let customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
690
|
+
if (!formValid || !customValid.valid) {
|
|
691
|
+
// 如果自定义校验字段没问题,则跳过
|
|
692
|
+
if (customValid.valid) {
|
|
693
|
+
return
|
|
694
|
+
}
|
|
695
|
+
// 自定义校验字段有问题,获取表单错误列表
|
|
696
|
+
const formErrList = e.detail.value
|
|
697
|
+
// 计算是否单独弹出错误提示
|
|
698
|
+
let showCustomTips = false
|
|
699
|
+
if (formErrList && formErrList.length) {
|
|
700
|
+
showCustomTips = !formErrList.some(i => ["id_card_number", "nation"].includes(i.name))
|
|
701
|
+
} else {
|
|
702
|
+
showCustomTips = true
|
|
703
|
+
}
|
|
704
|
+
// 如果需要弹出,则弹出
|
|
705
|
+
if (showCustomTips) {
|
|
706
|
+
this.setData({
|
|
707
|
+
showCustomTips: true,
|
|
708
|
+
customTipsMsg: customValid.msg
|
|
709
|
+
}, () => {
|
|
710
|
+
// 3秒后关闭
|
|
711
|
+
setTimeout(() => {
|
|
712
|
+
this.setData({
|
|
713
|
+
showCustomTips: false,
|
|
714
|
+
customTipsMsg: ''
|
|
715
|
+
});
|
|
716
|
+
}, 3500);
|
|
717
|
+
})
|
|
718
|
+
}
|
|
667
719
|
return
|
|
668
720
|
}
|
|
669
721
|
wx.showLoading({
|
|
670
722
|
title: '加载中…',
|
|
671
723
|
mask: true
|
|
672
724
|
})
|
|
673
|
-
|
|
725
|
+
// 处理参数
|
|
674
726
|
console.log('删除“姓名、证件号码、护照号码、手机号码”的前后空格')
|
|
675
727
|
let { name, id_card_number, sur_name, first_name, passport_number, phone, cid_type } = this.data.formData
|
|
676
|
-
|
|
677
728
|
this.setData({
|
|
678
729
|
['formData.name']: name.trim(),
|
|
679
|
-
['formData.sur_name']: sur_name.trim(),
|
|
680
|
-
['formData.first_name']: first_name.trim(),
|
|
681
730
|
['formData.passport_number']: passport_number.trim(),
|
|
682
|
-
['formData.phone']: phone.trim()
|
|
683
|
-
['formData.id_card_number']: id_card_number.trim()
|
|
731
|
+
['formData.phone']: phone.trim()
|
|
684
732
|
})
|
|
685
|
-
|
|
686
733
|
if (cid_type === '700') {
|
|
687
|
-
|
|
734
|
+
// 外国护照,sur_name和first_name需要特殊处理
|
|
735
|
+
let { sur_name_en, first_name_en } = this.data.formData
|
|
736
|
+
if (sur_name_en == null || sur_name_en === '') {
|
|
737
|
+
sur_name_en = ' '
|
|
738
|
+
} else {
|
|
739
|
+
sur_name = sur_name_en.trim()
|
|
740
|
+
}
|
|
741
|
+
if (first_name_en == null || first_name_en === '') {
|
|
742
|
+
first_name_en = ' '
|
|
743
|
+
} else {
|
|
744
|
+
first_name_en = first_name_en.trim()
|
|
745
|
+
}
|
|
688
746
|
this.setData({
|
|
689
|
-
['formData.
|
|
747
|
+
['formData.sur_name']: sur_name_en,
|
|
748
|
+
['formData.first_name']: first_name_en,
|
|
749
|
+
// 删除“外国人护照号码”中间空格
|
|
750
|
+
['formData.id_card_number']: id_card_number.replace(/\s+/g, '').trim()
|
|
751
|
+
})
|
|
752
|
+
} else {
|
|
753
|
+
this.setData({
|
|
754
|
+
['formData.sur_name']: sur_name.trim(),
|
|
755
|
+
['formData.first_name']: first_name.trim(),
|
|
756
|
+
['formData.id_card_number']: id_card_number.trim()
|
|
690
757
|
})
|
|
691
758
|
}
|
|
692
|
-
|
|
693
759
|
console.log('入参', this.data.formData)
|
|
694
760
|
|
|
695
761
|
let currentAuthType = this.data.currentAuthType
|
|
@@ -1379,5 +1445,90 @@ Page({
|
|
|
1379
1445
|
this.setData({
|
|
1380
1446
|
showForeignTip: false
|
|
1381
1447
|
})
|
|
1382
|
-
}
|
|
1448
|
+
},
|
|
1449
|
+
|
|
1450
|
+
// 验证sur_name和first_name
|
|
1451
|
+
validateFullname() {
|
|
1452
|
+
const {
|
|
1453
|
+
sur_name_en: sur_name,
|
|
1454
|
+
first_name_en: first_name
|
|
1455
|
+
} = this.data.formData
|
|
1456
|
+
// 两个都没填
|
|
1457
|
+
if ((sur_name == null || sur_name === '') && (first_name == null || first_name === '')) {
|
|
1458
|
+
const msgEmpty = 'Please fill in surname or given name';
|
|
1459
|
+
this.setData({
|
|
1460
|
+
sur_name_state: {
|
|
1461
|
+
valid: false,
|
|
1462
|
+
msg: msgEmpty
|
|
1463
|
+
},
|
|
1464
|
+
first_name_state: {
|
|
1465
|
+
valid: false,
|
|
1466
|
+
msg: msgEmpty
|
|
1467
|
+
}
|
|
1468
|
+
})
|
|
1469
|
+
return {
|
|
1470
|
+
valid: false,
|
|
1471
|
+
msg: msgEmpty
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
this.setData({
|
|
1475
|
+
sur_name_state: {
|
|
1476
|
+
valid: true,
|
|
1477
|
+
msg: ''
|
|
1478
|
+
},
|
|
1479
|
+
first_name_state: {
|
|
1480
|
+
valid: false,
|
|
1481
|
+
msg: ''
|
|
1482
|
+
}
|
|
1483
|
+
})
|
|
1484
|
+
// 其中一个填了,或者两个都填了
|
|
1485
|
+
let sur_name_flag = true
|
|
1486
|
+
let msg = 'Please enter capital letters'
|
|
1487
|
+
if (sur_name != null && sur_name !== '') {
|
|
1488
|
+
const valid = utils.validate.checkName(sur_name, cidType)
|
|
1489
|
+
if (valid.data) {
|
|
1490
|
+
sur_name_flag = true
|
|
1491
|
+
} else {
|
|
1492
|
+
this.setData({
|
|
1493
|
+
sur_name_state: {
|
|
1494
|
+
valid: false,
|
|
1495
|
+
msg
|
|
1496
|
+
}
|
|
1497
|
+
})
|
|
1498
|
+
sur_name_flag = false
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
let first_name_flag = true
|
|
1502
|
+
if (first_name != null && first_name !== '') {
|
|
1503
|
+
const valid = utils.validate.checkName(first_name, cidType)
|
|
1504
|
+
if (valid.data) {
|
|
1505
|
+
first_name_flag = true
|
|
1506
|
+
} else {
|
|
1507
|
+
this.setData({
|
|
1508
|
+
first_name_state: {
|
|
1509
|
+
valid: false,
|
|
1510
|
+
msg
|
|
1511
|
+
}
|
|
1512
|
+
})
|
|
1513
|
+
first_name_flag = false
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
if (sur_name_flag && first_name_flag) {
|
|
1517
|
+
this.setData({
|
|
1518
|
+
sur_name_state: {
|
|
1519
|
+
valid: true,
|
|
1520
|
+
msg: ''
|
|
1521
|
+
},
|
|
1522
|
+
first_name_state: {
|
|
1523
|
+
valid: false,
|
|
1524
|
+
msg: ''
|
|
1525
|
+
}
|
|
1526
|
+
})
|
|
1527
|
+
}
|
|
1528
|
+
const valid = sur_name_flag && first_name_flag
|
|
1529
|
+
return {
|
|
1530
|
+
valid,
|
|
1531
|
+
msg: valid ? '' : msg
|
|
1532
|
+
}
|
|
1533
|
+
},
|
|
1383
1534
|
})
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"card-modal": "../../components/card-modal/card-modal",
|
|
12
12
|
"tip-modal": "../../components/tip-modal/tip-modal",
|
|
13
13
|
"face-error-modal": "../../components/face-error-modal/face-error-modal",
|
|
14
|
-
"g-switch": "../../components/gsd-ui/g-switch/index"
|
|
14
|
+
"g-switch": "../../components/gsd-ui/g-switch/index",
|
|
15
|
+
"g-tips": "../../components/gsd-ui/g-tips/index"
|
|
15
16
|
},
|
|
16
17
|
"navigationBarTitleText": "身份验证"
|
|
17
18
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
<view wx:if="showCustomTips" class="custom-tips">
|
|
2
|
+
<g-tips position="fixed" is-show="{{showCustomTips}}" status="warn" closeable catch:close="handleTipsClose">
|
|
3
|
+
{{customTipsMsg}}
|
|
4
|
+
</g-tips>
|
|
5
|
+
</view>
|
|
1
6
|
<view class="{{ language == 'en' ? 'en-page' : ''}}">
|
|
2
7
|
<view class="top-box">
|
|
3
8
|
<view class="img-box">
|
|
@@ -363,25 +368,29 @@
|
|
|
363
368
|
<!-- 姓 -->
|
|
364
369
|
<view class="form-item-wrap">
|
|
365
370
|
<g-input
|
|
366
|
-
id="
|
|
371
|
+
id="sur_name_en"
|
|
367
372
|
label="Surname"
|
|
368
373
|
placeholder=""
|
|
369
|
-
value="{{ formData.
|
|
374
|
+
value="{{ formData.sur_name_en }}"
|
|
370
375
|
clearable="true"
|
|
376
|
+
_required="{{ false }}"
|
|
371
377
|
bind:change="handleChange"
|
|
372
378
|
/>
|
|
379
|
+
<view wx:if="!sur_name_state.valid" class="form-item__status-message--warn">{{ sur_name_state.msg }}</view>
|
|
373
380
|
</view>
|
|
374
381
|
|
|
375
382
|
<!-- 名 -->
|
|
376
383
|
<view class="form-item-wrap">
|
|
377
384
|
<g-input
|
|
378
|
-
id="
|
|
385
|
+
id="first_name_en"
|
|
379
386
|
label="Given names"
|
|
380
387
|
placeholder=""
|
|
381
|
-
value="{{ formData.
|
|
388
|
+
value="{{ formData.first_name_en }}"
|
|
382
389
|
clearable="true"
|
|
390
|
+
_required="{{ false }}"
|
|
383
391
|
bind:change="handleChange"
|
|
384
392
|
/>
|
|
393
|
+
<view wx:if="!first_name_state.valid" class="form-item__status-message--warn">{{ first_name_state.msg }}</view>
|
|
385
394
|
</view>
|
|
386
395
|
|
|
387
396
|
<!-- 性别 -->
|
|
@@ -114,4 +114,21 @@
|
|
|
114
114
|
width: 40rpx;
|
|
115
115
|
height: 40rpx;
|
|
116
116
|
flex-shrink: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.form-item__status-message--warn {
|
|
120
|
+
color: #f13939;
|
|
121
|
+
font-size: 30rpx;
|
|
122
|
+
line-height: 40rpx;
|
|
123
|
+
margin-top: 10rpx;
|
|
124
|
+
padding-left: 40rpx;
|
|
125
|
+
padding-right: 40rpx;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.custom-tips {
|
|
129
|
+
position: fixed;
|
|
130
|
+
z-index: 905;
|
|
131
|
+
box-sizing: border-box;
|
|
132
|
+
top: 0rpx;
|
|
133
|
+
width: 100%;
|
|
117
134
|
}
|
|
@@ -246,48 +246,48 @@ const ForeignPassortRules = (language) => {
|
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
-
//
|
|
250
|
-
const ForeignPassortRulesFace = (language) => {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
249
|
+
// 外国人护照(旧逻辑)
|
|
250
|
+
// const ForeignPassortRulesFace = (language) => {
|
|
251
|
+
// const rules = dict.rules.foreignerRulesFace
|
|
252
|
+
// const { id_card_number, sur_name, first_name } = rules
|
|
253
|
+
// return {
|
|
254
|
+
// id_card_number: [
|
|
255
|
+
// { type: 'required', message: `${id_card_number.required[language]}` },
|
|
256
|
+
// { type: 'id_card_number', message: `${id_card_number.validate[language]}` }
|
|
257
|
+
// ],
|
|
258
|
+
// nation: [
|
|
259
|
+
// { type: 'required', message: `${rules.nation.required[language]}` }
|
|
260
|
+
// ],
|
|
261
|
+
// sur_name: [
|
|
262
|
+
// { type: 'required', message: `${sur_name.required[language]}` },
|
|
263
|
+
// { type: 'sur_name', message: `${sur_name.validate[language]}` }
|
|
264
|
+
// ],
|
|
265
|
+
// first_name: [
|
|
266
|
+
// { type: 'required', message: `${first_name.required[language]}` },
|
|
267
|
+
// { type: 'first_name', message: `${first_name.validate[language]}` }
|
|
268
|
+
// ],
|
|
269
|
+
// sex: [
|
|
270
|
+
// { type: 'required', message: `${rules.sex[language]}` }
|
|
271
|
+
// ],
|
|
272
|
+
// birthday: [
|
|
273
|
+
// { type: 'required', message: `${rules.birthday[language]}` }
|
|
274
|
+
// ],
|
|
275
|
+
// cid_expire_date: [
|
|
276
|
+
// { type: 'required', message: `${rules.cid_expire_date[language]}` }
|
|
277
|
+
// ],
|
|
278
|
+
// phone: [
|
|
279
|
+
// { type: 'required', message: `${rules.phone.required[language]}` }
|
|
280
|
+
// ],
|
|
281
|
+
// verify_expire_time: [
|
|
282
|
+
// { type: 'required', message: `${verify_expire_time.required[language]}` },
|
|
283
|
+
// { type: 'verify_expire_time', message: `${verify_expire_time.required[language]}` }
|
|
284
|
+
// ],
|
|
285
|
+
// agree: [
|
|
286
|
+
// { type: 'required', message: `${agree.required[language]}` },
|
|
287
|
+
// { type: 'agree', message: `${agree.required[language]}` }
|
|
288
|
+
// ]
|
|
289
|
+
// }
|
|
290
|
+
// }
|
|
291
291
|
|
|
292
292
|
module.exports = {
|
|
293
293
|
chinaRules,
|
|
@@ -295,7 +295,6 @@ module.exports = {
|
|
|
295
295
|
residenceAuthRules,
|
|
296
296
|
cardRules,
|
|
297
297
|
ForeignPassortRules,
|
|
298
|
-
ForeignPassortRulesFace,
|
|
299
298
|
HMPassRulesForeign,
|
|
300
299
|
HMORulesMore,
|
|
301
300
|
residenceRules
|