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.
- package/lib/hsbc.js +1 -1
- package/package.json +1 -1
- package/packages/common/websocket.js +1 -1
- package/packages/pages/foot/foot.jsx +17 -16
- package/packages/pages/foot/foot.less +1 -1
- package/packages/pages/header/header.less +5 -5
- package/packages/pages/video/video.jsx +406 -253
- package/packages/pages/video/video.less +39 -0
|
@@ -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
|
|
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
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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,
|
|
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 + "/
|
|
1091
|
-
this.props.resourcePath + "/
|
|
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 + "/
|
|
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 + "/
|
|
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
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
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
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
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.
|
|
1546
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
id="
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
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
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
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.
|
|
1720
|
+
this.state.customAudioed && <img
|
|
1590
1721
|
alt=""
|
|
1591
1722
|
src={require("../../assets/img/yingpin.png").default}
|
|
1592
|
-
|
|
1593
|
-
|
|
1723
|
+
style={{ width: "100%", height: "100%" }}
|
|
1724
|
+
></img>
|
|
1594
1725
|
}
|
|
1595
|
-
{
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
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
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
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="
|
|
1789
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="20" height="50"></canvas>
|
|
1635
1790
|
</div>
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
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
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
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
|
-
|
|
1743
|
-
|
|
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
|
-
</
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
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
|