weapps-plugin-jingtong-verify 1.4.2 → 1.4.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 +1 -1
- package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.js +172 -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.4
|
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
|
/**
|
|
@@ -418,6 +434,11 @@ Page({
|
|
|
418
434
|
console.log('存在可回填的temp数据', formDataTemp[cid_type])
|
|
419
435
|
let formData = Object.assign(formDataOld, formDataTemp[cid_type])
|
|
420
436
|
Nation = formData.nation
|
|
437
|
+
// 国外护照,回填名字
|
|
438
|
+
if (cid_type === '700') {
|
|
439
|
+
formData.sur_name_en = formData.sur_name
|
|
440
|
+
formData.first_name_en = formData.first_name
|
|
441
|
+
}
|
|
421
442
|
this.setData({
|
|
422
443
|
formData
|
|
423
444
|
})
|
|
@@ -521,6 +542,9 @@ Page({
|
|
|
521
542
|
[`formData.${starId}`]: ''
|
|
522
543
|
})
|
|
523
544
|
}
|
|
545
|
+
if (['sur_name_en', 'first_name_en'].includes(formId)) {
|
|
546
|
+
this.validateFullname()
|
|
547
|
+
}
|
|
524
548
|
}
|
|
525
549
|
},
|
|
526
550
|
|
|
@@ -547,6 +571,8 @@ Page({
|
|
|
547
571
|
nation_name: '',
|
|
548
572
|
sur_name: '',
|
|
549
573
|
first_name: '',
|
|
574
|
+
sur_name_en: '',
|
|
575
|
+
first_name_en: '',
|
|
550
576
|
sex: '',
|
|
551
577
|
birthday: '',
|
|
552
578
|
cid_expire_date: '',
|
|
@@ -619,7 +645,9 @@ Page({
|
|
|
619
645
|
nation,
|
|
620
646
|
nation_name,
|
|
621
647
|
sur_name,
|
|
648
|
+
sur_name_en: sur_name,
|
|
622
649
|
first_name,
|
|
650
|
+
first_name_en: first_name,
|
|
623
651
|
sex: sex ? sex : '',
|
|
624
652
|
birthday,
|
|
625
653
|
cid_expire_date,
|
|
@@ -663,33 +691,78 @@ Page({
|
|
|
663
691
|
},
|
|
664
692
|
|
|
665
693
|
async handleFormSubmit(e) {
|
|
666
|
-
|
|
694
|
+
// 自定义校验结果
|
|
695
|
+
const formValid = e.detail.validStatus
|
|
696
|
+
let customValid = this.data.language !== 'en' ? { valid: true, msg: '' } : this.validateFullname()
|
|
697
|
+
if (!formValid || !customValid.valid) {
|
|
698
|
+
// 如果自定义校验字段没问题,则跳过
|
|
699
|
+
if (customValid.valid) {
|
|
700
|
+
return
|
|
701
|
+
}
|
|
702
|
+
// 自定义校验字段有问题,获取表单错误列表
|
|
703
|
+
const formErrList = e.detail.value
|
|
704
|
+
// 计算是否单独弹出错误提示
|
|
705
|
+
let showCustomTips = false
|
|
706
|
+
if (formErrList && formErrList.length) {
|
|
707
|
+
showCustomTips = !formErrList.some(i => ["id_card_number", "nation"].includes(i.name))
|
|
708
|
+
} else {
|
|
709
|
+
showCustomTips = true
|
|
710
|
+
}
|
|
711
|
+
// 如果需要弹出,则弹出
|
|
712
|
+
if (showCustomTips) {
|
|
713
|
+
this.setData({
|
|
714
|
+
showCustomTips: true,
|
|
715
|
+
customTipsMsg: customValid.msg
|
|
716
|
+
}, () => {
|
|
717
|
+
// 3秒后关闭
|
|
718
|
+
setTimeout(() => {
|
|
719
|
+
this.setData({
|
|
720
|
+
showCustomTips: false,
|
|
721
|
+
customTipsMsg: ''
|
|
722
|
+
});
|
|
723
|
+
}, 3500);
|
|
724
|
+
})
|
|
725
|
+
}
|
|
667
726
|
return
|
|
668
727
|
}
|
|
669
728
|
wx.showLoading({
|
|
670
729
|
title: '加载中…',
|
|
671
730
|
mask: true
|
|
672
731
|
})
|
|
673
|
-
|
|
732
|
+
// 处理参数
|
|
674
733
|
console.log('删除“姓名、证件号码、护照号码、手机号码”的前后空格')
|
|
675
734
|
let { name, id_card_number, sur_name, first_name, passport_number, phone, cid_type } = this.data.formData
|
|
676
|
-
|
|
677
735
|
this.setData({
|
|
678
736
|
['formData.name']: name.trim(),
|
|
679
|
-
['formData.sur_name']: sur_name.trim(),
|
|
680
|
-
['formData.first_name']: first_name.trim(),
|
|
681
737
|
['formData.passport_number']: passport_number.trim(),
|
|
682
|
-
['formData.phone']: phone.trim()
|
|
683
|
-
['formData.id_card_number']: id_card_number.trim()
|
|
738
|
+
['formData.phone']: phone.trim()
|
|
684
739
|
})
|
|
685
|
-
|
|
686
740
|
if (cid_type === '700') {
|
|
687
|
-
|
|
741
|
+
// 外国护照,sur_name和first_name需要特殊处理
|
|
742
|
+
let { sur_name_en, first_name_en } = this.data.formData
|
|
743
|
+
if (sur_name_en == null || sur_name_en === '') {
|
|
744
|
+
sur_name_en = ' '
|
|
745
|
+
} else {
|
|
746
|
+
sur_name = sur_name_en.trim()
|
|
747
|
+
}
|
|
748
|
+
if (first_name_en == null || first_name_en === '') {
|
|
749
|
+
first_name_en = ' '
|
|
750
|
+
} else {
|
|
751
|
+
first_name_en = first_name_en.trim()
|
|
752
|
+
}
|
|
753
|
+
this.setData({
|
|
754
|
+
['formData.sur_name']: sur_name_en,
|
|
755
|
+
['formData.first_name']: first_name_en,
|
|
756
|
+
// 删除“外国人护照号码”中间空格
|
|
757
|
+
['formData.id_card_number']: id_card_number.replace(/\s+/g, '').trim()
|
|
758
|
+
})
|
|
759
|
+
} else {
|
|
688
760
|
this.setData({
|
|
689
|
-
['formData.
|
|
761
|
+
['formData.sur_name']: sur_name.trim(),
|
|
762
|
+
['formData.first_name']: first_name.trim(),
|
|
763
|
+
['formData.id_card_number']: id_card_number.trim()
|
|
690
764
|
})
|
|
691
765
|
}
|
|
692
|
-
|
|
693
766
|
console.log('入参', this.data.formData)
|
|
694
767
|
|
|
695
768
|
let currentAuthType = this.data.currentAuthType
|
|
@@ -1379,5 +1452,90 @@ Page({
|
|
|
1379
1452
|
this.setData({
|
|
1380
1453
|
showForeignTip: false
|
|
1381
1454
|
})
|
|
1382
|
-
}
|
|
1455
|
+
},
|
|
1456
|
+
|
|
1457
|
+
// 验证sur_name和first_name
|
|
1458
|
+
validateFullname() {
|
|
1459
|
+
const {
|
|
1460
|
+
sur_name_en: sur_name,
|
|
1461
|
+
first_name_en: first_name
|
|
1462
|
+
} = this.data.formData
|
|
1463
|
+
// 两个都没填
|
|
1464
|
+
if ((sur_name == null || sur_name === '') && (first_name == null || first_name === '')) {
|
|
1465
|
+
const msgEmpty = 'Please fill in surname or given name';
|
|
1466
|
+
this.setData({
|
|
1467
|
+
sur_name_state: {
|
|
1468
|
+
valid: false,
|
|
1469
|
+
msg: msgEmpty
|
|
1470
|
+
},
|
|
1471
|
+
first_name_state: {
|
|
1472
|
+
valid: false,
|
|
1473
|
+
msg: msgEmpty
|
|
1474
|
+
}
|
|
1475
|
+
})
|
|
1476
|
+
return {
|
|
1477
|
+
valid: false,
|
|
1478
|
+
msg: msgEmpty
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
this.setData({
|
|
1482
|
+
sur_name_state: {
|
|
1483
|
+
valid: true,
|
|
1484
|
+
msg: ''
|
|
1485
|
+
},
|
|
1486
|
+
first_name_state: {
|
|
1487
|
+
valid: false,
|
|
1488
|
+
msg: ''
|
|
1489
|
+
}
|
|
1490
|
+
})
|
|
1491
|
+
// 其中一个填了,或者两个都填了
|
|
1492
|
+
let sur_name_flag = true
|
|
1493
|
+
let msg = 'Please enter capital letters'
|
|
1494
|
+
if (sur_name != null && sur_name !== '') {
|
|
1495
|
+
const valid = utils.validate.checkName(sur_name, cidType)
|
|
1496
|
+
if (valid.data) {
|
|
1497
|
+
sur_name_flag = true
|
|
1498
|
+
} else {
|
|
1499
|
+
this.setData({
|
|
1500
|
+
sur_name_state: {
|
|
1501
|
+
valid: false,
|
|
1502
|
+
msg
|
|
1503
|
+
}
|
|
1504
|
+
})
|
|
1505
|
+
sur_name_flag = false
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
let first_name_flag = true
|
|
1509
|
+
if (first_name != null && first_name !== '') {
|
|
1510
|
+
const valid = utils.validate.checkName(first_name, cidType)
|
|
1511
|
+
if (valid.data) {
|
|
1512
|
+
first_name_flag = true
|
|
1513
|
+
} else {
|
|
1514
|
+
this.setData({
|
|
1515
|
+
first_name_state: {
|
|
1516
|
+
valid: false,
|
|
1517
|
+
msg
|
|
1518
|
+
}
|
|
1519
|
+
})
|
|
1520
|
+
first_name_flag = false
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
if (sur_name_flag && first_name_flag) {
|
|
1524
|
+
this.setData({
|
|
1525
|
+
sur_name_state: {
|
|
1526
|
+
valid: true,
|
|
1527
|
+
msg: ''
|
|
1528
|
+
},
|
|
1529
|
+
first_name_state: {
|
|
1530
|
+
valid: false,
|
|
1531
|
+
msg: ''
|
|
1532
|
+
}
|
|
1533
|
+
})
|
|
1534
|
+
}
|
|
1535
|
+
const valid = sur_name_flag && first_name_flag
|
|
1536
|
+
return {
|
|
1537
|
+
valid,
|
|
1538
|
+
msg: valid ? '' : msg
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1383
1541
|
})
|
|
@@ -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
|