react_hsbc_teller 0.2.1 → 0.2.5

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,
@@ -50,7 +52,7 @@ class Video extends Component {
50
52
  voiceStatue: false,
51
53
  voiceImg: voiceImgOpen,
52
54
  isBigVideo: 'video1',
53
- isCustomer: false,
55
+ isCustomer: true,
54
56
  publishDevic: 1,
55
57
  isSharedScreen: false,
56
58
  isSuspend: false,
@@ -416,25 +418,25 @@ class Video extends Component {
416
418
  };
417
419
  // 画中画
418
420
  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
- });
421
+ // const publish_config = {};
422
+ // publish_config.media_type = 1;
423
+ // publish_config.publish_device = 4;
424
+ // publish_config.need_volume_analyser = true;
425
+ // publish_config.video_profile_type = 3;
426
+ // publish_config.part_of_screen_id = 'touBoxItem';
427
+ // publish_config.publish_video_id = 'video3';
428
+ // publish_config.publish_streamId_id = 'subscribe_streamId3';
429
+ // // publish_config.publish_tag = 'sharedScreen'
430
+ // this.test_controller.Publish(publish_config);
431
+ // callNimIM('sendCustomCmdMsg', {
432
+ // customId: this.state.imRoomId,
433
+ // content: JSON.stringify({
434
+ // 'typeId': 2030,
435
+ // 'sessionId': this.state.sessionId,
436
+ // 'sharedScreen': 1,
437
+ // 'tellerId': this.props.tellerAccount
438
+ // })
439
+ // });
438
440
  if (this.isFileSuccuse()) {
439
441
  const width = 640;
440
442
  const height = 480;
@@ -511,6 +513,38 @@ class Video extends Component {
511
513
  if (Mival.sessionId == this.state.sessionId) {
512
514
  this.endSession('customerHangUp')
513
515
  }
516
+ } else if (Mival.typeId == 1215) {
517
+ // 一炒多的图片
518
+ if (Mival.sessionId == this.state.sessionId) {
519
+ this.props.imgCallback(Mival.data.type, Mival.data.file) // 文字抄录和风险抄录,3--风险,,2--文字
520
+ }
521
+ } else if (Mival.typeId == 1216) {
522
+ // 签字回调
523
+ if (Mival.sessionId == this.state.sessionId) {
524
+ this.props.signatureCallback()
525
+ }
526
+ } else if (Mival.typeId == 1218) {
527
+ if (Mival.sessionId == this.state.sessionId) {
528
+ // 1-开启,2-关闭
529
+ if(Mival.type == 1) {
530
+ this.switchExternal()
531
+ } else if(Mival.type == 2) {
532
+ if(this.state.isSharedScreen) {
533
+ this.setState({
534
+ isWhiteboard: false,
535
+ })
536
+ }else {
537
+ this.test_controller.UnPublish(document.getElementById('video10').name)
538
+ this.setState({
539
+ isPDF: false,
540
+ isSelect: 'video',
541
+ isWhiteboard: false,
542
+ })
543
+ }
544
+ }
545
+
546
+ }
547
+
514
548
  }
515
549
  };
516
550
 
@@ -614,7 +648,7 @@ class Video extends Component {
614
648
 
615
649
  this.test_controller.OnCreateRoomSucc = (room_id, rtoken) => {
616
650
  console.log('创建房间成功', room_id, rtoken);
617
- this.setState({
651
+ this.setState({
618
652
  channelId: room_id,
619
653
  rtoken: rtoken
620
654
  });
@@ -1045,7 +1079,8 @@ class Video extends Component {
1045
1079
  tellerId: this.props.tellerAccount
1046
1080
  });
1047
1081
  this.setState({
1048
- isCustomer: false
1082
+ isCustomer: false,
1083
+ isWhiteboard: false,
1049
1084
  });
1050
1085
  this.props.onLeaveRoom({
1051
1086
  code: LEAVE_TYPE.TELLER_EXIT,
@@ -1084,37 +1119,23 @@ class Video extends Component {
1084
1119
  this.setState({
1085
1120
  loading: true,
1086
1121
  })
1087
- console.log( this.props.resourcePath + "/log4b.js")
1088
1122
  const _dependScripts = [
1089
1123
  // https://counter-web.leimondata.cn:7199
1090
- this.props.resourcePath + "/log4b.js",
1091
- this.props.resourcePath + "/meeting_api_util.js",
1124
+ this.props.resourcePath + "/adapter.js",
1125
+ this.props.resourcePath + "/getMediaInfo.js",
1126
+ this.props.resourcePath + "/pdf.js",
1127
+ this.props.resourcePath + "/EBML.js",
1092
1128
  this.props.resourcePath + "/mcu.js",
1093
- this.props.resourcePath + "/client_record.js",
1129
+ this.props.resourcePath + "/meeting_desk_stream.js",
1130
+ this.props.resourcePath + "/meeting_html_stream.js",
1131
+ this.props.resourcePath + "/meeting_file_stream.js",
1132
+ this.props.resourcePath + "/meeting_im.js",
1094
1133
  this.props.resourcePath + "/meeting_vod.js",
1095
- this.props.resourcePath + "/remote_record.js",
1096
1134
  this.props.resourcePath + "/meeting_invite.js",
1097
- this.props.resourcePath + "/meeting_im.js",
1135
+ this.props.resourcePath + "/client_record.js",
1136
+ this.props.resourcePath + "/remote_record.js",
1098
1137
  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
1138
  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
1139
  ]
1119
1140
  const that = this
1120
1141
  let i = 0
@@ -1169,8 +1190,8 @@ class Video extends Component {
1169
1190
  } else {
1170
1191
  setTimeout(() => {
1171
1192
  this.setState({
1172
- screenName: this.props.intl.formatMessage({id: 'shareScreen'}),
1173
- suspendName: this.props.intl.formatMessage({id: 'suspend'}),
1193
+ screenName: this.props.intl.formatMessage({ id: 'shareScreen' }),
1194
+ suspendName: this.props.intl.formatMessage({ id: 'suspend' }),
1174
1195
  })
1175
1196
  }, 50);
1176
1197
  this.addToScript()
@@ -1288,24 +1309,60 @@ class Video extends Component {
1288
1309
  if (this.isFileSuccuse()) {
1289
1310
  const publish_config = {};
1290
1311
  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);
1312
+ if (this.state.isWhiteboard) {
1313
+ publish_config.publish_device = 4
1314
+ publish_config.media_type = 1
1315
+ publish_config.sid = document.getElementById('video10').name
1316
+ publish_config.part_of_screen_id = 'touBoxItem'
1317
+ publish_config.video_profile_type = 5
1318
+ this.test_controller.ChangeMediaStream(publish_config);
1319
+ this.setState({
1320
+ isPDF: true,
1321
+ isSelect: 'noVideo',
1322
+ })
1323
+ } else {
1324
+ this.test_controller.UnPublish(document.getElementById('video10').name)
1325
+ this.setState({
1326
+ isPDF: false,
1327
+ isSelect: 'video',
1328
+ })
1329
+ }
1296
1330
  this.setState({
1297
1331
  publishDevic: 1,
1298
1332
  isSharedScreen: false,
1333
+
1299
1334
  screenName: '投屏'
1300
1335
  });
1301
1336
  } 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);
1337
+ if (document.getElementById('video10').name) {
1338
+ publish_config.media_type = 1;
1339
+ publish_config.publish_device = 2;
1340
+ publish_config.video_profile_type = 5;
1341
+ publish_config.sid = document.getElementById('video10').name;
1342
+ this.test_controller.ChangeMediaStream(publish_config);
1343
+ } else {
1344
+ publish_config.media_type = 1
1345
+ publish_config.publish_device = 2
1346
+ publish_config.need_volume_analyser = true
1347
+ publish_config.video_profile_type = 5
1348
+ publish_config.publish_video_id = 'video10'
1349
+ publish_config.publish_streamId_id = 'subscribe_streamId10'
1350
+ publish_config.publish_tag = ''
1351
+ this.test_controller.Publish(publish_config)
1352
+ }
1353
+
1354
+
1355
+ // publish_config.media_type = 1;
1356
+ // publish_config.publish_device = 2;
1357
+ // publish_config.video_profile_type = 5;
1358
+ // publish_config.sid = document.getElementById('publish_video1').name;
1359
+ // this.test_controller.ChangeMediaStream(publish_config);
1307
1360
  this.setState({
1308
- publishDevic: 2
1361
+ publishDevic: 2,
1362
+ isSelect: 'noVideo',
1363
+ isSharedScreen: true,
1364
+ screenName: '取消共享',
1365
+ isPDF: false
1309
1366
  })
1310
1367
  }
1311
1368
  }
@@ -1493,7 +1550,7 @@ class Video extends Component {
1493
1550
  })
1494
1551
  }
1495
1552
  componentWillReceiveProps(props) {
1496
- this.setState({
1553
+ this.setState({
1497
1554
  channelId: props.roomId,
1498
1555
  rtoken: props.mtoken,
1499
1556
  sessionId: props.sessionId,
@@ -1541,87 +1598,158 @@ class Video extends Component {
1541
1598
  file: this.signCanvas.current.canvas.drawing.toDataURL('image/png')
1542
1599
  })
1543
1600
  }
1544
- switchExternal=()=>{
1545
- this.setState({
1546
- isPDF: true
1547
- })
1601
+ switchExternal = () => {
1602
+ if(!this.state.isWhiteboard) {
1603
+ const publish_config = {};
1604
+ this.setState({
1605
+ isPDF: true,
1606
+ isWhiteboard: true,
1607
+ isSelect: 'noVideo',
1608
+ })
1609
+ if (document.getElementById('video10').name) {
1610
+ // 代表已经有了进行切流
1611
+ publish_config.publish_device = 4
1612
+ publish_config.media_type = 1
1613
+ publish_config.sid = document.getElementById('video10').name
1614
+ publish_config.part_of_screen_id = 'touBoxItem'
1615
+ publish_config.video_profile_type = 5
1616
+ this.test_controller.ChangeMediaStream(publish_config);
1617
+ } else {
1618
+
1619
+ publish_config.media_type = 1
1620
+ publish_config.publish_device = 4
1621
+ publish_config.need_volume_analyser = true
1622
+ publish_config.video_profile_type = 5
1623
+ publish_config.part_of_screen_id = 'touBoxItem';
1624
+ publish_config.publish_video_id = 'video10'
1625
+ publish_config.publish_streamId_id = 'subscribe_streamId10'
1626
+ publish_config.publish_tag = ''
1627
+ this.test_controller.Publish(publish_config)
1628
+ }
1629
+ } else{
1630
+ message.success('当前已经切换RM白板')
1631
+ }
1632
+
1633
+
1634
+ }
1635
+ switchSelect = () => {
1636
+ if (this.state.isSelect == 'video') {
1637
+ if (document.getElementById('video10').name) {
1638
+ this.setState({
1639
+ isSelect: 'noVideo',
1640
+ })
1641
+ } else {
1642
+ message.success('当前无签字白板')
1643
+ }
1644
+
1645
+ } else {
1646
+ this.setState({
1647
+ isSelect: 'video',
1648
+ })
1649
+ }
1548
1650
  }
1549
1651
  render() {
1550
- const pdfChildren = React.cloneElement(this.props.children,{width: 100, height: 100, id: 12})
1652
+ var pdfChildren
1653
+ if (this.props.children) {
1654
+ pdfChildren = React.cloneElement(this.props.children, { width: 100, height: 100, id: 12 })
1655
+ }
1551
1656
  return (
1552
-
1553
1657
  <div className="all">
1554
1658
  <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>
1659
+ <Header></Header>
1660
+ <div className="health">
1661
+ <div className="projection">
1662
+ <div className="button">
1663
+ <div className={`${this.state.isSelect == 'video' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>视频画面</div>
1664
+ <div className={`${this.state.isSelect == 'noVideo' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>投屏白板</div>
1665
+ </div>
1666
+ <div className="videoDiv" style={{ display: (this.state.isSelect == 'noVideo') ? '' : 'none', }}>
1667
+ <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1668
+ {pdfChildren}
1669
+ </div>
1670
+ <div style={this.state.isPDF ? { display: 'none' } : {}}>
1671
+ <video
1672
+ id="video10"
1673
+ autoPlay
1674
+ muted={true}
1675
+ className="video"
1676
+ />
1677
+ <audio id="audio10" autoPlay />
1678
+ <label style={{ display: 'none' }} id="feedId10" type="text" />
1679
+ {/* <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView10" width="70" height="70"></canvas> */}
1680
+
1681
+ </div>
1682
+
1581
1683
  </div>
1582
1684
  </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">
1685
+ <div className="wrapper">
1686
+ <div
1687
+ className={`itemed ${this.state.isBigVideo == 'video1' ? 'item1' : ""}`}
1688
+ // className="itemed item1"
1689
+ style={{ position: "relative" }}
1690
+ onClick={this.enlargeClick.bind(this, 'isLangVideo1')}
1691
+ >
1588
1692
  {
1589
- this.state.audioed && <img
1693
+ this.state.customAudioed && <img
1590
1694
  alt=""
1591
1695
  src={require("../../assets/img/yingpin.png").default}
1592
- className="imgClass"
1593
- />
1696
+ style={{ width: "100%", height: "100%" }}
1697
+ ></img>
1594
1698
  }
1595
- {
1596
- this.state.isSuspend && <img
1597
- alt=""
1598
- src={require("../../assets/img/zanTing.png").default}
1599
- className="imgClass"
1699
+ <div className="video1Div" style={{ display: (!this.state.customAudioed) ? '' : 'none', }}>
1700
+ <video
1701
+ id="video1"
1702
+ autoPlay
1703
+ muted={true}
1704
+ className="video1"
1600
1705
  />
1601
- }
1602
- {
1706
+ <audio id="audio1" autoPlay />
1707
+ <label style={{ display: 'none' }} id="feedId1" type="text" />
1708
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="20" height="50"></canvas>
1709
+ </div>
1710
+ </div>
1711
+ <div
1712
+ className={`itemed ${this.state.publishDevic == 4 ? '' : (this.state.isBigVideo == 'publish_video1' ? 'item1 isBack' : (this.state.isCustomer ? 'isBack' : 'itemPublic'))}`}
1713
+ onClick={this.enlargeClick.bind(this, 'isLangPublishVideo1')}
1714
+ >
1715
+ <div className="publishVideoDiv">
1716
+ {
1717
+ this.state.audioed && <img
1718
+ alt=""
1719
+ src={require("../../assets/img/yingpin.png").default}
1720
+ className="imgClass"
1721
+ />
1722
+ }
1723
+ {
1724
+ this.state.isSuspend && <img
1725
+ alt=""
1726
+ src={require("../../assets/img/zanTing.png").default}
1727
+ className="imgClass"
1728
+ />
1729
+ }
1730
+ {/* {
1603
1731
  this.state.isSharedScreen && <span
1604
1732
  className="sharedScreen"
1605
1733
  >
1606
1734
  屏幕共享中
1607
1735
  </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>
1736
+ } */}
1737
+ <video
1738
+ style={{ display: (!this.state.audioed && !this.state.isSuspend) ? '' : 'none', }}
1739
+ id="publish_video1"
1740
+ className={`publishVideoClass ${this.state.isCustomer ? '' : "videoFit"}`}
1741
+ onClick={this.enlargeClick.bind(this, 'isLangVideo2')}
1742
+ autoPlay
1743
+ muted={true}
1744
+ />
1745
+ <audio id="audio1" autoPlay />
1746
+ <label style={{ display: 'none' }} id="publish_streamId1" type="text" />
1747
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="20" height="50"></canvas>
1748
+ </div>
1749
+
1620
1750
  </div>
1751
+ <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
1621
1752
 
1622
- </div>
1623
- <div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
1624
-
1625
1753
  <div onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
1626
1754
  <video
1627
1755
  id="video2"
@@ -1631,143 +1759,141 @@ class Video extends Component {
1631
1759
  />
1632
1760
  <audio id="audio2" autoPlay />
1633
1761
  <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>
1762
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="20" height="50"></canvas>
1635
1763
  </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">
1675
- <pdfChildren></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
-
1689
1764
  </div>
1690
- </div>
1765
+ <div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
1766
+ onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
1767
+ <video
1768
+ id="video3"
1769
+ autoPlay
1770
+ muted={true}
1771
+ className="video"
1772
+ />
1773
+ <audio id="audio3" autoPlay />
1774
+ <label style={{ display: 'none' }} id="feedId3" type="text" />
1775
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="20" height="50"></canvas>
1776
+ </div>
1777
+ <div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
1778
+ onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
1779
+ <video
1780
+ id="video4"
1781
+ autoPlay
1782
+ muted={true}
1783
+ className="video"
1784
+ />
1785
+ <audio id="audio4" autoPlay />
1786
+ <label style={{ display: 'none' }} id="feedId4" type="text" />
1787
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="20" height="50"></canvas>
1788
+ </div>
1789
+ <div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
1790
+ onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
1791
+ <video
1792
+ id="video5"
1793
+ autoPlay
1794
+ muted={true}
1795
+ className="video"
1796
+ />
1797
+ <audio id="audio5" autoPlay />
1798
+ <label style={{ display: 'none' }} id="feedId5" type="text" />
1799
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="20" height="50"></canvas>
1800
+ </div>
1801
+ <div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} className={`${this.state.isBigVideo == 'video6' ? 'item1' : "itemed"}`}>
1802
+ {/* <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
1803
+ {pdfChildren}
1804
+ </div> */}
1805
+ {/* <div style={this.state.isPDF ? {display: 'none'}: {}}> */}
1806
+ <video
1807
+ id="video6"
1808
+ autoPlay
1809
+ muted={true}
1810
+ className="video"
1811
+ />
1812
+ <audio id="audio6" autoPlay />
1813
+ <label style={{ display: 'none' }} id="feedId6" type="text" />
1814
+ <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="20" height="50"></canvas>
1815
+ {/* </div> */}
1816
+
1817
+ </div>
1818
+ </div>
1691
1819
 
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
1820
  </div>
1821
+ <Foot
1822
+ img={this.state.voiceImg}
1823
+ screenName={this.state.screenName}
1824
+ suspendName={this.state.suspendName}
1825
+ cameraImg={this.state.cameraImg}
1826
+ customerList={this.state.customerList}
1827
+ suspend={this.suspend}
1828
+ voice={this.voice}
1829
+ cameraClick={this.cameraClick}
1830
+ sharedScreen={this.sharedScreen}
1831
+ endSession={this.endSession}
1832
+ facialRecognition={this.facialRecognition}
1833
+ pictureInPicture={this.pictureInPicture}
1834
+ transcribingClick={this.transcribingClick}
1835
+ invitationClick={this.invitationClick}
1836
+ customerFaceClick={this.customerFaceClick}
1837
+ ocrClick={this.ocrClick}
1838
+ switchExternal={this.switchExternal}
1839
+ ></Foot>
1840
+ <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
1841
+ onCancel={this.handleCancel}>
1842
+ {
1843
+ this.state.isSuspend && <span>确定是否恢复会话?</span>
1844
+ }
1845
+ {
1846
+ !this.state.isSuspend && <span>确定是否暂停会话?</span>
1847
+ }
1848
+ </Modal>
1849
+ <Modal cancelText="取消" okText="确定" visible={this.state.isModalVisibleEnd} onOk={this.handleOkEnd}
1850
+ onCancel={this.handleCancelEnd}>
1851
+ <span>确定是否结束会话?</span>
1852
+ </Modal>
1853
+ <Modal title={this.state.titleModal} cancelText="取消" okText="确定" visible={this.state.isModalVisibleFacial}
1854
+ onOk={this.handleOkFacial} onCancel={this.handleCancelFacial}>
1855
+ <div className="faceBody">
1856
+ <img className="faceImg" src={this.state.facialImg} alt=""></img>
1857
+ </div>
1730
1858
 
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>
1859
+ </Modal>
1860
+ <Modal title="新增预约" visible={this.state.isModalVisibleInvitation} footer={[
1861
+ <Button type="primary" danger onClick={this.handleOkInvitation}>发送</Button>,
1862
+ <Button onClick={this.handleCancelInvitation}>取消</Button>
1863
+ ]}>
1864
+ <div>
1865
+ <div>输入员工号:</div>
1866
+ <div className="invitationDiv">
1867
+ <input className="inputClick" placeholder="请输入员工号" value={this.state.employeeNumber} onChange={e => this.handleChange(e)}></input>
1868
+ <span className="invitationSpan" onClick={this.queryStaff}>查 询</span>
1869
+ </div>
1870
+ <div className="invitationDiv">
1871
+ <input className="inputClick" readonly value={this.state.employeeName}></input>
1872
+ </div>
1741
1873
  </div>
1742
- <div className="invitationDiv">
1743
- <input className="inputClick" readonly value={this.state.employeeName}></input>
1874
+ </Modal>
1875
+ <Modal title="签字白板" closable={false} visible={this.state.isModalVisibleSign} footer={
1876
+ [
1877
+ <Button type="primary" danger onClick={this.handleOkSign}>确定</Button>
1878
+ ]
1879
+ }>
1880
+ <div className="content">
1881
+ <CanvasDraw
1882
+ ref={this.signCanvas}
1883
+ brushColor="#000"
1884
+ brushRadius={3}
1885
+ lazyRadius={2}
1886
+ canvasWidth="100%"
1887
+ canvasHeight="100%"
1888
+ hideGrid={true}
1889
+ ></CanvasDraw>
1744
1890
  </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
- );
1891
+ </Modal>
1892
+ <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
1893
+ webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
1894
+ x-webkit-airplay="true"></video>
1895
+ </Spin>
1896
+ </div>);
1771
1897
  }
1772
1898
  }
1773
1899
  Video.defaultProps = {
@@ -1775,6 +1901,6 @@ Video.defaultProps = {
1775
1901
  businessNumber: '123',
1776
1902
  callbackUrl: 'http://47.102.126.132:8720/hsbc/callback',
1777
1903
  roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
1778
- resourcePath:'https://counter-web.leimondata.cn:7199',
1904
+ resourcePath: 'https://counter-web.leimondata.cn:7199',
1779
1905
  }
1780
1906
  export default Video