react_hsbc_teller 2.0.32 → 2.0.34

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": "2.0.32",
3
+ "version": "2.0.34",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -81,6 +81,29 @@ class API extends Server{
81
81
  throw err;
82
82
  }
83
83
  }
84
+ /**
85
+ * 用途:保存共享状态
86
+ * 返回http_code为200表示成功
87
+ * @method post
88
+ * @return {promise}
89
+ */
90
+ async editRmScreenStatus(params = {}){
91
+ try{
92
+ let result = await this.axios('post', '/hsbc/editRmScreenStatus', params);
93
+ if(result && result.code === 200){
94
+ return result.data||[];
95
+ }else{
96
+ let err = {
97
+ tip: '共享状态保存失败',
98
+ response: result,
99
+ data: params,
100
+ }
101
+ throw err;
102
+ }
103
+ }catch(err){
104
+ throw err;
105
+ }
106
+ }
84
107
  /**
85
108
  * 用途:敏感词检测
86
109
  * @url https://api.cangdu.org/shopro/data/products
@@ -8,7 +8,7 @@ export default class header extends Component {
8
8
  return(
9
9
  <div className="Hamburger">
10
10
  <div className="left-header">
11
- <div className="title">汇丰银行远程会议</div>
11
+ <div className="title">汇丰银行{this.props.recordMode==2?'分行':'远程'}会议</div>
12
12
  </div>
13
13
  </div>
14
14
  )
@@ -58,7 +58,7 @@ import MultiModule from '../multiModule/multiModule'//签字、抄录
58
58
  import axios from 'axios';
59
59
  import CryptoJS from "crypto-js";
60
60
 
61
- const SDK_VERISON = '2.0.32'
61
+ const SDK_VERISON = '2.0.34'
62
62
  const IDtypeFront = '请客户在其设备后置摄像头下展示证件正面(如:身份证照片页面)'
63
63
  const IDtypeBack = '请在后置摄像头下展示证件反面(如:身份证国徽页)'
64
64
  const { Option } = Select;
@@ -401,7 +401,7 @@ class Video extends Component {
401
401
 
402
402
  // this.publishAllScreen();
403
403
  // 单独发布录制屏幕设备的流
404
- this.publishRecorderDevice()
404
+ // this.publishRecorderDevice()
405
405
 
406
406
  this.props.createRoomCallback({
407
407
  type: 1,
@@ -688,13 +688,13 @@ class Video extends Component {
688
688
  width: 213 * SCALE,
689
689
  height: 175 * SCALE
690
690
  },
691
- {
692
- tag: 'sharedScreen', // 一期暂时不需要录制
693
- xPosition: 960 * SCALE,
694
- yPosition: 180 * SCALE,
695
- width: 320 * SCALE,
696
- height: 180 * SCALE
697
- }
691
+ // {
692
+ // tag: 'sharedScreen', // 一期暂时不需要录制
693
+ // xPosition: 960 * SCALE,
694
+ // yPosition: 180 * SCALE,
695
+ // width: 320 * SCALE,
696
+ // height: 180 * SCALE
697
+ // }
698
698
  ]
699
699
  Array.isArray(res) ?
700
700
  res.map((item) => {
@@ -1708,7 +1708,11 @@ class Video extends Component {
1708
1708
  else if (Mival.typeId == 5005) { // 客户端人脸数量变化
1709
1709
  let TITLE = '客户'
1710
1710
  if (Mival.data && Mival.data.userId) {
1711
- TITLE = this.getUserTitle(Mival.data.userId)
1711
+ if (Mival.data.userId.includes(IPAD_SUFFIX)) {
1712
+ TITLE = ''
1713
+ } else {
1714
+ TITLE = this.getUserTitle(Mival.data.userId)
1715
+ }
1712
1716
  }
1713
1717
  this.messageClick(TITLE+'人脸数量发生变化', 'error', Mival.data.userId)
1714
1718
  }
@@ -2324,7 +2328,7 @@ class Video extends Component {
2324
2328
 
2325
2329
  // this.publishAllScreen();
2326
2330
  // 单独发布录制屏幕设备的流
2327
- this.publishRecorderDevice()
2331
+ // this.publishRecorderDevice()
2328
2332
 
2329
2333
  this.roomCallBack(1, '', 0)
2330
2334
  this.saveLog('mrtc join room success')
@@ -2332,6 +2336,9 @@ class Video extends Component {
2332
2336
  this.state.imStatus = true
2333
2337
  this.saveLog('Join im room')
2334
2338
  console.log('加入IM房间')
2339
+
2340
+ // 如果重新加入房间,手动重置一下投屏状态
2341
+ this.setSharedScreenState(false)
2335
2342
  };
2336
2343
  // 加入房间失败
2337
2344
  this.test_controller.OnJoinRoomFailed = (err_code, err_msg) => {
@@ -2490,9 +2497,10 @@ class Video extends Component {
2490
2497
  'sharedScreen': 1,
2491
2498
  'tellerId': this.props.tellerAccount
2492
2499
  })
2493
- if (this.state.screenName == '共享屏幕') {
2500
+ if (this.state.screenName == '切换共享') {
2494
2501
  this.state.isSharedScreen = true
2495
2502
  this.state.isScreenSwitching = false
2503
+ this.setSharedScreenState(true)
2496
2504
  }
2497
2505
  }
2498
2506
  if (sid == document.getElementById('publish_streamId1').name) {
@@ -2799,6 +2807,7 @@ class Video extends Component {
2799
2807
  'tellerId': this.props.tellerAccount
2800
2808
  })
2801
2809
  this.state.isSharedScreen = false
2810
+ this.setSharedScreenState(false)
2802
2811
  this.setState({
2803
2812
 
2804
2813
  screenName: '共享模式'
@@ -2924,6 +2933,9 @@ class Video extends Component {
2924
2933
  this.setState({
2925
2934
  ipadTag: '',
2926
2935
  })
2936
+ this.messageClick(('iPad 已断开'), 'error')
2937
+ this.saveLog('iPad leave room')
2938
+ return
2927
2939
  }
2928
2940
 
2929
2941
 
@@ -3257,6 +3269,7 @@ class Video extends Component {
3257
3269
  if (this.state.screenName == '切换共享') {
3258
3270
  this.state.isSharedScreen = true
3259
3271
  this.state.isScreenSwitching = false
3272
+ this.setSharedScreenState(true)
3260
3273
  }
3261
3274
  }
3262
3275
  };
@@ -3277,6 +3290,7 @@ class Video extends Component {
3277
3290
  this.test_controller.UnPublish(document.getElementById('video20').name)
3278
3291
  this.state.isSharedScreen = false
3279
3292
  this.state.isScreenSwitching = false
3293
+ this.setSharedScreenState(false)
3280
3294
  this.setState({
3281
3295
  screenName: '共享模式'
3282
3296
  });
@@ -3416,6 +3430,7 @@ class Video extends Component {
3416
3430
  }
3417
3431
  this.state.isSharedScreen = false
3418
3432
  this.state.isScreenSwitching = false
3433
+ this.setSharedScreenState(false)
3419
3434
  this.setState({
3420
3435
  screenName: '共享模式'
3421
3436
  });
@@ -3656,6 +3671,7 @@ class Video extends Component {
3656
3671
  screenName: '共享模式',
3657
3672
  })
3658
3673
  this.state.isSharedScreen = false
3674
+ this.setSharedScreenState(false)
3659
3675
  this.state.laveRoomSharedScreen = true
3660
3676
  // this.test_controller.UnPublish(document.getElementById('video20').name)
3661
3677
 
@@ -3669,6 +3685,7 @@ class Video extends Component {
3669
3685
  screenName: '共享模式',
3670
3686
  });
3671
3687
  this.state.isSharedScreen = false
3688
+ this.setSharedScreenState(false)
3672
3689
  this.state.laveRoomSharedScreen = true
3673
3690
  this.props.onLeaveRoom({
3674
3691
  code: LEAVE_TYPE.TELLER_EXIT,
@@ -4072,6 +4089,20 @@ class Video extends Component {
4072
4089
  }
4073
4090
  }
4074
4091
  }
4092
+ setSharedScreenState = async (state) => {
4093
+ const status = state? 'open' : 'close'
4094
+ try {
4095
+ let result = await API.editRmScreenStatus({
4096
+ roomId: this.state.channelId + '',
4097
+ status,
4098
+ staffId: this.props.tellerAccount,
4099
+ });
4100
+ } catch (err) {
4101
+ if(err.status == 502 || err.status== 404) {
4102
+ this.roomCallBack(2, '连接服务器失败','SYS-02')
4103
+ }
4104
+ }
4105
+ }
4075
4106
  isFileSuccuse = () => {
4076
4107
  if (!this.state.sessionId || !this.state.sessionType || !this.state.imStatus) {
4077
4108
  this.messageClick('当前程序异常请先退出重开', 'error')
@@ -5381,6 +5412,7 @@ class Video extends Component {
5381
5412
  document.getElementById('video20') && document.getElementById('video20').name ? this.test_controller.UnPublish(document.getElementById('video20').name) : ''
5382
5413
  that.state.isSharedScreen = false
5383
5414
  that.state.isScreenSwitching = false
5415
+ that.setSharedScreenState(false)
5384
5416
  that.setState({
5385
5417
  screenName: '共享模式'
5386
5418
  });
@@ -5491,6 +5523,7 @@ class Video extends Component {
5491
5523
  }, 'add')
5492
5524
  if (this.state.isSharedScreen) {
5493
5525
  this.state.isSharedScreen = false
5526
+ this.setSharedScreenState(false)
5494
5527
  this.setState({
5495
5528
 
5496
5529
  screenName: '共享模式'
@@ -6411,7 +6444,7 @@ class Video extends Component {
6411
6444
  return (
6412
6445
  <div className="all" id="allHSBC">
6413
6446
  <Spin spinning={this.state.loading} tip="视频初始化中...">
6414
- <Header></Header>
6447
+ <Header recordMode={this.props.recordMode}></Header>
6415
6448
  <div className="health">
6416
6449
  <div className="healthVideo">
6417
6450
  <div className="projection" style={{ background: this.state.tabTitles.length > 0 ? '#f0f0f0' : '#ffffff' }}>
@@ -6733,12 +6766,13 @@ class Video extends Component {
6733
6766
  <div className='endModal'>iPad电量过低,请检查</div>
6734
6767
  </Modal>
6735
6768
  {/* 双录中ipad退出确认 */}
6736
- <Modal closable={false} centered={true} visible={this.state.IpadLeaveErrorModalVisible} maskClosable={false} width={320} footer={[
6769
+ <Modal closable={false} centered={true} visible={this.state.IpadLeaveErrorModalVisible} maskClosable={false} width={350} footer={[
6737
6770
  <div key='end'>
6738
6771
  <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkIpadLeaveConfirm}>确定</Button>
6739
6772
  </div>
6740
6773
  ]}>
6741
- <div className='ipadModal'>iPad 摄像头异常退出,请扫码重新加入会议</div>
6774
+ <div className='ipadModal'>iPad 摄像头异常退出,请扫码或输入会议号入会</div>
6775
+ <div className='QRCode center'>
6742
6776
  <QRCode
6743
6777
  value={JSON.stringify({
6744
6778
  sessionId:this.state.sessionId,
@@ -6749,6 +6783,8 @@ class Video extends Component {
6749
6783
  size={120} //二维码的宽高尺寸
6750
6784
  fgColor="#000000" //二维码的颜色
6751
6785
  />
6786
+ <div className='sessionDiv'>{this.state.sessionId.slice(0, 4)}-{this.state.sessionId.slice(4-this.state.sessionId.length)}</div>
6787
+ </div>
6752
6788
  </Modal>
6753
6789
  {/* 是否退出会议*/}
6754
6790
  <Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} maskClosable={false} footer={[
@@ -7146,17 +7182,20 @@ class Video extends Component {
7146
7182
  {
7147
7183
  this.props.recordMode == 2 &&
7148
7184
  <Panel header={<span>iPad设备 - {this.state.ipadTag? '合格':'不合格'} {this.state.ipadTag? <img src={IconSuccess} />: <img src={IconFail} />}</span>} key="6" className={this.state.ipadTag? '':'panel-error'}>
7149
- <p className="envClass">{this.state.ipadTag? 'iPad设备已加入':'未检测到iPad设备,请扫码加入会议'}</p>
7185
+ <p className="envClass">{this.state.ipadTag? 'iPad设备已加入':'未检测到iPad设备,请扫码或输入会议号入会'}</p>
7186
+ <div className='QRCode flex' style={{display: this.state.ipadTag? 'none':''}}>
7150
7187
  <QRCode
7151
7188
  value={JSON.stringify({
7152
7189
  sessionId: this.state.sessionId,
7153
7190
  staffId: this.props.tellerAccount,
7154
7191
  staffName: this.props.staffName
7155
7192
  })}
7156
- style={{marginTop: '8px', marginLeft: '20px', display: this.state.ipadTag? 'none':'block'}}
7193
+ style={{marginTop: '8px', marginLeft: '20px'}}
7157
7194
  size={100}
7158
7195
  fgColor="#000000"
7159
7196
  />
7197
+ <div className='sessionDiv'>{this.state.sessionId.slice(0, 4)}-{this.state.sessionId.slice(4-this.state.sessionId.length)}</div>
7198
+ </div>
7160
7199
  </Panel>
7161
7200
  }
7162
7201
  {
@@ -467,8 +467,7 @@
467
467
  .ipadCode{
468
468
  margin-top: 16px;
469
469
  margin-bottom: 20px;
470
- transform: translateX(-50%);
471
- left: 50%;
470
+ margin-left: 30px;
472
471
  position: relative;
473
472
  }
474
473
  .inspection{
@@ -679,4 +678,26 @@ display: inline-flex;
679
678
  color: white;
680
679
  margin-top: 20px;
681
680
  }
681
+ &.flex{
682
+ position: initial;
683
+ flex-direction: row;
684
+ .sessionDiv{
685
+ margin-left: 20px;
686
+ margin-top: 0;
687
+ font-weight: 500;
688
+ font-size: 1rem;
689
+ }
690
+ }
691
+ &.center{
692
+ position: initial;
693
+ .ipadCode{
694
+ margin-left: 0px;
695
+ }
696
+ .sessionDiv{
697
+ margin-top: 0;
698
+ font-weight: 500;
699
+ font-size: 1rem;
700
+ margin-bottom: 0.5rem;
701
+ }
702
+ }
682
703
  }