react_hsbc_teller 1.9.11 → 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react_hsbc_teller",
3
- "version": "1.9.11",
3
+ "version": "1.9.12",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
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
- OCR识别
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.11&logTime=' + Date.now() + '&mtoken=' + encodeURIComponent(this.state.rtoken) + '&roomId=' + encodeURIComponent(this.state.channelId) + '&sessionId=' + encodeURIComponent(this.state.sessionId) + '&appointmentID=' + this.props.businessNumber,
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==-1006) {
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 == 209) {
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: 'OCR识别'
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.11')
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
@@ -4287,9 +4294,9 @@ class Video extends Component {
4287
4294
  certificateValidity: '',
4288
4295
  idCardNumber: '',
4289
4296
  idCardName: '',
4290
- titleModal: '人脸识别',
4297
+ titleModal: '身份验证',
4291
4298
  // clickedFacial: true,
4292
- facialImg: ocrImage,
4299
+ facialImg: faceImage,
4293
4300
  isFaceImage: false
4294
4301
  })
4295
4302
  })
@@ -4485,7 +4492,7 @@ class Video extends Component {
4485
4492
  }
4486
4493
  handleOkFacial = () => {
4487
4494
  if (this.state.faceCustomerType == 2) {
4488
- if (this.state.IDtypeFrontOrBack == '请截取证件头像面') {
4495
+ if (this.state.IDtypeFrontOrBack == IDtypeFront) {
4489
4496
  if(this.state.documentType == 'PASSPORT_CARD' || this.state.documentType == 'TW_PASS_CARD' || this.state.documentType == 'HK_MO_PASS_CARD') {
4490
4497
  this.setState({
4491
4498
  loadingFace: true
@@ -4494,12 +4501,12 @@ class Video extends Component {
4494
4501
  } else {
4495
4502
  this.setState({
4496
4503
  facialImg: ocrImage,
4497
- IDtypeFrontOrBack: '请截取证件国徽面',
4504
+ IDtypeFrontOrBack: IDtypeBack,
4498
4505
  isFaceImage: false,
4499
4506
  })
4500
4507
  }
4501
4508
 
4502
- } else if (this.state.IDtypeFrontOrBack == '请截取证件国徽面') {
4509
+ } else if (this.state.IDtypeFrontOrBack == IDtypeBack) {
4503
4510
  this.setState({
4504
4511
  loadingFace: true
4505
4512
  })
@@ -4568,7 +4575,7 @@ class Video extends Component {
4568
4575
  isFaceImage: false,
4569
4576
  facialImg: ocrImage,
4570
4577
  disabledIdCard: true,
4571
- IDtypeFrontOrBack: '请截取证件头像面',
4578
+ IDtypeFrontOrBack: IDtypeFront,
4572
4579
  facialImgFront: '',
4573
4580
  facialImgBack: '',
4574
4581
  faceResuly: '',
@@ -4728,9 +4735,9 @@ class Video extends Component {
4728
4735
  clickedFacial: false,
4729
4736
  clickedOcr: false,
4730
4737
  isFaceImage: false,
4731
- facialImg: ocrImage,
4738
+ facialImg: this.state.titleModal=='身份验证'? faceImage : ocrImage,
4732
4739
  disabledIdCard: true,
4733
- IDtypeFrontOrBack: '请截取证件头像面',
4740
+ IDtypeFrontOrBack: IDtypeFront,
4734
4741
  facialImgFront: '',
4735
4742
  facialImgBack: '',
4736
4743
  faceResuly: '',
@@ -4751,13 +4758,13 @@ class Video extends Component {
4751
4758
  }
4752
4759
  }
4753
4760
  sgsinImage = () => {
4754
- if (this.state.IDtypeFrontOrBack == '请截取证件头像面') {
4761
+ if (this.state.IDtypeFrontOrBack == IDtypeFront) {
4755
4762
  this.setState({
4756
4763
  facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
4757
4764
  isFaceImage: true,
4758
4765
  facialImgFront: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
4759
4766
  })
4760
- } else if (this.state.IDtypeFrontOrBack == '请截取证件国徽面') {
4767
+ } else if (this.state.IDtypeFrontOrBack == IDtypeBack) {
4761
4768
  this.setState({
4762
4769
  facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
4763
4770
  isFaceImage: true,
@@ -6409,7 +6416,7 @@ class Video extends Component {
6409
6416
  virtualization={this.virtualization}
6410
6417
  ></Foot>
6411
6418
  {/* 暂停恢复会话 */}
6412
- <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
6419
+ <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} maskClosable={false} onOk={this.handleOk}
6413
6420
  onCancel={this.handleCancel}>
6414
6421
  {
6415
6422
  this.state.isSuspend && <span>确定是否恢复会话?</span>
@@ -6419,7 +6426,7 @@ class Video extends Component {
6419
6426
  }
6420
6427
  </Modal>
6421
6428
  {/* 是否退出会议*/}
6422
- <Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} footer={[
6429
+ <Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} maskClosable={false} footer={[
6423
6430
  <div key='end'>
6424
6431
  <Button className="modelButtonCancel" onClick={this.handleCancelEnd}>取消</Button>
6425
6432
  <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}>确定</Button>
@@ -6428,11 +6435,11 @@ class Video extends Component {
6428
6435
  <div className='endModal'>是否要结束并退出会议?</div>
6429
6436
  </Modal>
6430
6437
  {/* ocr及人脸 */}
6431
- <Modal title={this.state.titleModal} width={650} closable={true} onCancel={this.handleCancelFacial} 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={[
6432
6439
  // ocr及人脸在截图界面的按钮
6433
6440
  this.state.cardResuly == '' && this.state.faceResuly == '' &&<div key='facial'>
6434
6441
  <Button className="modelButtonCancel" onClick={this.handleCancelFacial}>取消</Button>
6435
- <Button className="modelButtonCancel" onClick={this.sgsinImage}>截图</Button>
6442
+ <Button className="modelButtonCancel" onClick={this.sgsinImage}>拍照</Button>
6436
6443
  {/* 再截图后按钮高亮 */}
6437
6444
  {
6438
6445
  this.state.isFaceImage && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkFacial}>下一步</Button>
@@ -6457,13 +6464,13 @@ class Video extends Component {
6457
6464
  // ocr成功
6458
6465
  this.state.cardResuly == 'success' && <div key='facial'>
6459
6466
  {
6460
- this.state.disabledIdCard && <Button className="modelButtonFaceOk" danger onClick={(e) => this.updateConfirm('noFace')}>修改</Button>
6467
+ this.state.disabledIdCard && <Button className="modelButtonFaceOk" danger onClick={(e) => this.updateConfirm('noFace')}>修正证件信息</Button>
6461
6468
  }
6462
6469
  {
6463
- this.state.documentType == 'ID_CARD' && this.state.certificateValidityType && <Button className="modelButtonFaceOkColor" danger onClick={(e) => this.confirmCallback('face')}>完成并发起人脸识别</Button>
6470
+ this.state.documentType == 'ID_CARD' && this.state.certificateValidityType && <Button className="modelButtonFaceOkColor" danger onClick={(e) => this.confirmCallback('face')}>确认信息并发起人脸识别</Button>
6464
6471
  }
6465
6472
  {
6466
- this.state.documentType == 'ID_CARD' && !this.state.certificateValidityType && <Button className="modelButtonFaceOkColorFile" danger >完成并发起人脸识别</Button>
6473
+ this.state.documentType == 'ID_CARD' && !this.state.certificateValidityType && <Button className="modelButtonFaceOkColorFile" danger >确认信息并发起人脸识别</Button>
6467
6474
  }
6468
6475
  {
6469
6476
  this.state.documentType != 'ID_CARD' &&this.state.certificateValidityType && <Button className="modelButtonOk" type="primary" danger onClick={(e) => this.confirmCallback('noFace')}>完成</Button>
@@ -6484,7 +6491,10 @@ class Video extends Component {
6484
6491
  {this.state.cardResuly == '' && <div className='faceCardImg'>
6485
6492
 
6486
6493
  {
6487
- this.state.titleModal == 'OCR识别' && <div className='titleDiv'>{this.state.IDtypeFrontOrBack}</div>
6494
+ this.state.titleModal == '拍摄证件照片' && <div className='titleDiv'>{this.state.IDtypeFrontOrBack}</div>
6495
+ }
6496
+ {
6497
+ this.state.titleModal == '身份验证' && this.state.faceResuly == '' && <div className='titleDiv'>请确保陪同者头像清楚显示在前置镜头前</div>
6488
6498
  }
6489
6499
 
6490
6500
  {
@@ -6493,7 +6503,7 @@ class Video extends Component {
6493
6503
  {
6494
6504
  this.state.videoType == 'error' && <div className='errorClassFace videoErrorClass'>
6495
6505
  <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>
6496
- 请点击“截图”拍摄客户人像的照片。若界面无客户头像显示,请检查网络并保持网络稳定后,点击“截图”重试
6506
+ 请点击“拍照”拍摄客户人像的照片。若界面无客户头像显示,请检查网络并保持网络稳定后,点击“拍照”重试
6497
6507
  </div>
6498
6508
  }
6499
6509
  <video disablePictureInPicture className="faceImg" id="publish_video_2" autoPlay muted={true}></video>
@@ -6514,14 +6524,14 @@ class Video extends Component {
6514
6524
  this.state.cardFailReason && <span>{this.state.cardFailReason}</span>
6515
6525
  }
6516
6526
  {
6517
- !this.state.cardFailReason && <span>识别成功</span>
6527
+ !this.state.cardFailReason && <span>识别证件信息成功</span>
6518
6528
  }
6519
6529
 
6520
6530
  </div>
6521
6531
  }
6522
6532
  {
6523
6533
  this.state.cardResuly == 'fail' && <div className='errorClassFace'>
6524
- <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>识别失败--{this.state.cardFailReason}</div>
6534
+ <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>识别证件信息失败--{this.state.cardFailReason}</div>
6525
6535
  }
6526
6536
  <div className='imgDIV'>
6527
6537
  <img className="faceImgCard" src={this.state.facialImgFront} alt=""></img>
@@ -6537,16 +6547,16 @@ class Video extends Component {
6537
6547
  </div>
6538
6548
  }
6539
6549
  {
6540
- this.state.titleModal == '人脸识别' && this.state.faceResuly != '' && <div className='resuleCard'>
6550
+ this.state.titleModal == '身份验证' && this.state.faceResuly != '' && <div className='resuleCard'>
6541
6551
  {
6542
6552
  this.state.faceResuly == 'success' && <div className='successClassFace'>
6543
6553
  <img src={require("../../assets/img/tooltips1_pass.png").default} alt="" ></img>
6544
6554
 
6545
- 人脸识别成功</div>
6555
+ 认证通过</div>
6546
6556
  }
6547
6557
  {
6548
6558
  this.state.faceResuly == 'fail' && <div className='errorClassFace'>
6549
- <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>人脸识别失败--{this.state.faceFailReason}</div>
6559
+ <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>{this.state.faceFailReason}</div>
6550
6560
  }
6551
6561
  <div><span>客户姓名</span> <input disabled type="text" value={this.state.idCardNameFace}/></div>
6552
6562
  <div><span>身份证号</span> <input disabled type="text" value={this.state.idCardNumberFace}/></div>
@@ -6557,7 +6567,7 @@ class Video extends Component {
6557
6567
  </div>
6558
6568
  </Spin>
6559
6569
  </Modal>
6560
- <Modal title="经理人员授权" closable={false} centered={true} visible={this.state.isModalVisibleSFP}
6570
+ <Modal title="经理人员授权" closable={false} centered={true} visible={this.state.isModalVisibleSFP} maskClosable={false}
6561
6571
  footer={[
6562
6572
  <div key='end'>
6563
6573
  <Button className="modelButtonCancel" onClick={this.handleCancelSFP}>取消</Button>
@@ -6590,7 +6600,7 @@ class Video extends Component {
6590
6600
  </div>
6591
6601
  </Spin>
6592
6602
  </Modal>
6593
- <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}
6594
6604
  footer={[
6595
6605
  <div key='end'>
6596
6606
 
@@ -6627,7 +6637,7 @@ class Video extends Component {
6627
6637
  {
6628
6638
  this.state.isCustomerSelect && <div>
6629
6639
  <div>
6630
- 请选择进行身份识别的客户
6640
+ 请选择进行身份识别的客户(陪同者)
6631
6641
  </div>
6632
6642
  <div>
6633
6643
  <Radio.Group onChange={this.onChangeOCRCustomer} value={this.state.customerSelect}>
@@ -6651,7 +6661,7 @@ class Video extends Component {
6651
6661
  <img src={require("../../assets/img/tooltips2_fail.png").default} alt="" ></img>{this.state.documentError}</div>
6652
6662
  }
6653
6663
  <div>
6654
- 请您确认您的身份证件类型
6664
+ 请选择您的身份证件类型
6655
6665
  </div>
6656
6666
  <div>
6657
6667
  <Radio.Group onChange={this.onChangeDocumentType} value={this.state.documentType}>
@@ -6673,7 +6683,7 @@ class Video extends Component {
6673
6683
 
6674
6684
  </Modal>
6675
6685
 
6676
- <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={[
6677
6687
  <div key='invitation'>
6678
6688
  <Button className="modelButtonCancel" onClick={this.handleCancelInvitation}>取消</Button>
6679
6689
  {
@@ -6729,7 +6739,7 @@ class Video extends Component {
6729
6739
  ></CanvasDraw> */}
6730
6740
  </div>
6731
6741
  </Modal>
6732
- <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={[
6733
6743
  <div key='inspection'>
6734
6744
  <Button className="modelButtonCancel" onClick={this.handleCancelInspection}>取消</Button>
6735
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.4rem;
601
+ font-size: 1.2rem;
602
+ margin: 10px 0;
602
603
  }
603
604
  .videoListClass{
604
605
  align-content: flex-start;