react_hsbc_teller 0.2.2 → 0.2.6

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.
@@ -20,7 +20,7 @@ import Spin from "antd/lib/spin";
20
20
  import 'antd/lib/spin/style'
21
21
  import { Button } from '../../../node_modules/antd/lib/index';
22
22
  import CanvasDraw from "react-canvas-draw";
23
- import { FormattedMessage, injectIntl } from 'react-intl';
23
+ import { FormattedMessage, injectIntl } from 'react-intl';
24
24
  const LEAVE_TYPE = {
25
25
  TELLER_EXIT: '1', // 坐席退出
26
26
  ROOM_DESTROYED: '-1', // 房间异常
@@ -29,6 +29,8 @@ const LEAVE_TYPE = {
29
29
  class Video extends Component {
30
30
  signCanvas = React.createRef();
31
31
  state = {
32
+ isWhiteboard: false,
33
+ isSelect: 'video',
32
34
  isPDF: false,
33
35
  loading: false,
34
36
  isModalVisibleSign: false,
@@ -88,8 +90,16 @@ class Video extends Component {
88
90
  });
89
91
  // eslint-disable-next-line no-undef
90
92
  joinRoom((this.props.tellerAccount + '@' + JSON.parse(window.sessionStorage.getItem('sigData')).hostname), this.state.imRoomId)
93
+ this.props.createRoomCallback({
94
+ type: 1,
95
+ errorManage: ''
96
+ })
91
97
  } catch (err) {
92
98
  console.error(err);
99
+ this.props.createRoomCallback({
100
+ type: 2,
101
+ errorManage: '保存房间信息失败'
102
+ })
93
103
  }
94
104
  };
95
105
  /**
@@ -113,6 +123,7 @@ class Video extends Component {
113
123
  }
114
124
  } catch (err) {
115
125
  console.error(err);
126
+ this.roomCallBack(2,'签名失败')
116
127
  }
117
128
  };
118
129
  handleEdit = () => {
@@ -416,25 +427,25 @@ class Video extends Component {
416
427
  };
417
428
  // 画中画
418
429
  pictureInPicture = () => {
419
- const publish_config = {};
420
- publish_config.media_type = 1;
421
- publish_config.publish_device = 4;
422
- publish_config.need_volume_analyser = true;
423
- publish_config.video_profile_type = 3;
424
- publish_config.part_of_screen_id = 'touBoxItem';
425
- publish_config.publish_video_id = 'video3';
426
- publish_config.publish_streamId_id = 'subscribe_streamId3';
427
- // publish_config.publish_tag = 'sharedScreen'
428
- this.test_controller.Publish(publish_config);
429
- callNimIM('sendCustomCmdMsg', {
430
- customId: this.state.imRoomId,
431
- content: JSON.stringify({
432
- 'typeId': 2030,
433
- 'sessionId': this.state.sessionId,
434
- 'sharedScreen': 1,
435
- 'tellerId': this.props.tellerAccount
436
- })
437
- });
430
+ // const publish_config = {};
431
+ // publish_config.media_type = 1;
432
+ // publish_config.publish_device = 4;
433
+ // publish_config.need_volume_analyser = true;
434
+ // publish_config.video_profile_type = 3;
435
+ // publish_config.part_of_screen_id = 'touBoxItem';
436
+ // publish_config.publish_video_id = 'video3';
437
+ // publish_config.publish_streamId_id = 'subscribe_streamId3';
438
+ // // publish_config.publish_tag = 'sharedScreen'
439
+ // this.test_controller.Publish(publish_config);
440
+ // callNimIM('sendCustomCmdMsg', {
441
+ // customId: this.state.imRoomId,
442
+ // content: JSON.stringify({
443
+ // 'typeId': 2030,
444
+ // 'sessionId': this.state.sessionId,
445
+ // 'sharedScreen': 1,
446
+ // 'tellerId': this.props.tellerAccount
447
+ // })
448
+ // });
438
449
  if (this.isFileSuccuse()) {
439
450
  const width = 640;
440
451
  const height = 480;
@@ -468,7 +479,7 @@ class Video extends Component {
468
479
  } else {
469
480
  newVideoHeight1 = subscribeVideoDivHeight * 320 / subscribeVideoDivWidth;
470
481
  }
471
- cobj.drawImage(subscribeVideoDiv, 320, 480 - newVideoHeight1, newVideoWidth1, 80);
482
+ cobj.drawImage(subscribeVideoDiv, 320, 480 - newVideoHeight1, newVideoWidth1, newVideoHeight);
472
483
 
473
484
  }, 100);
474
485
  const captureStream = canvas.captureStream();
@@ -492,6 +503,19 @@ class Video extends Component {
492
503
  });
493
504
  }
494
505
  };
506
+ roomCallBack=(type,manege) =>{
507
+ if (this.state.sessionId) {
508
+ this.props.joinRoomCallback({
509
+ type: type,
510
+ errorManage: manege
511
+ })
512
+ }else {
513
+ this.props.createRoomCallback({
514
+ type: type,
515
+ errorManage: manege
516
+ })
517
+ }
518
+ }
495
519
  mountClick = () => {
496
520
  window.IMEvt = msg => {
497
521
  console.log(JSON.parse(msg));
@@ -511,6 +535,38 @@ class Video extends Component {
511
535
  if (Mival.sessionId == this.state.sessionId) {
512
536
  this.endSession('customerHangUp')
513
537
  }
538
+ } else if (Mival.typeId == 1215) {
539
+ // 一炒多的图片
540
+ if (Mival.sessionId == this.state.sessionId) {
541
+ this.props.imgCallback(Mival.data.type, Mival.data.file) // 文字抄录和风险抄录,3--风险,,2--文字
542
+ }
543
+ } else if (Mival.typeId == 1216) {
544
+ // 签字回调
545
+ if (Mival.sessionId == this.state.sessionId) {
546
+ this.props.signatureCallback()
547
+ }
548
+ } else if (Mival.typeId == 1218) {
549
+ if (Mival.sessionId == this.state.sessionId) {
550
+ // 1-开启,2-关闭
551
+ if(Mival.type == 1) {
552
+ this.switchExternal()
553
+ } else if(Mival.type == 2) {
554
+ if(this.state.isSharedScreen) {
555
+ this.setState({
556
+ isWhiteboard: false,
557
+ })
558
+ }else {
559
+ this.test_controller.UnPublish(document.getElementById('video10').name)
560
+ this.setState({
561
+ isPDF: false,
562
+ isSelect: 'video',
563
+ isWhiteboard: false,
564
+ })
565
+ }
566
+ }
567
+
568
+ }
569
+
514
570
  }
515
571
  };
516
572
 
@@ -585,6 +641,7 @@ class Video extends Component {
585
641
  };
586
642
  this.test_controller.OnConnectFailed = (code, msg) => {
587
643
  console.log('建立连接失败', code, msg)
644
+ this.roomCallBack(2,'连接失败')
588
645
  };
589
646
  // 断开连接回调
590
647
  this.test_controller.OnConnectClose = (code, msg) => {
@@ -598,6 +655,7 @@ class Video extends Component {
598
655
  // 初始化房间失败
599
656
  this.test_controller.OnInitRoomConfigFail = (err_code, err_msg) => {
600
657
  console.log('初始化房间失败', err_code, err_msg)
658
+ this.roomCallBack(2,'初始化失败')
601
659
  };
602
660
  // 初始化成功回调
603
661
  this.test_controller.OnInitRoomConfigOK = () => {
@@ -614,7 +672,7 @@ class Video extends Component {
614
672
 
615
673
  this.test_controller.OnCreateRoomSucc = (room_id, rtoken) => {
616
674
  console.log('创建房间成功', room_id, rtoken);
617
- this.setState({
675
+ this.setState({
618
676
  channelId: room_id,
619
677
  rtoken: rtoken
620
678
  });
@@ -623,6 +681,7 @@ class Video extends Component {
623
681
  // 创建房间失败
624
682
  this.test_controller.OnCreateRoomFailed = (err_code, err_msg) => {
625
683
  console.log('创建房间失败', err_code, err_msg)
684
+ this.roomCallBack(2,'创建失败')
626
685
  };
627
686
  // 初始化⾳视频成功
628
687
  this.test_controller.OnMediaCallSucc = (sid) => {
@@ -639,10 +698,12 @@ class Video extends Component {
639
698
  // 加入房间成功
640
699
  this.test_controller.OnJoinRoomSucc = () => {
641
700
  console.log('加入房间成功')
701
+ this.roomCallBack(1,'')
642
702
  };
643
703
  // 加入房间失败
644
704
  this.test_controller.OnJoinRoomFailed = (err_code, err_msg) => {
645
705
  console.log('加入房间失败', err_code, err_msg)
706
+ this.roomCallBack(2,'加入失败')
646
707
  };
647
708
  // 发布媒体流成功
648
709
  this.test_controller.OnPublishSucc = (sid) => {
@@ -1045,7 +1106,8 @@ class Video extends Component {
1045
1106
  tellerId: this.props.tellerAccount
1046
1107
  });
1047
1108
  this.setState({
1048
- isCustomer: false
1109
+ isCustomer: false,
1110
+ isWhiteboard: false,
1049
1111
  });
1050
1112
  this.props.onLeaveRoom({
1051
1113
  code: LEAVE_TYPE.TELLER_EXIT,
@@ -1084,37 +1146,23 @@ class Video extends Component {
1084
1146
  this.setState({
1085
1147
  loading: true,
1086
1148
  })
1087
- console.log( this.props.resourcePath + "/log4b.js")
1088
1149
  const _dependScripts = [
1089
1150
  // https://counter-web.leimondata.cn:7199
1090
- this.props.resourcePath + "/log4b.js",
1091
- this.props.resourcePath + "/meeting_api_util.js",
1151
+ this.props.resourcePath + "/adapter.js",
1152
+ this.props.resourcePath + "/getMediaInfo.js",
1153
+ this.props.resourcePath + "/pdf.js",
1154
+ this.props.resourcePath + "/EBML.js",
1092
1155
  this.props.resourcePath + "/mcu.js",
1093
- this.props.resourcePath + "/client_record.js",
1156
+ this.props.resourcePath + "/meeting_desk_stream.js",
1157
+ this.props.resourcePath + "/meeting_html_stream.js",
1158
+ this.props.resourcePath + "/meeting_file_stream.js",
1159
+ this.props.resourcePath + "/meeting_im.js",
1094
1160
  this.props.resourcePath + "/meeting_vod.js",
1095
- this.props.resourcePath + "/remote_record.js",
1096
1161
  this.props.resourcePath + "/meeting_invite.js",
1097
- this.props.resourcePath + "/meeting_im.js",
1162
+ this.props.resourcePath + "/client_record.js",
1163
+ this.props.resourcePath + "/remote_record.js",
1098
1164
  this.props.resourcePath + "/meeting_camera_stream.js",
1099
- this.props.resourcePath + "/meeting_file_stream.js",
1100
- this.props.resourcePath + "/meeting_desk_stream.js",
1101
- this.props.resourcePath + "/meeting_html_stream.js",
1102
- this.props.resourcePath + "/meeting_beautify_stream.js",
1103
- this.props.resourcePath + "/stream.js",
1104
- this.props.resourcePath + "/room.js",
1105
- this.props.resourcePath + "/backgroundBlur.js",
1106
1165
  this.props.resourcePath + "/meeting_api.js",
1107
- this.props.resourcePath + "/html2image.js",
1108
- this.props.resourcePath + "/reconnecting-websocket.min.js",
1109
- this.props.resourcePath + "/mtc_api.js",
1110
- this.props.resourcePath + "/BandwidthHandler.js",
1111
- this.props.resourcePath + "/RecordRTC.min.js",
1112
- // "https://gw.alipayobjects.com/os/lib/recordrtc/5.5.9/RecordRTC.min.js",
1113
- this.props.resourcePath + "/pdf.js",
1114
- this.props.resourcePath + "/EBML.js",
1115
- this.props.resourcePath + "/adapter.js",
1116
- this.props.resourcePath + "/beauty.js",
1117
- this.props.resourcePath + "/getMediaInfo.js",
1118
1166
  ]
1119
1167
  const that = this
1120
1168
  let i = 0
@@ -1169,8 +1217,8 @@ class Video extends Component {
1169
1217
  } else {
1170
1218
  setTimeout(() => {
1171
1219
  this.setState({
1172
- screenName: this.props.intl.formatMessage({id: 'shareScreen'}),
1173
- suspendName: this.props.intl.formatMessage({id: 'suspend'}),
1220
+ screenName: this.props.intl.formatMessage({ id: 'shareScreen' }),
1221
+ suspendName: this.props.intl.formatMessage({ id: 'suspend' }),
1174
1222
  })
1175
1223
  }, 50);
1176
1224
  this.addToScript()
@@ -1288,24 +1336,60 @@ class Video extends Component {
1288
1336
  if (this.isFileSuccuse()) {
1289
1337
  const publish_config = {};
1290
1338
  if (this.state.isSharedScreen) {
1291
- publish_config.publish_device = 1;
1292
- publish_config.media_type = 1;
1293
- publish_config.sid = document.getElementById('publish_video1').name;
1294
- publish_config.video_profile_type = 5;
1295
- this.test_controller.ChangeMediaStream(publish_config);
1339
+ if (this.state.isWhiteboard) {
1340
+ publish_config.publish_device = 4
1341
+ publish_config.media_type = 1
1342
+ publish_config.sid = document.getElementById('video10').name
1343
+ publish_config.part_of_screen_id = 'touBoxItem'
1344
+ publish_config.video_profile_type = 5
1345
+ this.test_controller.ChangeMediaStream(publish_config);
1346
+ this.setState({
1347
+ isPDF: true,
1348
+ isSelect: 'noVideo',
1349
+ })
1350
+ } else {
1351
+ this.test_controller.UnPublish(document.getElementById('video10').name)
1352
+ this.setState({
1353
+ isPDF: false,
1354
+ isSelect: 'video',
1355
+ })
1356
+ }
1296
1357
  this.setState({
1297
1358
  publishDevic: 1,
1298
1359
  isSharedScreen: false,
1360
+
1299
1361
  screenName: '投屏'
1300
1362
  });
1301
1363
  } else {
1302
- publish_config.media_type = 1;
1303
- publish_config.publish_device = 2;
1304
- publish_config.video_profile_type = 5;
1305
- publish_config.sid = document.getElementById('publish_video1').name;
1306
- this.test_controller.ChangeMediaStream(publish_config);
1364
+ if (document.getElementById('video10').name) {
1365
+ publish_config.media_type = 1;
1366
+ publish_config.publish_device = 2;
1367
+ publish_config.video_profile_type = 5;
1368
+ publish_config.sid = document.getElementById('video10').name;
1369
+ this.test_controller.ChangeMediaStream(publish_config);
1370
+ } else {
1371
+ publish_config.media_type = 1
1372
+ publish_config.publish_device = 2
1373
+ publish_config.need_volume_analyser = true
1374
+ publish_config.video_profile_type = 5
1375
+ publish_config.publish_video_id = 'video10'
1376
+ publish_config.publish_streamId_id = 'subscribe_streamId10'
1377
+ publish_config.publish_tag = ''
1378
+ this.test_controller.Publish(publish_config)
1379
+ }
1380
+
1381
+
1382
+ // publish_config.media_type = 1;
1383
+ // publish_config.publish_device = 2;
1384
+ // publish_config.video_profile_type = 5;
1385
+ // publish_config.sid = document.getElementById('publish_video1').name;
1386
+ // this.test_controller.ChangeMediaStream(publish_config);
1307
1387
  this.setState({
1308
- publishDevic: 2
1388
+ publishDevic: 2,
1389
+ isSelect: 'noVideo',
1390
+ isSharedScreen: true,
1391
+ screenName: '取消共享',
1392
+ isPDF: false
1309
1393
  })
1310
1394
  }
1311
1395
  }
@@ -1493,7 +1577,7 @@ class Video extends Component {
1493
1577
  })
1494
1578
  }
1495
1579
  componentWillReceiveProps(props) {
1496
- this.setState({
1580
+ this.setState({
1497
1581
  channelId: props.roomId,
1498
1582
  rtoken: props.mtoken,
1499
1583
  sessionId: props.sessionId,
@@ -1541,87 +1625,158 @@ class Video extends Component {
1541
1625
  file: this.signCanvas.current.canvas.drawing.toDataURL('image/png')
1542
1626
  })
1543
1627
  }
1544
- switchExternal=()=>{
1545
- this.setState({
1546
- isPDF: true
1547
- })
1628
+ switchExternal = () => {
1629
+ if(!this.state.isWhiteboard) {
1630
+ const publish_config = {};
1631
+ this.setState({
1632
+ isPDF: true,
1633
+ isWhiteboard: true,
1634
+ isSelect: 'noVideo',
1635
+ })
1636
+ if (document.getElementById('video10').name) {
1637
+ // 代表已经有了进行切流
1638
+ publish_config.publish_device = 4
1639
+ publish_config.media_type = 1
1640
+ publish_config.sid = document.getElementById('video10').name
1641
+ publish_config.part_of_screen_id = 'touBoxItem'
1642
+ publish_config.video_profile_type = 5
1643
+ this.test_controller.ChangeMediaStream(publish_config);
1644
+ } else {
1645
+
1646
+ publish_config.media_type = 1
1647
+ publish_config.publish_device = 4
1648
+ publish_config.need_volume_analyser = true
1649
+ publish_config.video_profile_type = 5
1650
+ publish_config.part_of_screen_id = 'touBoxItem';
1651
+ publish_config.publish_video_id = 'video10'
1652
+ publish_config.publish_streamId_id = 'subscribe_streamId10'
1653
+ publish_config.publish_tag = ''
1654
+ this.test_controller.Publish(publish_config)
1655
+ }
1656
+ } else{
1657
+ message.success('当前已经切换RM白板')
1658
+ }
1659
+
1660
+
1661
+ }
1662
+ switchSelect = () => {
1663
+ if (this.state.isSelect == 'video') {
1664
+ if (document.getElementById('video10').name) {
1665
+ this.setState({
1666
+ isSelect: 'noVideo',
1667
+ })
1668
+ } else {
1669
+ message.success('当前无签字白板')
1670
+ }
1671
+
1672
+ } else {
1673
+ this.setState({
1674
+ isSelect: 'video',
1675
+ })
1676
+ }
1548
1677
  }
1549
1678
  render() {
1550
- const pdfChildren = React.cloneElement(this.props.children,{width: 100, height: 100, id: 12})
1679
+ var pdfChildren
1680
+ if (this.props.children) {
1681
+ pdfChildren = React.cloneElement(this.props.children, { width: 100, height: 100, id: 12 })
1682
+ }
1551
1683
  return (
1552
-
1553
1684
  <div className="all">
1554
1685
  <Spin spinning={this.state.loading} tip="视频初始化中...">
1555
- <Header></Header>
1556
- <div className="health">
1557
- <div className="wrapper">
1558
- <div
1559
- className={`itemed ${this.state.isBigVideo == 'video1' ? 'item1' : ""}`}
1560
- // className="itemed item1"
1561
- style={{ position: "relative" }}
1562
- onClick={this.enlargeClick.bind(this, 'isLangVideo1')}
1563
- >
1564
- {
1565
- this.state.customAudioed && <img
1566
- alt=""
1567
- src={require("../../assets/img/yingpin.png").default}
1568
- style={{ width: "100%", height: "100%" }}
1569
- ></img>
1570
- }
1571
- <div className="video1Div" style={{ display: (!this.state.customAudioed) ? '' : 'none', }}>
1572
- <video
1573
- id="video1"
1574
- autoPlay
1575
- muted={true}
1576
- className="video1"
1577
- />
1578
- <audio id="audio1" autoPlay />
1579
- <label style={{ display: 'none' }} id="feedId1" type="text" />
1580
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="70" height="70"></canvas>
1686
+ <Header></Header>
1687
+ <div className="health">
1688
+ <div className="projection">
1689
+ <div className="button">
1690
+ <div className={`${this.state.isSelect == 'video' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>视频画面</div>
1691
+ <div className={`${this.state.isSelect == 'noVideo' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>投屏白板</div>
1692
+ </div>
1693
+ <div className="videoDiv" style={{ display: (this.state.isSelect == 'noVideo') ? '' : 'none', }}>
1694
+ <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1695
+ {pdfChildren}
1696
+ </div>
1697
+ <div style={this.state.isPDF ? { display: 'none' } : {}}>
1698
+ <video
1699
+ id="video10"
1700
+ autoPlay
1701
+ muted={true}
1702
+ className="video"
1703
+ />
1704
+ <audio id="audio10" autoPlay />
1705
+ <label style={{ display: 'none' }} id="feedId10" type="text" />
1706
+ {/* <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView10" width="70" height="70"></canvas> */}
1707
+
1708
+ </div>
1709
+
1581
1710
  </div>
1582
1711
  </div>
1583
- <div
1584
- className={`itemed ${this.state.isSharedScreen || this.state.publishDevic == 4 ? '' : (this.state.isBigVideo == 'publish_video1' ? 'item1 isBack' : (this.state.isCustomer ? 'isBack' : 'itemPublic'))}`}
1585
- onClick={this.enlargeClick.bind(this, 'isLangPublishVideo1')}
1586
- >
1587
- <div className="publishVideoDiv">
1712
+ <div className="wrapper">
1713
+ <div
1714
+ className={`itemed ${this.state.isBigVideo == 'video1' ? 'item1' : ""}`}
1715
+ // className="itemed item1"
1716
+ style={{ position: "relative" }}
1717
+ onClick={this.enlargeClick.bind(this, 'isLangVideo1')}
1718
+ >
1588
1719
  {
1589
- this.state.audioed && <img
1720
+ this.state.customAudioed && <img
1590
1721
  alt=""
1591
1722
  src={require("../../assets/img/yingpin.png").default}
1592
- className="imgClass"
1593
- />
1723
+ style={{ width: "100%", height: "100%" }}
1724
+ ></img>
1594
1725
  }
1595
- {
1596
- this.state.isSuspend && <img
1597
- alt=""
1598
- src={require("../../assets/img/zanTing.png").default}
1599
- className="imgClass"
1726
+ <div className="video1Div" style={{ display: (!this.state.customAudioed) ? '' : 'none', }}>
1727
+ <video
1728
+ id="video1"
1729
+ autoPlay
1730
+ muted={true}
1731
+ className="video1"
1600
1732
  />
1601
- }
1602
- {
1733
+ <audio id="audio1" autoPlay />
1734
+ <label style={{ display: 'none' }} id="feedId1" type="text" />
1735
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="20" height="50"></canvas>
1736
+ </div>
1737
+ </div>
1738
+ <div
1739
+ className={`itemed ${this.state.publishDevic == 4 ? '' : (this.state.isBigVideo == 'publish_video1' ? 'item1 isBack' : (this.state.isCustomer ? 'isBack' : 'itemPublic'))}`}
1740
+ onClick={this.enlargeClick.bind(this, 'isLangPublishVideo1')}
1741
+ >
1742
+ <div className="publishVideoDiv">
1743
+ {
1744
+ this.state.audioed && <img
1745
+ alt=""
1746
+ src={require("../../assets/img/yingpin.png").default}
1747
+ className="imgClass"
1748
+ />
1749
+ }
1750
+ {
1751
+ this.state.isSuspend && <img
1752
+ alt=""
1753
+ src={require("../../assets/img/zanTing.png").default}
1754
+ className="imgClass"
1755
+ />
1756
+ }
1757
+ {/* {
1603
1758
  this.state.isSharedScreen && <span
1604
1759
  className="sharedScreen"
1605
1760
  >
1606
1761
  屏幕共享中
1607
1762
  </span>
1608
- }
1609
- <video
1610
- style={{ display: (!this.state.audioed && !this.state.isSuspend) ? '' : 'none', }}
1611
- id="publish_video1"
1612
- className={`publishVideoClass ${this.state.isCustomer ? '' : "videoFit"}`}
1613
- onClick={this.enlargeClick.bind(this, 'isLangVideo2')}
1614
- autoPlay
1615
- muted={true}
1616
- />
1617
- <audio id="audio1" autoPlay />
1618
- <label style={{ display: 'none' }} id="publish_streamId1" type="text" />
1619
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="70" height="70"></canvas>
1763
+ } */}
1764
+ <video
1765
+ style={{ display: (!this.state.audioed && !this.state.isSuspend) ? '' : 'none', }}
1766
+ id="publish_video1"
1767
+ className={`publishVideoClass ${this.state.isCustomer ? '' : "videoFit"}`}
1768
+ onClick={this.enlargeClick.bind(this, 'isLangVideo2')}
1769
+ autoPlay
1770
+ muted={true}
1771
+ />
1772
+ <audio id="audio1" autoPlay />
1773
+ <label style={{ display: 'none' }} id="publish_streamId1" type="text" />
1774
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="20" height="50"></canvas>
1775
+ </div>
1776
+
1620
1777
  </div>
1778
+ <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
1621
1779
 
1622
- </div>
1623
- <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
1624
-
1625
1780
  <div onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
1626
1781
  <video
1627
1782
  id="video2"
@@ -1631,143 +1786,141 @@ class Video extends Component {
1631
1786
  />
1632
1787
  <audio id="audio2" autoPlay />
1633
1788
  <label style={{ display: 'none' }} id="feedId2" type="text" />
1634
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="70" height="70"></canvas>
1789
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="20" height="50"></canvas>
1635
1790
  </div>
1636
- </div>
1637
- <div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
1638
- onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
1639
- <video
1640
- id="video3"
1641
- autoPlay
1642
- muted={true}
1643
- className="video"
1644
- />
1645
- <audio id="audio3" autoPlay />
1646
- <label style={{ display: 'none' }} id="feedId3" type="text" />
1647
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="70" height="70"></canvas>
1648
- </div>
1649
- <div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
1650
- onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
1651
- <video
1652
- id="video4"
1653
- autoPlay
1654
- muted={true}
1655
- className="video"
1656
- />
1657
- <audio id="audio4" autoPlay />
1658
- <label style={{ display: 'none' }} id="feedId4" type="text" />
1659
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="70" height="70"></canvas>
1660
- </div>
1661
- <div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
1662
- onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
1663
- <video
1664
- id="video5"
1665
- autoPlay
1666
- muted={true}
1667
- className="video"
1668
- />
1669
- <audio id="audio5" autoPlay />
1670
- <label style={{ display: 'none' }} id="feedId5" type="text" />
1671
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="70" height="70"></canvas>
1672
- </div>
1673
- <div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} className={`${this.state.isBigVideo == 'video6' ? (this.state.isPDF ? 'item1' : 'item1 itemed') : "itemed"}`}>
1674
- <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1791
+ </div>
1792
+ <div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
1793
+ onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
1794
+ <video
1795
+ id="video3"
1796
+ autoPlay
1797
+ muted={true}
1798
+ className="video"
1799
+ />
1800
+ <audio id="audio3" autoPlay />
1801
+ <label style={{ display: 'none' }} id="feedId3" type="text" />
1802
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="20" height="50"></canvas>
1803
+ </div>
1804
+ <div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
1805
+ onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
1806
+ <video
1807
+ id="video4"
1808
+ autoPlay
1809
+ muted={true}
1810
+ className="video"
1811
+ />
1812
+ <audio id="audio4" autoPlay />
1813
+ <label style={{ display: 'none' }} id="feedId4" type="text" />
1814
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="20" height="50"></canvas>
1815
+ </div>
1816
+ <div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
1817
+ onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
1818
+ <video
1819
+ id="video5"
1820
+ autoPlay
1821
+ muted={true}
1822
+ className="video"
1823
+ />
1824
+ <audio id="audio5" autoPlay />
1825
+ <label style={{ display: 'none' }} id="feedId5" type="text" />
1826
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="20" height="50"></canvas>
1827
+ </div>
1828
+ <div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} className={`${this.state.isBigVideo == 'video6' ? 'item1' : "itemed"}`}>
1829
+ {/* <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1675
1830
  {pdfChildren}
1676
- </div>
1677
- <div style={this.state.isPDF ? {display: 'none'}: {}}>
1678
- <video
1679
- id="video6"
1680
- autoPlay
1681
- muted={true}
1682
- className="video"
1683
- />
1684
- <audio id="audio6" autoPlay/>
1685
- <label style={{display: 'none'}} id="feedId6" type="text"/>
1686
- <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="70" height="70"></canvas>
1687
- </div>
1688
-
1831
+ </div> */}
1832
+ {/* <div style={this.state.isPDF ? {display: 'none'}: {}}> */}
1833
+ <video
1834
+ id="video6"
1835
+ autoPlay
1836
+ muted={true}
1837
+ className="video"
1838
+ />
1839
+ <audio id="audio6" autoPlay />
1840
+ <label style={{ display: 'none' }} id="feedId6" type="text" />
1841
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="20" height="50"></canvas>
1842
+ {/* </div> */}
1843
+
1689
1844
  </div>
1690
- </div>
1845
+ </div>
1691
1846
 
1692
- </div>
1693
- <Foot
1694
- img={this.state.voiceImg}
1695
- screenName={this.state.screenName}
1696
- suspendName={this.state.suspendName}
1697
- cameraImg={this.state.cameraImg}
1698
- customerList={this.state.customerList}
1699
- suspend={this.suspend}
1700
- voice={this.voice}
1701
- cameraClick={this.cameraClick}
1702
- sharedScreen={this.sharedScreen}
1703
- endSession={this.endSession}
1704
- facialRecognition={this.facialRecognition}
1705
- pictureInPicture={this.pictureInPicture}
1706
- transcribingClick={this.transcribingClick}
1707
- invitationClick={this.invitationClick}
1708
- customerFaceClick={this.customerFaceClick}
1709
- ocrClick={this.ocrClick}
1710
- switchExternal={this.switchExternal}
1711
- ></Foot>
1712
- <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
1713
- onCancel={this.handleCancel}>
1714
- {
1715
- this.state.isSuspend && <span>确定是否恢复会话?</span>
1716
- }
1717
- {
1718
- !this.state.isSuspend && <span>确定是否暂停会话?</span>
1719
- }
1720
- </Modal>
1721
- <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisibleEnd} onOk={this.handleOkEnd}
1722
- onCancel={this.handleCancelEnd}>
1723
- <span>确定是否结束会话?</span>
1724
- </Modal>
1725
- <Modal title={this.state.titleModal} cancelText="取消" okText="确定" visible={this.state.isModalVisibleFacial}
1726
- onOk={this.handleOkFacial} onCancel={this.handleCancelFacial}>
1727
- <div className="faceBody">
1728
- <img className="faceImg" src={this.state.facialImg} alt=""></img>
1729
1847
  </div>
1848
+ <Foot
1849
+ img={this.state.voiceImg}
1850
+ screenName={this.state.screenName}
1851
+ suspendName={this.state.suspendName}
1852
+ cameraImg={this.state.cameraImg}
1853
+ customerList={this.state.customerList}
1854
+ suspend={this.suspend}
1855
+ voice={this.voice}
1856
+ cameraClick={this.cameraClick}
1857
+ sharedScreen={this.sharedScreen}
1858
+ endSession={this.endSession}
1859
+ facialRecognition={this.facialRecognition}
1860
+ pictureInPicture={this.pictureInPicture}
1861
+ transcribingClick={this.transcribingClick}
1862
+ invitationClick={this.invitationClick}
1863
+ customerFaceClick={this.customerFaceClick}
1864
+ ocrClick={this.ocrClick}
1865
+ switchExternal={this.switchExternal}
1866
+ ></Foot>
1867
+ <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
1868
+ onCancel={this.handleCancel}>
1869
+ {
1870
+ this.state.isSuspend && <span>确定是否恢复会话?</span>
1871
+ }
1872
+ {
1873
+ !this.state.isSuspend && <span>确定是否暂停会话?</span>
1874
+ }
1875
+ </Modal>
1876
+ <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisibleEnd} onOk={this.handleOkEnd}
1877
+ onCancel={this.handleCancelEnd}>
1878
+ <span>确定是否结束会话?</span>
1879
+ </Modal>
1880
+ <Modal title={this.state.titleModal} cancelText="取消" okText="确定" visible={this.state.isModalVisibleFacial}
1881
+ onOk={this.handleOkFacial} onCancel={this.handleCancelFacial}>
1882
+ <div className="faceBody">
1883
+ <img className="faceImg" src={this.state.facialImg} alt=""></img>
1884
+ </div>
1730
1885
 
1731
- </Modal>
1732
- <Modal title="新增预约" visible={this.state.isModalVisibleInvitation} footer={[
1733
- <Button type="primary" danger onClick={this.handleOkInvitation}>发送</Button>,
1734
- <Button onClick={this.handleCancelInvitation}>取消</Button>
1735
- ]}>
1736
- <div>
1737
- <div>输入员工号:</div>
1738
- <div className="invitationDiv">
1739
- <input className="inputClick" placeholder="请输入员工号" value={this.state.employeeNumber} onChange={e => this.handleChange(e)}></input>
1740
- <span className="invitationSpan" onClick={this.queryStaff}>查 询</span>
1886
+ </Modal>
1887
+ <Modal title="新增预约" visible={this.state.isModalVisibleInvitation} footer={[
1888
+ <Button type="primary" danger onClick={this.handleOkInvitation}>发送</Button>,
1889
+ <Button onClick={this.handleCancelInvitation}>取消</Button>
1890
+ ]}>
1891
+ <div>
1892
+ <div>输入员工号:</div>
1893
+ <div className="invitationDiv">
1894
+ <input className="inputClick" placeholder="请输入员工号" value={this.state.employeeNumber} onChange={e => this.handleChange(e)}></input>
1895
+ <span className="invitationSpan" onClick={this.queryStaff}>查 询</span>
1896
+ </div>
1897
+ <div className="invitationDiv">
1898
+ <input className="inputClick" readonly value={this.state.employeeName}></input>
1899
+ </div>
1741
1900
  </div>
1742
- <div className="invitationDiv">
1743
- <input className="inputClick" readonly value={this.state.employeeName}></input>
1901
+ </Modal>
1902
+ <Modal title="签字白板" closable={false} visible={this.state.isModalVisibleSign} footer={
1903
+ [
1904
+ <Button type="primary" danger onClick={this.handleOkSign}>确定</Button>
1905
+ ]
1906
+ }>
1907
+ <div className="content">
1908
+ <CanvasDraw
1909
+ ref={this.signCanvas}
1910
+ brushColor="#000"
1911
+ brushRadius={3}
1912
+ lazyRadius={2}
1913
+ canvasWidth="100%"
1914
+ canvasHeight="100%"
1915
+ hideGrid={true}
1916
+ ></CanvasDraw>
1744
1917
  </div>
1745
- </div>
1746
- </Modal>
1747
- <Modal title="签字白板" closable={false} visible={this.state.isModalVisibleSign} footer={
1748
- [
1749
- <Button type="primary" danger onClick={this.handleOkSign}>确定</Button>
1750
- ]
1751
- }>
1752
- <div className="content">
1753
- <CanvasDraw
1754
- ref={this.signCanvas}
1755
- brushColor="#000"
1756
- brushRadius={3}
1757
- lazyRadius={2}
1758
- canvasWidth="100%"
1759
- canvasHeight="100%"
1760
- hideGrid={true}
1761
- ></CanvasDraw>
1762
- </div>
1763
- </Modal>
1764
- <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
1765
- webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
1766
- x-webkit-airplay="true"></video>
1767
- </Spin>
1768
- </div>
1769
-
1770
- );
1918
+ </Modal>
1919
+ <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
1920
+ webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
1921
+ x-webkit-airplay="true"></video>
1922
+ </Spin>
1923
+ </div>);
1771
1924
  }
1772
1925
  }
1773
1926
  Video.defaultProps = {
@@ -1775,6 +1928,6 @@ Video.defaultProps = {
1775
1928
  businessNumber: '123',
1776
1929
  callbackUrl: 'http://47.102.126.132:8720/hsbc/callback',
1777
1930
  roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
1778
- resourcePath:'https://counter-web.leimondata.cn:7199',
1931
+ resourcePath: 'https://counter-web.leimondata.cn:7199',
1779
1932
  }
1780
1933
  export default Video