react_hsbc_teller 1.9.10 → 1.9.12
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/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -142,7 +142,7 @@ export default class foot extends Component {
|
|
|
142
142
|
<div className="one" onClick={this.ocrClick.bind(this)}>
|
|
143
143
|
<img className="imgClass" src={require("../../assets/img/icon_ocr.png").default} alt="" />
|
|
144
144
|
<div className="text">
|
|
145
|
-
|
|
145
|
+
证件识别
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
// </Popover>
|
|
@@ -14,6 +14,7 @@ import cameraImgOpen from '../../assets/img/icon_camera.png'
|
|
|
14
14
|
import cameraImgCloe from '../../assets/img/icon_cameraOne.png'
|
|
15
15
|
import beautyImg from '../../assets/img/whiteningLut.jpg'
|
|
16
16
|
import ocrImage from '../../assets/img/jietu.png'
|
|
17
|
+
import faceImage from '../../assets/img/jietu_face.png'
|
|
17
18
|
import autod from '../../assets/mp3/joinmeeting.mp3'
|
|
18
19
|
import internalJoin from '../../assets/mp3/internalJoin.mp3'
|
|
19
20
|
import internalLeft from '../../assets/mp3/internalLeft.mp3'
|
|
@@ -42,6 +43,8 @@ import { Button } from '../../../node_modules/antd/lib/index';
|
|
|
42
43
|
import SignMy from '../sign/signMy.jsx'
|
|
43
44
|
import axios from 'axios';
|
|
44
45
|
import CryptoJS from "crypto-js";
|
|
46
|
+
const IDtypeFront = '请客户在其设备后置摄像头下展示证件正面(如:身份证照片页面)'
|
|
47
|
+
const IDtypeBack = '请在后置摄像头下展示证件反面(如:身份证国徽页)'
|
|
45
48
|
const { Option } = Select;
|
|
46
49
|
const LEAVE_TYPE = {
|
|
47
50
|
TELLER_EXIT: 1, // 坐席退出
|
|
@@ -179,7 +182,7 @@ class Video extends Component {
|
|
|
179
182
|
isWhiteboard: false,
|
|
180
183
|
isSelect: '',
|
|
181
184
|
loading: false,
|
|
182
|
-
titleModal: '
|
|
185
|
+
titleModal: '身份验证',
|
|
183
186
|
faceCustomerType: 1, // 1无感人脸,2ocr
|
|
184
187
|
faceCustomerUid: '',
|
|
185
188
|
customerList: [],
|
|
@@ -352,7 +355,7 @@ class Video extends Component {
|
|
|
352
355
|
saveLog = (val) => {
|
|
353
356
|
axios({
|
|
354
357
|
method: 'get',
|
|
355
|
-
baseURL: this.props.logUrl + '&message=' + encodeURIComponent(val) + '&react_hsbc_teller=1.9.
|
|
358
|
+
baseURL: this.props.logUrl + '&message=' + encodeURIComponent(val) + '&react_hsbc_teller=1.9.12&logTime=' + Date.now() + '&mtoken=' + encodeURIComponent(this.state.rtoken) + '&roomId=' + encodeURIComponent(this.state.channelId) + '&sessionId=' + encodeURIComponent(this.state.sessionId) + '&appointmentID=' + this.props.businessNumber,
|
|
356
359
|
|
|
357
360
|
}).then(res => {
|
|
358
361
|
|
|
@@ -780,7 +783,7 @@ class Video extends Component {
|
|
|
780
783
|
this.setState({
|
|
781
784
|
cardFailReason: '证件图片不清晰,请重试。返回重拍时,请检查并确保身份证件图片信息完整清晰后再提交核查。[#'+value+'#]'
|
|
782
785
|
})
|
|
783
|
-
} else if(value == -1001 || value == -1002|| value == -1003||value == -1004||value == -1005||value==-
|
|
786
|
+
} else if(value == -1001 || value == -1002|| value == -1003||value == -1004||value == -1005||value==-100801||value==-100802) {
|
|
784
787
|
this.setState({
|
|
785
788
|
cardFailReason: '系统或网络连接异常,请重试。若仍有问题,请联系Support同事。[#'+value+'#]'
|
|
786
789
|
})
|
|
@@ -799,7 +802,11 @@ class Video extends Component {
|
|
|
799
802
|
this.setState({
|
|
800
803
|
faceFailReason: '用户信息核查未通过。请返回重试。返回重拍时,请检查并确保客户照片完整清晰后再提交核查。[#'+ value + '#]'
|
|
801
804
|
})
|
|
802
|
-
}else if(value ==
|
|
805
|
+
}else if(value == 206) {
|
|
806
|
+
this.setState({
|
|
807
|
+
faceFailReason: '用户信息核查无法处理,请重试。若仍有问题,请联系Support同事。[#'+ value + '#]'
|
|
808
|
+
})
|
|
809
|
+
} else if(value == 209) {
|
|
803
810
|
this.setState({
|
|
804
811
|
faceFailReason: '用户信息核查未通过。请确认客户与其提供的证件信息一致后,再提交核查。[#'+ value + '#]'
|
|
805
812
|
})
|
|
@@ -1083,7 +1090,7 @@ class Video extends Component {
|
|
|
1083
1090
|
if (this.isFileSuccuse()) {
|
|
1084
1091
|
this.state.faceCustomerType = 1
|
|
1085
1092
|
this.setState({
|
|
1086
|
-
titleModal: '
|
|
1093
|
+
titleModal: '身份验证'
|
|
1087
1094
|
})
|
|
1088
1095
|
this.selectCustomer('facial')
|
|
1089
1096
|
}
|
|
@@ -1092,7 +1099,7 @@ class Video extends Component {
|
|
|
1092
1099
|
if (this.isFileSuccuse()) {
|
|
1093
1100
|
this.state.faceCustomerType = 2
|
|
1094
1101
|
this.setState({
|
|
1095
|
-
titleModal: '
|
|
1102
|
+
titleModal: '拍摄证件照片'
|
|
1096
1103
|
})
|
|
1097
1104
|
this.selectCustomer('ocr')
|
|
1098
1105
|
}
|
|
@@ -3871,7 +3878,7 @@ class Video extends Component {
|
|
|
3871
3878
|
}
|
|
3872
3879
|
}
|
|
3873
3880
|
componentWillMount() {
|
|
3874
|
-
console.log('hsbc_teller_sdk', '1.9.
|
|
3881
|
+
console.log('hsbc_teller_sdk', '1.9.12')
|
|
3875
3882
|
if (this.props.sessionId) {
|
|
3876
3883
|
this.getRoomStatus({
|
|
3877
3884
|
sessionId: this.props.sessionId
|
|
@@ -4241,6 +4248,7 @@ class Video extends Component {
|
|
|
4241
4248
|
PasswordSFP: event.target.value
|
|
4242
4249
|
})
|
|
4243
4250
|
}
|
|
4251
|
+
// ocr结果入库
|
|
4244
4252
|
confirmCallback = async (data) => {
|
|
4245
4253
|
try {
|
|
4246
4254
|
let result = await API.confirmCallback({
|
|
@@ -4286,9 +4294,9 @@ class Video extends Component {
|
|
|
4286
4294
|
certificateValidity: '',
|
|
4287
4295
|
idCardNumber: '',
|
|
4288
4296
|
idCardName: '',
|
|
4289
|
-
titleModal: '
|
|
4297
|
+
titleModal: '身份验证',
|
|
4290
4298
|
// clickedFacial: true,
|
|
4291
|
-
facialImg:
|
|
4299
|
+
facialImg: faceImage,
|
|
4292
4300
|
isFaceImage: false
|
|
4293
4301
|
})
|
|
4294
4302
|
})
|
|
@@ -4484,7 +4492,7 @@ class Video extends Component {
|
|
|
4484
4492
|
}
|
|
4485
4493
|
handleOkFacial = () => {
|
|
4486
4494
|
if (this.state.faceCustomerType == 2) {
|
|
4487
|
-
if (this.state.IDtypeFrontOrBack ==
|
|
4495
|
+
if (this.state.IDtypeFrontOrBack == IDtypeFront) {
|
|
4488
4496
|
if(this.state.documentType == 'PASSPORT_CARD' || this.state.documentType == 'TW_PASS_CARD' || this.state.documentType == 'HK_MO_PASS_CARD') {
|
|
4489
4497
|
this.setState({
|
|
4490
4498
|
loadingFace: true
|
|
@@ -4493,12 +4501,12 @@ class Video extends Component {
|
|
|
4493
4501
|
} else {
|
|
4494
4502
|
this.setState({
|
|
4495
4503
|
facialImg: ocrImage,
|
|
4496
|
-
IDtypeFrontOrBack:
|
|
4504
|
+
IDtypeFrontOrBack: IDtypeBack,
|
|
4497
4505
|
isFaceImage: false,
|
|
4498
4506
|
})
|
|
4499
4507
|
}
|
|
4500
4508
|
|
|
4501
|
-
} else if (this.state.IDtypeFrontOrBack ==
|
|
4509
|
+
} else if (this.state.IDtypeFrontOrBack == IDtypeBack) {
|
|
4502
4510
|
this.setState({
|
|
4503
4511
|
loadingFace: true
|
|
4504
4512
|
})
|
|
@@ -4567,7 +4575,7 @@ class Video extends Component {
|
|
|
4567
4575
|
isFaceImage: false,
|
|
4568
4576
|
facialImg: ocrImage,
|
|
4569
4577
|
disabledIdCard: true,
|
|
4570
|
-
IDtypeFrontOrBack:
|
|
4578
|
+
IDtypeFrontOrBack: IDtypeFront,
|
|
4571
4579
|
facialImgFront: '',
|
|
4572
4580
|
facialImgBack: '',
|
|
4573
4581
|
faceResuly: '',
|
|
@@ -4727,9 +4735,9 @@ class Video extends Component {
|
|
|
4727
4735
|
clickedFacial: false,
|
|
4728
4736
|
clickedOcr: false,
|
|
4729
4737
|
isFaceImage: false,
|
|
4730
|
-
facialImg: ocrImage,
|
|
4738
|
+
facialImg: this.state.titleModal=='身份验证'? faceImage : ocrImage,
|
|
4731
4739
|
disabledIdCard: true,
|
|
4732
|
-
IDtypeFrontOrBack:
|
|
4740
|
+
IDtypeFrontOrBack: IDtypeFront,
|
|
4733
4741
|
facialImgFront: '',
|
|
4734
4742
|
facialImgBack: '',
|
|
4735
4743
|
faceResuly: '',
|
|
@@ -4750,13 +4758,13 @@ class Video extends Component {
|
|
|
4750
4758
|
}
|
|
4751
4759
|
}
|
|
4752
4760
|
sgsinImage = () => {
|
|
4753
|
-
if (this.state.IDtypeFrontOrBack ==
|
|
4761
|
+
if (this.state.IDtypeFrontOrBack == IDtypeFront) {
|
|
4754
4762
|
this.setState({
|
|
4755
4763
|
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
|
|
4756
4764
|
isFaceImage: true,
|
|
4757
4765
|
facialImgFront: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
|
|
4758
4766
|
})
|
|
4759
|
-
} else if (this.state.IDtypeFrontOrBack ==
|
|
4767
|
+
} else if (this.state.IDtypeFrontOrBack == IDtypeBack) {
|
|
4760
4768
|
this.setState({
|
|
4761
4769
|
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
|
|
4762
4770
|
isFaceImage: true,
|
|
@@ -5643,14 +5651,26 @@ class Video extends Component {
|
|
|
5643
5651
|
'sessionId': this.state.sessionId,
|
|
5644
5652
|
'userId': this.state.customerList[this.state.customerSelect - 1].customId,
|
|
5645
5653
|
'title': '为了有效确认客户身份,请您配合进行我行的身份识别和核验。请您阅读以下内容,若您同意,请您之后在摄像头前出示您的身份证件,我行将对您的身份证件拍照并采集证件信息;同时,我行会对您进行脸部拍照,采集您的脸部图像。',
|
|
5654
|
+
'title_en': 'In order to confirm client’s identify, please cooperate with HSBC (China) Co., Ltd. (“the bank”) for identity verification. Please read the following and provide your authorization to the bank to capture your ID image and information, take picture of your face and retain them for identification and verification purpose.',
|
|
5655
|
+
'navBarTitle': '客户授权',
|
|
5656
|
+
'navBarTitle_en': '客户授权(en)',
|
|
5646
5657
|
'list': [
|
|
5647
5658
|
{
|
|
5648
5659
|
'id': 1,
|
|
5649
|
-
'content': '您是否授权汇丰中国对您的证件以及脸部进行拍照,采集并留存您的证件信息以及脸部图像以便我行进行身份识别?'
|
|
5660
|
+
'content': '您是否授权汇丰中国对您的证件以及脸部进行拍照,采集并留存您的证件信息以及脸部图像以便我行进行身份识别?',
|
|
5661
|
+
'content_en': 'Do you agree the bank to photograph your ID and face image, collect and retain ID information and face image for identification?'
|
|
5650
5662
|
},
|
|
5651
5663
|
{
|
|
5652
5664
|
'id': 2,
|
|
5653
|
-
'content': '为了通过人脸对比进行身份识别和核验,我行需要将您的姓名、身份证件号码和脸部图像发送给中国人民银行或全国公民身份证号码查询服务中心授权的第三方,并由第三方进一步发送至中国人民银行或全国公民身份证号码查询服务中心进行人脸对比或信息核对。'
|
|
5665
|
+
'content': '为了通过人脸对比进行身份识别和核验,我行需要将您的姓名、身份证件号码和脸部图像发送给中国人民银行或全国公民身份证号码查询服务中心授权的第三方,并由第三方进一步发送至中国人民银行或全国公民身份证号码查询服务中心进行人脸对比或信息核对。',
|
|
5666
|
+
'content_en': 'For further identification and verification purpose, do you agree the bank to send your name, ID number and face image to the public security authority (including its affiliates or agencies) to perform the identification and information verification process?'
|
|
5667
|
+
},
|
|
5668
|
+
{
|
|
5669
|
+
'id': 3,
|
|
5670
|
+
'content': '本人同意使用电子签名方式签署作为陪同者所需签署的文件,并授权汇丰银行(中国)有限公司(“汇丰中国”)通过电子签名服务供应商向第三方认证机构提供本人的姓名和身份证件号码,用以申请本人专属的数字证书,本人在电子设备上签署文件即表明本人指示汇丰中国使用本人专属电子证书对该等文件进行电子签名。本人知悉并同意,电子签名和手写签名具有同等法律效力。 \n说明:电子签名服务供应商和第三方认证机构的名称和联系方式如下:' +
|
|
5671
|
+
'\n电子签名服务供应商:杭州尚尚签网络科技有限公司(联系电话:4009936665)\n第三方认证机构: \n北京天威诚信电子商务服务有限公司(联系电话:010-50947500)\n中金金融认证中心有限公司(联系电话:010-83526655)',
|
|
5672
|
+
'content_en': 'To sign in the relevant document required as companion, do you agree to adopt electronic signature in it?. And you shall authorize HSBC (China) Co., Ltd to provide your name and identity document number to the certificate authority through the electronic signature service provider to apply for your own digital certificate. By signing the document on the electronic device, you authorize HSBC (China) Co., Ltd to use your digital certificate and apply your electronic signature to the documents. You understand and agree that electronic signature has the same legal effect as handwritten signature.' +
|
|
5673
|
+
'\nPlease be noted the names and contact information of the electronic signature service provider and the certificate authority are as follows:\nElectronic signature service provider: Hangzhou BestSign Network Technology Co. Ltd. (Contact: 4009936665) \nCertificate Authority: \nChina Financial Certification Authority (Contact: 010-83526655)\niTrusChina Co., Ltd (Contact: 010-50947500)'
|
|
5654
5674
|
}
|
|
5655
5675
|
]
|
|
5656
5676
|
}
|
|
@@ -5663,10 +5683,21 @@ class Video extends Component {
|
|
|
5663
5683
|
'sessionId': this.state.sessionId,
|
|
5664
5684
|
'userId': this.state.customerList[this.state.customerSelect - 1].customId,
|
|
5665
5685
|
'title': '为了有效确认客户身份,请您配合进行我行的身份识别。请您阅读以下内容,若您同意,请您之后在摄像头前出示您的身份证件,我行将对您的身份证件拍照并采集证件信息;',
|
|
5686
|
+
'title_en': 'In order to confirm client’s identify, please cooperate with HSBC (China) Co., Ltd. (“the bank”) for identity verification. Please read the following and provide your authorization to the bank to capture your ID image and information and retain them for identification and verification purpose. ',
|
|
5687
|
+
'navBarTitle': '客户授权',
|
|
5688
|
+
'navBarTitle_en': '客户授权(en)',
|
|
5666
5689
|
'list': [
|
|
5667
5690
|
{
|
|
5668
5691
|
'id': 1,
|
|
5669
|
-
'content': '您是否授权汇丰中国对您的证件进行拍照,采集并留存您的证件信息以便我行进行身份确认?'
|
|
5692
|
+
'content': '您是否授权汇丰中国对您的证件进行拍照,采集并留存您的证件信息以便我行进行身份确认?',
|
|
5693
|
+
'content_en': 'Do you agree the bank to photograph your ID ,collect and retain ID information and for identification?'
|
|
5694
|
+
},
|
|
5695
|
+
{
|
|
5696
|
+
'id': 2,
|
|
5697
|
+
'content': '本人同意使用电子签名方式签署作为陪同者所需签署的文件,并授权汇丰银行(中国)有限公司(“汇丰中国”)通过电子签名服务供应商向第三方认证机构提供本人的姓名和身份证件号码,用以申请本人专属的数字证书,本人在电子设备上签署文件即表明本人指示汇丰中国使用本人专属电子证书对该等文件进行电子签名。本人知悉并同意,电子签名和手写签名具有同等法律效力。 \n说明:电子签名服务供应商和第三方认证机构的名称和联系方式如下:' +
|
|
5698
|
+
'\n电子签名服务供应商:杭州尚尚签网络科技有限公司(联系电话:4009936665)\n第三方认证机构: \n北京天威诚信电子商务服务有限公司(联系电话:010-50947500)\n中金金融认证中心有限公司(联系电话:010-83526655)',
|
|
5699
|
+
'content_en': 'To sign in the relevant document required as companion, do you agree to adopt electronic signature in it?. And you shall authorize HSBC (China) Co., Ltd to provide your name and identity document number to the certificate authority through the electronic signature service provider to apply for your own digital certificate. By signing the document on the electronic device, you authorize HSBC (China) Co., Ltd to use your digital certificate and apply your electronic signature to the documents. You understand and agree that electronic signature has the same legal effect as handwritten signature.' +
|
|
5700
|
+
'\nPlease be noted the names and contact information of the electronic signature service provider and the certificate authority are as follows:\nElectronic signature service provider: Hangzhou BestSign Network Technology Co. Ltd. (Contact: 4009936665) \nCertificate Authority: \nChina Financial Certification Authority (Contact: 010-83526655)\niTrusChina Co., Ltd (Contact: 010-50947500)'
|
|
5670
5701
|
}
|
|
5671
5702
|
]
|
|
5672
5703
|
}
|
|
@@ -6385,7 +6416,7 @@ class Video extends Component {
|
|
|
6385
6416
|
virtualization={this.virtualization}
|
|
6386
6417
|
></Foot>
|
|
6387
6418
|
{/* 暂停恢复会话 */}
|
|
6388
|
-
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
|
|
6419
|
+
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} maskClosable={false} onOk={this.handleOk}
|
|
6389
6420
|
onCancel={this.handleCancel}>
|
|
6390
6421
|
{
|
|
6391
6422
|
this.state.isSuspend && <span>确定是否恢复会话?</span>
|
|
@@ -6395,7 +6426,7 @@ class Video extends Component {
|
|
|
6395
6426
|
}
|
|
6396
6427
|
</Modal>
|
|
6397
6428
|
{/* 是否退出会议*/}
|
|
6398
|
-
<Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} footer={[
|
|
6429
|
+
<Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} maskClosable={false} footer={[
|
|
6399
6430
|
<div key='end'>
|
|
6400
6431
|
<Button className="modelButtonCancel" onClick={this.handleCancelEnd}>取消</Button>
|
|
6401
6432
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}>确定</Button>
|
|
@@ -6404,11 +6435,11 @@ class Video extends Component {
|
|
|
6404
6435
|
<div className='endModal'>是否要结束并退出会议?</div>
|
|
6405
6436
|
</Modal>
|
|
6406
6437
|
{/* ocr及人脸 */}
|
|
6407
|
-
<Modal title={this.state.titleModal} width={650} closable={false} centered={true} visible={this.state.isModalVisibleFacial} footer={[
|
|
6438
|
+
<Modal title={this.state.titleModal} width={650} closable={true} maskClosable={false} onCancel={this.handleCancelFacial} centered={true} visible={this.state.isModalVisibleFacial} footer={[
|
|
6408
6439
|
// ocr及人脸在截图界面的按钮
|
|
6409
6440
|
this.state.cardResuly == '' && this.state.faceResuly == '' &&<div key='facial'>
|
|
6410
6441
|
<Button className="modelButtonCancel" onClick={this.handleCancelFacial}>取消</Button>
|
|
6411
|
-
<Button className="modelButtonCancel" onClick={this.sgsinImage}
|
|
6442
|
+
<Button className="modelButtonCancel" onClick={this.sgsinImage}>拍照</Button>
|
|
6412
6443
|
{/* 再截图后按钮高亮 */}
|
|
6413
6444
|
{
|
|
6414
6445
|
this.state.isFaceImage && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkFacial}>下一步</Button>
|
|
@@ -6433,13 +6464,13 @@ class Video extends Component {
|
|
|
6433
6464
|
// ocr成功
|
|
6434
6465
|
this.state.cardResuly == 'success' && <div key='facial'>
|
|
6435
6466
|
{
|
|
6436
|
-
this.state.disabledIdCard && <Button className="modelButtonFaceOk" danger onClick={(e) => this.updateConfirm('noFace')}
|
|
6467
|
+
this.state.disabledIdCard && <Button className="modelButtonFaceOk" danger onClick={(e) => this.updateConfirm('noFace')}>修正证件信息</Button>
|
|
6437
6468
|
}
|
|
6438
6469
|
{
|
|
6439
|
-
this.state.documentType == 'ID_CARD' && this.state.certificateValidityType && <Button className="modelButtonFaceOkColor" danger onClick={(e) => this.confirmCallback('face')}
|
|
6470
|
+
this.state.documentType == 'ID_CARD' && this.state.certificateValidityType && <Button className="modelButtonFaceOkColor" danger onClick={(e) => this.confirmCallback('face')}>确认信息并发起人脸识别</Button>
|
|
6440
6471
|
}
|
|
6441
6472
|
{
|
|
6442
|
-
this.state.documentType == 'ID_CARD' && !this.state.certificateValidityType && <Button className="modelButtonFaceOkColorFile" danger
|
|
6473
|
+
this.state.documentType == 'ID_CARD' && !this.state.certificateValidityType && <Button className="modelButtonFaceOkColorFile" danger >确认信息并发起人脸识别</Button>
|
|
6443
6474
|
}
|
|
6444
6475
|
{
|
|
6445
6476
|
this.state.documentType != 'ID_CARD' &&this.state.certificateValidityType && <Button className="modelButtonOk" type="primary" danger onClick={(e) => this.confirmCallback('noFace')}>完成</Button>
|
|
@@ -6460,7 +6491,10 @@ class Video extends Component {
|
|
|
6460
6491
|
{this.state.cardResuly == '' && <div className='faceCardImg'>
|
|
6461
6492
|
|
|
6462
6493
|
{
|
|
6463
|
-
this.state.titleModal == '
|
|
6494
|
+
this.state.titleModal == '拍摄证件照片' && <div className='titleDiv'>{this.state.IDtypeFrontOrBack}</div>
|
|
6495
|
+
}
|
|
6496
|
+
{
|
|
6497
|
+
this.state.titleModal == '身份验证' && this.state.faceResuly == '' && <div className='titleDiv'>请确保陪同者头像清楚显示在前置镜头前</div>
|
|
6464
6498
|
}
|
|
6465
6499
|
|
|
6466
6500
|
{
|
|
@@ -6469,7 +6503,7 @@ class Video extends Component {
|
|
|
6469
6503
|
{
|
|
6470
6504
|
this.state.videoType == 'error' && <div className='errorClassFace videoErrorClass'>
|
|
6471
6505
|
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>
|
|
6472
|
-
|
|
6506
|
+
请点击“拍照”拍摄客户人像的照片。若界面无客户头像显示,请检查网络并保持网络稳定后,点击“拍照”重试
|
|
6473
6507
|
</div>
|
|
6474
6508
|
}
|
|
6475
6509
|
<video disablePictureInPicture className="faceImg" id="publish_video_2" autoPlay muted={true}></video>
|
|
@@ -6490,14 +6524,14 @@ class Video extends Component {
|
|
|
6490
6524
|
this.state.cardFailReason && <span>{this.state.cardFailReason}</span>
|
|
6491
6525
|
}
|
|
6492
6526
|
{
|
|
6493
|
-
!this.state.cardFailReason && <span
|
|
6527
|
+
!this.state.cardFailReason && <span>识别证件信息成功</span>
|
|
6494
6528
|
}
|
|
6495
6529
|
|
|
6496
6530
|
</div>
|
|
6497
6531
|
}
|
|
6498
6532
|
{
|
|
6499
6533
|
this.state.cardResuly == 'fail' && <div className='errorClassFace'>
|
|
6500
|
-
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img
|
|
6534
|
+
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>识别证件信息失败--{this.state.cardFailReason}</div>
|
|
6501
6535
|
}
|
|
6502
6536
|
<div className='imgDIV'>
|
|
6503
6537
|
<img className="faceImgCard" src={this.state.facialImgFront} alt=""></img>
|
|
@@ -6513,16 +6547,16 @@ class Video extends Component {
|
|
|
6513
6547
|
</div>
|
|
6514
6548
|
}
|
|
6515
6549
|
{
|
|
6516
|
-
this.state.titleModal == '
|
|
6550
|
+
this.state.titleModal == '身份验证' && this.state.faceResuly != '' && <div className='resuleCard'>
|
|
6517
6551
|
{
|
|
6518
6552
|
this.state.faceResuly == 'success' && <div className='successClassFace'>
|
|
6519
6553
|
<img src={require("../../assets/img/tooltips1_pass.png").default} alt="" ></img>
|
|
6520
6554
|
|
|
6521
|
-
|
|
6555
|
+
认证通过</div>
|
|
6522
6556
|
}
|
|
6523
6557
|
{
|
|
6524
6558
|
this.state.faceResuly == 'fail' && <div className='errorClassFace'>
|
|
6525
|
-
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img
|
|
6559
|
+
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>{this.state.faceFailReason}</div>
|
|
6526
6560
|
}
|
|
6527
6561
|
<div><span>客户姓名</span> <input disabled type="text" value={this.state.idCardNameFace}/></div>
|
|
6528
6562
|
<div><span>身份证号</span> <input disabled type="text" value={this.state.idCardNumberFace}/></div>
|
|
@@ -6533,7 +6567,7 @@ class Video extends Component {
|
|
|
6533
6567
|
</div>
|
|
6534
6568
|
</Spin>
|
|
6535
6569
|
</Modal>
|
|
6536
|
-
<Modal title="经理人员授权" closable={false} centered={true} visible={this.state.isModalVisibleSFP}
|
|
6570
|
+
<Modal title="经理人员授权" closable={false} centered={true} visible={this.state.isModalVisibleSFP} maskClosable={false}
|
|
6537
6571
|
footer={[
|
|
6538
6572
|
<div key='end'>
|
|
6539
6573
|
<Button className="modelButtonCancel" onClick={this.handleCancelSFP}>取消</Button>
|
|
@@ -6566,7 +6600,7 @@ class Video extends Component {
|
|
|
6566
6600
|
</div>
|
|
6567
6601
|
</Spin>
|
|
6568
6602
|
</Modal>
|
|
6569
|
-
<Modal title={this.state.customerTitleName} closable={false} centered={true} visible={this.state.isModalVisibleCustomer}
|
|
6603
|
+
<Modal title={this.state.customerTitleName} closable={false} centered={true} visible={this.state.isModalVisibleCustomer} maskClosable={false}
|
|
6570
6604
|
footer={[
|
|
6571
6605
|
<div key='end'>
|
|
6572
6606
|
|
|
@@ -6603,7 +6637,7 @@ class Video extends Component {
|
|
|
6603
6637
|
{
|
|
6604
6638
|
this.state.isCustomerSelect && <div>
|
|
6605
6639
|
<div>
|
|
6606
|
-
|
|
6640
|
+
请选择进行身份识别的客户(陪同者)
|
|
6607
6641
|
</div>
|
|
6608
6642
|
<div>
|
|
6609
6643
|
<Radio.Group onChange={this.onChangeOCRCustomer} value={this.state.customerSelect}>
|
|
@@ -6627,7 +6661,7 @@ class Video extends Component {
|
|
|
6627
6661
|
<img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>{this.state.documentError}</div>
|
|
6628
6662
|
}
|
|
6629
6663
|
<div>
|
|
6630
|
-
|
|
6664
|
+
请选择您的身份证件类型
|
|
6631
6665
|
</div>
|
|
6632
6666
|
<div>
|
|
6633
6667
|
<Radio.Group onChange={this.onChangeDocumentType} value={this.state.documentType}>
|
|
@@ -6649,7 +6683,7 @@ class Video extends Component {
|
|
|
6649
6683
|
|
|
6650
6684
|
</Modal>
|
|
6651
6685
|
|
|
6652
|
-
<Modal className="modelClass" title="邀请参会人员" closable={false} centered={true} visible={this.state.isModalVisibleInvitation} footer={[
|
|
6686
|
+
<Modal className="modelClass" maskClosable={false} title="邀请参会人员" closable={false} centered={true} visible={this.state.isModalVisibleInvitation} footer={[
|
|
6653
6687
|
<div key='invitation'>
|
|
6654
6688
|
<Button className="modelButtonCancel" onClick={this.handleCancelInvitation}>取消</Button>
|
|
6655
6689
|
{
|
|
@@ -6705,7 +6739,7 @@ class Video extends Component {
|
|
|
6705
6739
|
></CanvasDraw> */}
|
|
6706
6740
|
</div>
|
|
6707
6741
|
</Modal>
|
|
6708
|
-
<Modal title="设置视频设备" width={650} closable={false} centered={true} visible={this.state.isModalVisibleInspection} footer={[
|
|
6742
|
+
<Modal title="设置视频设备" maskClosable={false} width={650} closable={false} centered={true} visible={this.state.isModalVisibleInspection} footer={[
|
|
6709
6743
|
<div key='inspection'>
|
|
6710
6744
|
<Button className="modelButtonCancel" onClick={this.handleCancelInspection}>取消</Button>
|
|
6711
6745
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkInspection}>确定</Button>
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
border-spacing: 20px!important;
|
|
407
407
|
}
|
|
408
408
|
.modelButtonFaceOkColor{
|
|
409
|
-
width: 170px!important;
|
|
409
|
+
min-width: 170px!important;
|
|
410
410
|
height: 40px!important;
|
|
411
411
|
font-size: 16px!important;
|
|
412
412
|
color: #ffffff!important;
|
|
@@ -598,7 +598,8 @@ margin: 20Px 40px;
|
|
|
598
598
|
margin-bottom: 0px !important;
|
|
599
599
|
}
|
|
600
600
|
.titleDiv{
|
|
601
|
-
font-size: 1.
|
|
601
|
+
font-size: 1.2rem;
|
|
602
|
+
margin: 10px 0;
|
|
602
603
|
}
|
|
603
604
|
.videoListClass{
|
|
604
605
|
align-content: flex-start;
|