react_hsbc_teller 0.2.0 → 0.2.4
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/api/server.js +1 -1
- package/packages/pages/foot/foot.jsx +10 -0
- package/packages/pages/index.jsx +6 -0
- package/packages/pages/video/video.jsx +381 -257
- package/packages/pages/video/video.less +37 -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,9 @@ const LEAVE_TYPE = {
|
|
|
29
29
|
class Video extends Component {
|
|
30
30
|
signCanvas = React.createRef();
|
|
31
31
|
state = {
|
|
32
|
+
isWhiteboard: false,
|
|
33
|
+
isSelect: 'video',
|
|
34
|
+
isPDF: false,
|
|
32
35
|
loading: false,
|
|
33
36
|
isModalVisibleSign: false,
|
|
34
37
|
titleModal: '人脸识别',
|
|
@@ -38,7 +41,6 @@ class Video extends Component {
|
|
|
38
41
|
employeeNumber: '',
|
|
39
42
|
employeeName: '',
|
|
40
43
|
isModalVisibleInvitation: false,
|
|
41
|
-
isPDF: false,
|
|
42
44
|
roomCustomerList: [],
|
|
43
45
|
facialImg: '',
|
|
44
46
|
isModalVisibleFacial: false,
|
|
@@ -50,7 +52,7 @@ class Video extends Component {
|
|
|
50
52
|
voiceStatue: false,
|
|
51
53
|
voiceImg: voiceImgOpen,
|
|
52
54
|
isBigVideo: 'video1',
|
|
53
|
-
isCustomer:
|
|
55
|
+
isCustomer: true,
|
|
54
56
|
publishDevic: 1,
|
|
55
57
|
isSharedScreen: false,
|
|
56
58
|
isSuspend: false,
|
|
@@ -61,13 +63,10 @@ class Video extends Component {
|
|
|
61
63
|
workSpaceId: '',
|
|
62
64
|
bizName: '',
|
|
63
65
|
appId: '',
|
|
64
|
-
// room_server_url: 'wss://cn-hangzhou-mrtc.cloud.alipay.com/ws',
|
|
65
|
-
room_server_url: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
66
66
|
channelId: this.props.roomId,
|
|
67
67
|
rtoken: this.props.mtoken,
|
|
68
68
|
sessionId: this.props.sessionId,
|
|
69
69
|
imRoomId: this.props.imRoomId,
|
|
70
|
-
html_string: '<span style="color:red">123456</span>',
|
|
71
70
|
};
|
|
72
71
|
// eslint-disable-next-line no-undef
|
|
73
72
|
test_controller = '';
|
|
@@ -128,7 +127,7 @@ class Video extends Component {
|
|
|
128
127
|
config_param.biz_name = this.state.bizName; // 'demo'
|
|
129
128
|
config_param.appId = this.state.appId;
|
|
130
129
|
|
|
131
|
-
config_param.room_server_url = this.
|
|
130
|
+
config_param.room_server_url = this.props.roomServerUrl;
|
|
132
131
|
// 允许最大断网时间 (超过未重连, 直接关闭)
|
|
133
132
|
config_param.network_check_timeout = 10000;
|
|
134
133
|
this.test_controller.Connect(config_param)
|
|
@@ -419,25 +418,25 @@ class Video extends Component {
|
|
|
419
418
|
};
|
|
420
419
|
// 画中画
|
|
421
420
|
pictureInPicture = () => {
|
|
422
|
-
const publish_config = {};
|
|
423
|
-
publish_config.media_type = 1;
|
|
424
|
-
publish_config.publish_device = 4;
|
|
425
|
-
publish_config.need_volume_analyser = true;
|
|
426
|
-
publish_config.video_profile_type = 3;
|
|
427
|
-
publish_config.part_of_screen_id = 'touBoxItem';
|
|
428
|
-
publish_config.publish_video_id = 'video3';
|
|
429
|
-
publish_config.publish_streamId_id = 'subscribe_streamId3';
|
|
430
|
-
// publish_config.publish_tag = 'sharedScreen'
|
|
431
|
-
this.test_controller.Publish(publish_config);
|
|
432
|
-
callNimIM('sendCustomCmdMsg', {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
});
|
|
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
|
+
// });
|
|
441
440
|
if (this.isFileSuccuse()) {
|
|
442
441
|
const width = 640;
|
|
443
442
|
const height = 480;
|
|
@@ -514,6 +513,16 @@ class Video extends Component {
|
|
|
514
513
|
if (Mival.sessionId == this.state.sessionId) {
|
|
515
514
|
this.endSession('customerHangUp')
|
|
516
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
|
+
}
|
|
517
526
|
}
|
|
518
527
|
};
|
|
519
528
|
|
|
@@ -617,7 +626,7 @@ class Video extends Component {
|
|
|
617
626
|
|
|
618
627
|
this.test_controller.OnCreateRoomSucc = (room_id, rtoken) => {
|
|
619
628
|
console.log('创建房间成功', room_id, rtoken);
|
|
620
|
-
this.setState({
|
|
629
|
+
this.setState({
|
|
621
630
|
channelId: room_id,
|
|
622
631
|
rtoken: rtoken
|
|
623
632
|
});
|
|
@@ -1048,7 +1057,8 @@ class Video extends Component {
|
|
|
1048
1057
|
tellerId: this.props.tellerAccount
|
|
1049
1058
|
});
|
|
1050
1059
|
this.setState({
|
|
1051
|
-
isCustomer: false
|
|
1060
|
+
isCustomer: false,
|
|
1061
|
+
isWhiteboard: false,
|
|
1052
1062
|
});
|
|
1053
1063
|
this.props.onLeaveRoom({
|
|
1054
1064
|
code: LEAVE_TYPE.TELLER_EXIT,
|
|
@@ -1087,34 +1097,37 @@ class Video extends Component {
|
|
|
1087
1097
|
this.setState({
|
|
1088
1098
|
loading: true,
|
|
1089
1099
|
})
|
|
1100
|
+
console.log(this.props.resourcePath + "/log4b.js")
|
|
1090
1101
|
const _dependScripts = [
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
"
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
"https://
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1102
|
+
// https://counter-web.leimondata.cn:7199
|
|
1103
|
+
this.props.resourcePath + "/log4b.js",
|
|
1104
|
+
this.props.resourcePath + "/meeting_api_util.js",
|
|
1105
|
+
this.props.resourcePath + "/mcu.js",
|
|
1106
|
+
this.props.resourcePath + "/client_record.js",
|
|
1107
|
+
this.props.resourcePath + "/meeting_vod.js",
|
|
1108
|
+
this.props.resourcePath + "/remote_record.js",
|
|
1109
|
+
this.props.resourcePath + "/meeting_invite.js",
|
|
1110
|
+
this.props.resourcePath + "/meeting_im.js",
|
|
1111
|
+
this.props.resourcePath + "/meeting_camera_stream.js",
|
|
1112
|
+
this.props.resourcePath + "/meeting_file_stream.js",
|
|
1113
|
+
this.props.resourcePath + "/meeting_desk_stream.js",
|
|
1114
|
+
this.props.resourcePath + "/meeting_html_stream.js",
|
|
1115
|
+
this.props.resourcePath + "/meeting_beautify_stream.js",
|
|
1116
|
+
this.props.resourcePath + "/stream.js",
|
|
1117
|
+
this.props.resourcePath + "/room.js",
|
|
1118
|
+
this.props.resourcePath + "/backgroundBlur.js",
|
|
1119
|
+
this.props.resourcePath + "/meeting_api.js",
|
|
1120
|
+
this.props.resourcePath + "/html2image.js",
|
|
1121
|
+
this.props.resourcePath + "/reconnecting-websocket.min.js",
|
|
1122
|
+
this.props.resourcePath + "/mtc_api.js",
|
|
1123
|
+
this.props.resourcePath + "/BandwidthHandler.js",
|
|
1124
|
+
this.props.resourcePath + "/RecordRTC.min.js",
|
|
1125
|
+
// "https://gw.alipayobjects.com/os/lib/recordrtc/5.5.9/RecordRTC.min.js",
|
|
1126
|
+
this.props.resourcePath + "/pdf.js",
|
|
1127
|
+
this.props.resourcePath + "/EBML.js",
|
|
1128
|
+
this.props.resourcePath + "/adapter.js",
|
|
1129
|
+
this.props.resourcePath + "/beauty.js",
|
|
1130
|
+
this.props.resourcePath + "/getMediaInfo.js",
|
|
1118
1131
|
]
|
|
1119
1132
|
const that = this
|
|
1120
1133
|
let i = 0
|
|
@@ -1169,8 +1182,8 @@ class Video extends Component {
|
|
|
1169
1182
|
} else {
|
|
1170
1183
|
setTimeout(() => {
|
|
1171
1184
|
this.setState({
|
|
1172
|
-
screenName: this.props.intl.formatMessage({id: 'shareScreen'}),
|
|
1173
|
-
suspendName: this.props.intl.formatMessage({id: 'suspend'}),
|
|
1185
|
+
screenName: this.props.intl.formatMessage({ id: 'shareScreen' }),
|
|
1186
|
+
suspendName: this.props.intl.formatMessage({ id: 'suspend' }),
|
|
1174
1187
|
})
|
|
1175
1188
|
}, 50);
|
|
1176
1189
|
this.addToScript()
|
|
@@ -1288,24 +1301,60 @@ class Video extends Component {
|
|
|
1288
1301
|
if (this.isFileSuccuse()) {
|
|
1289
1302
|
const publish_config = {};
|
|
1290
1303
|
if (this.state.isSharedScreen) {
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1304
|
+
if (this.state.isWhiteboard) {
|
|
1305
|
+
publish_config.publish_device = 4
|
|
1306
|
+
publish_config.media_type = 1
|
|
1307
|
+
publish_config.sid = document.getElementById('video10').name
|
|
1308
|
+
publish_config.part_of_screen_id = 'touBoxItem'
|
|
1309
|
+
publish_config.video_profile_type = 5
|
|
1310
|
+
this.test_controller.ChangeMediaStream(publish_config);
|
|
1311
|
+
this.setState({
|
|
1312
|
+
isPDF: true,
|
|
1313
|
+
isSelect: 'noVideo',
|
|
1314
|
+
})
|
|
1315
|
+
} else {
|
|
1316
|
+
this.test_controller.UnPublish(document.getElementById('video10').name)
|
|
1317
|
+
this.setState({
|
|
1318
|
+
isPDF: false,
|
|
1319
|
+
isSelect: 'video',
|
|
1320
|
+
})
|
|
1321
|
+
}
|
|
1296
1322
|
this.setState({
|
|
1297
1323
|
publishDevic: 1,
|
|
1298
1324
|
isSharedScreen: false,
|
|
1325
|
+
|
|
1299
1326
|
screenName: '投屏'
|
|
1300
1327
|
});
|
|
1301
1328
|
} else {
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1329
|
+
if (document.getElementById('video10').name) {
|
|
1330
|
+
publish_config.media_type = 1;
|
|
1331
|
+
publish_config.publish_device = 2;
|
|
1332
|
+
publish_config.video_profile_type = 5;
|
|
1333
|
+
publish_config.sid = document.getElementById('video10').name;
|
|
1334
|
+
this.test_controller.ChangeMediaStream(publish_config);
|
|
1335
|
+
} else {
|
|
1336
|
+
publish_config.media_type = 1
|
|
1337
|
+
publish_config.publish_device = 2
|
|
1338
|
+
publish_config.need_volume_analyser = true
|
|
1339
|
+
publish_config.video_profile_type = 5
|
|
1340
|
+
publish_config.publish_video_id = 'video10'
|
|
1341
|
+
publish_config.publish_streamId_id = 'subscribe_streamId10'
|
|
1342
|
+
publish_config.publish_tag = ''
|
|
1343
|
+
this.test_controller.Publish(publish_config)
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
// publish_config.media_type = 1;
|
|
1348
|
+
// publish_config.publish_device = 2;
|
|
1349
|
+
// publish_config.video_profile_type = 5;
|
|
1350
|
+
// publish_config.sid = document.getElementById('publish_video1').name;
|
|
1351
|
+
// this.test_controller.ChangeMediaStream(publish_config);
|
|
1307
1352
|
this.setState({
|
|
1308
|
-
publishDevic: 2
|
|
1353
|
+
publishDevic: 2,
|
|
1354
|
+
isSelect: 'noVideo',
|
|
1355
|
+
isSharedScreen: true,
|
|
1356
|
+
screenName: '取消共享',
|
|
1357
|
+
isPDF: false
|
|
1309
1358
|
})
|
|
1310
1359
|
}
|
|
1311
1360
|
}
|
|
@@ -1493,7 +1542,7 @@ class Video extends Component {
|
|
|
1493
1542
|
})
|
|
1494
1543
|
}
|
|
1495
1544
|
componentWillReceiveProps(props) {
|
|
1496
|
-
this.setState({
|
|
1545
|
+
this.setState({
|
|
1497
1546
|
channelId: props.roomId,
|
|
1498
1547
|
rtoken: props.mtoken,
|
|
1499
1548
|
sessionId: props.sessionId,
|
|
@@ -1541,83 +1590,159 @@ class Video extends Component {
|
|
|
1541
1590
|
file: this.signCanvas.current.canvas.drawing.toDataURL('image/png')
|
|
1542
1591
|
})
|
|
1543
1592
|
}
|
|
1544
|
-
|
|
1593
|
+
switchExternal = () => {
|
|
1594
|
+
if(!this.state.isWhiteboard) {
|
|
1595
|
+
const publish_config = {};
|
|
1596
|
+
this.setState({
|
|
1597
|
+
isPDF: true,
|
|
1598
|
+
isWhiteboard: true,
|
|
1599
|
+
isSelect: 'noVideo',
|
|
1600
|
+
})
|
|
1601
|
+
if (document.getElementById('video10').name) {
|
|
1602
|
+
// 代表已经有了进行切流
|
|
1603
|
+
publish_config.publish_device = 4
|
|
1604
|
+
publish_config.media_type = 1
|
|
1605
|
+
publish_config.sid = document.getElementById('video10').name
|
|
1606
|
+
publish_config.part_of_screen_id = 'touBoxItem'
|
|
1607
|
+
publish_config.video_profile_type = 5
|
|
1608
|
+
this.test_controller.ChangeMediaStream(publish_config);
|
|
1609
|
+
} else {
|
|
1610
|
+
|
|
1611
|
+
publish_config.media_type = 1
|
|
1612
|
+
publish_config.publish_device = 4
|
|
1613
|
+
publish_config.need_volume_analyser = true
|
|
1614
|
+
publish_config.video_profile_type = 5
|
|
1615
|
+
publish_config.part_of_screen_id = 'touBoxItem';
|
|
1616
|
+
publish_config.publish_video_id = 'video10'
|
|
1617
|
+
publish_config.publish_streamId_id = 'subscribe_streamId10'
|
|
1618
|
+
publish_config.publish_tag = ''
|
|
1619
|
+
this.test_controller.Publish(publish_config)
|
|
1620
|
+
}
|
|
1621
|
+
} else{
|
|
1622
|
+
message.success('当前已经切换RM白板')
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
}
|
|
1627
|
+
switchSelect = () => {
|
|
1628
|
+
if (this.state.isSelect == 'video') {
|
|
1629
|
+
if (document.getElementById('video10').name) {
|
|
1630
|
+
this.setState({
|
|
1631
|
+
isSelect: 'noVideo',
|
|
1632
|
+
})
|
|
1633
|
+
} else {
|
|
1634
|
+
message.success('当前无签字白板')
|
|
1635
|
+
}
|
|
1545
1636
|
|
|
1637
|
+
} else {
|
|
1638
|
+
this.setState({
|
|
1639
|
+
isSelect: 'video',
|
|
1640
|
+
})
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
render() {
|
|
1644
|
+
var pdfChildren
|
|
1645
|
+
if (this.props.children) {
|
|
1646
|
+
pdfChildren = React.cloneElement(this.props.children, { width: 100, height: 100, id: 12 })
|
|
1647
|
+
}
|
|
1546
1648
|
return (
|
|
1547
|
-
|
|
1548
1649
|
<div className="all">
|
|
1549
1650
|
<Spin spinning={this.state.loading} tip="视频初始化中...">
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
id="
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
<label style={{ display: 'none' }} id="feedId1" type="text" />
|
|
1575
|
-
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="70" height="70"></canvas>
|
|
1651
|
+
<Header></Header>
|
|
1652
|
+
<div className="health">
|
|
1653
|
+
<div className="projection">
|
|
1654
|
+
<div className="button">
|
|
1655
|
+
<div className={`${this.state.isSelect == 'video' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>视频画面</div>
|
|
1656
|
+
<div className={`${this.state.isSelect == 'noVideo' ? 'selectSee' : "noSelest"}`} onClick={this.switchSelect.bind(this)}>投屏白板</div>
|
|
1657
|
+
</div>
|
|
1658
|
+
<div className="videoDiv" style={{ display: (this.state.isSelect == 'noVideo') ? '' : 'none', }}>
|
|
1659
|
+
<div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
|
|
1660
|
+
{pdfChildren}
|
|
1661
|
+
</div>
|
|
1662
|
+
<div style={this.state.isPDF ? { display: 'none' } : {}}>
|
|
1663
|
+
<video
|
|
1664
|
+
id="video10"
|
|
1665
|
+
autoPlay
|
|
1666
|
+
muted={true}
|
|
1667
|
+
className="video"
|
|
1668
|
+
/>
|
|
1669
|
+
<audio id="audio10" autoPlay />
|
|
1670
|
+
<label style={{ display: 'none' }} id="feedId10" type="text" />
|
|
1671
|
+
{/* <canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView10" width="70" height="70"></canvas> */}
|
|
1672
|
+
|
|
1673
|
+
</div>
|
|
1674
|
+
|
|
1576
1675
|
</div>
|
|
1577
1676
|
</div>
|
|
1578
|
-
<div
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1677
|
+
<div className="wrapper">
|
|
1678
|
+
<div
|
|
1679
|
+
className={`itemed ${this.state.isBigVideo == 'video1' ? 'item1' : ""}`}
|
|
1680
|
+
// className="itemed item1"
|
|
1681
|
+
style={{ position: "relative" }}
|
|
1682
|
+
onClick={this.enlargeClick.bind(this, 'isLangVideo1')}
|
|
1683
|
+
>
|
|
1583
1684
|
{
|
|
1584
|
-
this.state.
|
|
1685
|
+
this.state.customAudioed && <img
|
|
1585
1686
|
alt=""
|
|
1586
1687
|
src={require("../../assets/img/yingpin.png").default}
|
|
1587
|
-
|
|
1588
|
-
|
|
1688
|
+
style={{ width: "100%", height: "100%" }}
|
|
1689
|
+
></img>
|
|
1589
1690
|
}
|
|
1590
|
-
{
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1691
|
+
<div className="video1Div" style={{ display: (!this.state.customAudioed) ? '' : 'none', }}>
|
|
1692
|
+
<video
|
|
1693
|
+
id="video1"
|
|
1694
|
+
autoPlay
|
|
1695
|
+
muted={true}
|
|
1696
|
+
className="video1"
|
|
1595
1697
|
/>
|
|
1596
|
-
|
|
1597
|
-
|
|
1698
|
+
<audio id="audio1" autoPlay />
|
|
1699
|
+
<label style={{ display: 'none' }} id="feedId1" type="text" />
|
|
1700
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView1" width="70" height="70"></canvas>
|
|
1701
|
+
</div>
|
|
1702
|
+
</div>
|
|
1703
|
+
<div
|
|
1704
|
+
className={`itemed ${this.state.publishDevic == 4 ? '' : (this.state.isBigVideo == 'publish_video1' ? 'item1 isBack' : (this.state.isCustomer ? 'isBack' : 'itemPublic'))}`}
|
|
1705
|
+
onClick={this.enlargeClick.bind(this, 'isLangPublishVideo1')}
|
|
1706
|
+
>
|
|
1707
|
+
<div className="publishVideoDiv">
|
|
1708
|
+
{
|
|
1709
|
+
this.state.audioed && <img
|
|
1710
|
+
alt=""
|
|
1711
|
+
src={require("../../assets/img/yingpin.png").default}
|
|
1712
|
+
className="imgClass"
|
|
1713
|
+
/>
|
|
1714
|
+
}
|
|
1715
|
+
{
|
|
1716
|
+
this.state.isSuspend && <img
|
|
1717
|
+
alt=""
|
|
1718
|
+
src={require("../../assets/img/zanTing.png").default}
|
|
1719
|
+
className="imgClass"
|
|
1720
|
+
/>
|
|
1721
|
+
}
|
|
1722
|
+
{/* {
|
|
1598
1723
|
this.state.isSharedScreen && <span
|
|
1599
1724
|
className="sharedScreen"
|
|
1600
1725
|
>
|
|
1601
1726
|
屏幕共享中
|
|
1602
1727
|
</span>
|
|
1603
|
-
}
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1728
|
+
} */}
|
|
1729
|
+
<video
|
|
1730
|
+
style={{ display: (!this.state.audioed && !this.state.isSuspend) ? '' : 'none', }}
|
|
1731
|
+
id="publish_video1"
|
|
1732
|
+
className={`publishVideoClass ${this.state.isCustomer ? '' : "videoFit"}`}
|
|
1733
|
+
onClick={this.enlargeClick.bind(this, 'isLangVideo2')}
|
|
1734
|
+
autoPlay
|
|
1735
|
+
muted={true}
|
|
1736
|
+
/>
|
|
1737
|
+
<audio id="audio1" autoPlay />
|
|
1738
|
+
<label style={{ display: 'none' }} id="publish_streamId1" type="text" />
|
|
1739
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="publish_volumeView" width="70" height="70"></canvas>
|
|
1740
|
+
</div>
|
|
1741
|
+
|
|
1615
1742
|
</div>
|
|
1743
|
+
<div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
|
|
1616
1744
|
|
|
1617
|
-
|
|
1618
|
-
<div className={`itemed ${this.state.isBigVideo == 'video2' ? 'item1' : ""}`}>
|
|
1619
|
-
{
|
|
1620
|
-
!this.state.isPDF ? <div onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
|
|
1745
|
+
<div onClick={this.enlargeClick.bind(this, 'isLangVideo2')}>
|
|
1621
1746
|
<video
|
|
1622
1747
|
id="video2"
|
|
1623
1748
|
autoPlay
|
|
@@ -1628,147 +1753,146 @@ class Video extends Component {
|
|
|
1628
1753
|
<label style={{ display: 'none' }} id="feedId2" type="text" />
|
|
1629
1754
|
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView2" width="70" height="70"></canvas>
|
|
1630
1755
|
</div>
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1756
|
+
</div>
|
|
1757
|
+
<div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
|
|
1758
|
+
onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
|
|
1759
|
+
<video
|
|
1760
|
+
id="video3"
|
|
1761
|
+
autoPlay
|
|
1762
|
+
muted={true}
|
|
1763
|
+
className="video"
|
|
1764
|
+
/>
|
|
1765
|
+
<audio id="audio3" autoPlay />
|
|
1766
|
+
<label style={{ display: 'none' }} id="feedId3" type="text" />
|
|
1767
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="70" height="70"></canvas>
|
|
1768
|
+
</div>
|
|
1769
|
+
<div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
|
|
1770
|
+
onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
|
|
1771
|
+
<video
|
|
1772
|
+
id="video4"
|
|
1773
|
+
autoPlay
|
|
1774
|
+
muted={true}
|
|
1775
|
+
className="video"
|
|
1776
|
+
/>
|
|
1777
|
+
<audio id="audio4" autoPlay />
|
|
1778
|
+
<label style={{ display: 'none' }} id="feedId4" type="text" />
|
|
1779
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="70" height="70"></canvas>
|
|
1780
|
+
</div>
|
|
1781
|
+
<div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
|
|
1782
|
+
onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
|
|
1783
|
+
<video
|
|
1784
|
+
id="video5"
|
|
1785
|
+
autoPlay
|
|
1786
|
+
muted={true}
|
|
1787
|
+
className="video"
|
|
1788
|
+
/>
|
|
1789
|
+
<audio id="audio5" autoPlay />
|
|
1790
|
+
<label style={{ display: 'none' }} id="feedId5" type="text" />
|
|
1791
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="70" height="70"></canvas>
|
|
1792
|
+
</div>
|
|
1793
|
+
<div onClick={this.enlargeClick.bind(this, 'isLangVideo6')} className={`${this.state.isBigVideo == 'video6' ? 'item1' : "itemed"}`}>
|
|
1794
|
+
{/* <div style={{ display: (this.state.isPDF) ? '' : 'none', }} id="touBoxItem">
|
|
1795
|
+
{pdfChildren}
|
|
1796
|
+
</div> */}
|
|
1797
|
+
{/* <div style={this.state.isPDF ? {display: 'none'}: {}}> */}
|
|
1798
|
+
<video
|
|
1799
|
+
id="video6"
|
|
1800
|
+
autoPlay
|
|
1801
|
+
muted={true}
|
|
1802
|
+
className="video"
|
|
1803
|
+
/>
|
|
1804
|
+
<audio id="audio6" autoPlay />
|
|
1805
|
+
<label style={{ display: 'none' }} id="feedId6" type="text" />
|
|
1806
|
+
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="70" height="70"></canvas>
|
|
1807
|
+
{/* </div> */}
|
|
1636
1808
|
|
|
1809
|
+
</div>
|
|
1637
1810
|
</div>
|
|
1638
|
-
<div className={`itemed ${this.state.isBigVideo == 'video3' ? 'item1' : ""}`}
|
|
1639
|
-
onClick={this.enlargeClick.bind(this, 'isLangVideo3')}>
|
|
1640
|
-
<video
|
|
1641
|
-
id="video3"
|
|
1642
|
-
autoPlay
|
|
1643
|
-
muted={true}
|
|
1644
|
-
className="video"
|
|
1645
|
-
/>
|
|
1646
|
-
<audio id="audio3" autoPlay />
|
|
1647
|
-
<label style={{ display: 'none' }} id="feedId3" type="text" />
|
|
1648
|
-
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView3" width="70" height="70"></canvas>
|
|
1649
|
-
</div>
|
|
1650
|
-
<div className={`itemed ${this.state.isBigVideo == 'video4' ? 'item1' : ""}`}
|
|
1651
|
-
onClick={this.enlargeClick.bind(this, 'isLangVideo4')}>
|
|
1652
|
-
<video
|
|
1653
|
-
id="video4"
|
|
1654
|
-
autoPlay
|
|
1655
|
-
muted={true}
|
|
1656
|
-
className="video"
|
|
1657
|
-
/>
|
|
1658
|
-
<audio id="audio4" autoPlay />
|
|
1659
|
-
<label style={{ display: 'none' }} id="feedId4" type="text" />
|
|
1660
|
-
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView4" width="70" height="70"></canvas>
|
|
1661
|
-
</div>
|
|
1662
|
-
<div className={`itemed ${this.state.isBigVideo == 'video5' ? 'item1' : ""}`}
|
|
1663
|
-
onClick={this.enlargeClick.bind(this, 'isLangVideo5')}>
|
|
1664
|
-
<video
|
|
1665
|
-
id="video5"
|
|
1666
|
-
autoPlay
|
|
1667
|
-
muted={true}
|
|
1668
|
-
className="video"
|
|
1669
|
-
/>
|
|
1670
|
-
<audio id="audio5" autoPlay />
|
|
1671
|
-
<label style={{ display: 'none' }} id="feedId5" type="text" />
|
|
1672
|
-
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView5" width="70" height="70"></canvas>
|
|
1673
|
-
</div>
|
|
1674
|
-
<div className={`itemed ${this.state.isBigVideo == 'video6' ? 'item1' : ""}`}
|
|
1675
|
-
onClick={this.enlargeClick.bind(this, 'isLangVideo6')}>
|
|
1676
|
-
<video
|
|
1677
|
-
id="video6"
|
|
1678
|
-
autoPlay
|
|
1679
|
-
muted={true}
|
|
1680
|
-
className="video"
|
|
1681
|
-
/>
|
|
1682
|
-
<audio id="audio6" autoPlay />
|
|
1683
|
-
<label style={{ display: 'none' }} id="feedId6" type="text" />
|
|
1684
|
-
<canvas style={{ display: (this.state.isCustomer) ? '' : 'none', }} className="canvasClass" id="subscribe_volumeView6" width="70" height="70"></canvas>
|
|
1685
|
-
</div>
|
|
1686
|
-
</div>
|
|
1687
1811
|
|
|
1688
|
-
</div>
|
|
1689
|
-
<Foot
|
|
1690
|
-
img={this.state.voiceImg}
|
|
1691
|
-
screenName={this.state.screenName}
|
|
1692
|
-
suspendName={this.state.suspendName}
|
|
1693
|
-
cameraImg={this.state.cameraImg}
|
|
1694
|
-
customerList={this.state.customerList}
|
|
1695
|
-
suspend={this.suspend}
|
|
1696
|
-
voice={this.voice}
|
|
1697
|
-
cameraClick={this.cameraClick}
|
|
1698
|
-
sharedScreen={this.sharedScreen}
|
|
1699
|
-
endSession={this.endSession}
|
|
1700
|
-
facialRecognition={this.facialRecognition}
|
|
1701
|
-
pictureInPicture={this.pictureInPicture}
|
|
1702
|
-
transcribingClick={this.transcribingClick}
|
|
1703
|
-
invitationClick={this.invitationClick}
|
|
1704
|
-
customerFaceClick={this.customerFaceClick}
|
|
1705
|
-
ocrClick={this.ocrClick}
|
|
1706
|
-
></Foot>
|
|
1707
|
-
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
|
|
1708
|
-
onCancel={this.handleCancel}>
|
|
1709
|
-
{
|
|
1710
|
-
this.state.isSuspend && <span>确定是否恢复会话?</span>
|
|
1711
|
-
}
|
|
1712
|
-
{
|
|
1713
|
-
!this.state.isSuspend && <span>确定是否暂停会话?</span>
|
|
1714
|
-
}
|
|
1715
|
-
</Modal>
|
|
1716
|
-
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisibleEnd} onOk={this.handleOkEnd}
|
|
1717
|
-
onCancel={this.handleCancelEnd}>
|
|
1718
|
-
<span>确定是否结束会话?</span>
|
|
1719
|
-
</Modal>
|
|
1720
|
-
<Modal title={this.state.titleModal} cancelText="取消" okText="确定" visible={this.state.isModalVisibleFacial}
|
|
1721
|
-
onOk={this.handleOkFacial} onCancel={this.handleCancelFacial}>
|
|
1722
|
-
<div className="faceBody">
|
|
1723
|
-
<img className="faceImg" src={this.state.facialImg} alt=""></img>
|
|
1724
1812
|
</div>
|
|
1813
|
+
<Foot
|
|
1814
|
+
img={this.state.voiceImg}
|
|
1815
|
+
screenName={this.state.screenName}
|
|
1816
|
+
suspendName={this.state.suspendName}
|
|
1817
|
+
cameraImg={this.state.cameraImg}
|
|
1818
|
+
customerList={this.state.customerList}
|
|
1819
|
+
suspend={this.suspend}
|
|
1820
|
+
voice={this.voice}
|
|
1821
|
+
cameraClick={this.cameraClick}
|
|
1822
|
+
sharedScreen={this.sharedScreen}
|
|
1823
|
+
endSession={this.endSession}
|
|
1824
|
+
facialRecognition={this.facialRecognition}
|
|
1825
|
+
pictureInPicture={this.pictureInPicture}
|
|
1826
|
+
transcribingClick={this.transcribingClick}
|
|
1827
|
+
invitationClick={this.invitationClick}
|
|
1828
|
+
customerFaceClick={this.customerFaceClick}
|
|
1829
|
+
ocrClick={this.ocrClick}
|
|
1830
|
+
switchExternal={this.switchExternal}
|
|
1831
|
+
></Foot>
|
|
1832
|
+
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
|
|
1833
|
+
onCancel={this.handleCancel}>
|
|
1834
|
+
{
|
|
1835
|
+
this.state.isSuspend && <span>确定是否恢复会话?</span>
|
|
1836
|
+
}
|
|
1837
|
+
{
|
|
1838
|
+
!this.state.isSuspend && <span>确定是否暂停会话?</span>
|
|
1839
|
+
}
|
|
1840
|
+
</Modal>
|
|
1841
|
+
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisibleEnd} onOk={this.handleOkEnd}
|
|
1842
|
+
onCancel={this.handleCancelEnd}>
|
|
1843
|
+
<span>确定是否结束会话?</span>
|
|
1844
|
+
</Modal>
|
|
1845
|
+
<Modal title={this.state.titleModal} cancelText="取消" okText="确定" visible={this.state.isModalVisibleFacial}
|
|
1846
|
+
onOk={this.handleOkFacial} onCancel={this.handleCancelFacial}>
|
|
1847
|
+
<div className="faceBody">
|
|
1848
|
+
<img className="faceImg" src={this.state.facialImg} alt=""></img>
|
|
1849
|
+
</div>
|
|
1725
1850
|
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1851
|
+
</Modal>
|
|
1852
|
+
<Modal title="新增预约" visible={this.state.isModalVisibleInvitation} footer={[
|
|
1853
|
+
<Button type="primary" danger onClick={this.handleOkInvitation}>发送</Button>,
|
|
1854
|
+
<Button onClick={this.handleCancelInvitation}>取消</Button>
|
|
1855
|
+
]}>
|
|
1856
|
+
<div>
|
|
1857
|
+
<div>输入员工号:</div>
|
|
1858
|
+
<div className="invitationDiv">
|
|
1859
|
+
<input className="inputClick" placeholder="请输入员工号" value={this.state.employeeNumber} onChange={e => this.handleChange(e)}></input>
|
|
1860
|
+
<span className="invitationSpan" onClick={this.queryStaff}>查 询</span>
|
|
1861
|
+
</div>
|
|
1862
|
+
<div className="invitationDiv">
|
|
1863
|
+
<input className="inputClick" readonly value={this.state.employeeName}></input>
|
|
1864
|
+
</div>
|
|
1736
1865
|
</div>
|
|
1737
|
-
|
|
1738
|
-
|
|
1866
|
+
</Modal>
|
|
1867
|
+
<Modal title="签字白板" closable={false} visible={this.state.isModalVisibleSign} footer={
|
|
1868
|
+
[
|
|
1869
|
+
<Button type="primary" danger onClick={this.handleOkSign}>确定</Button>
|
|
1870
|
+
]
|
|
1871
|
+
}>
|
|
1872
|
+
<div className="content">
|
|
1873
|
+
<CanvasDraw
|
|
1874
|
+
ref={this.signCanvas}
|
|
1875
|
+
brushColor="#000"
|
|
1876
|
+
brushRadius={3}
|
|
1877
|
+
lazyRadius={2}
|
|
1878
|
+
canvasWidth="100%"
|
|
1879
|
+
canvasHeight="100%"
|
|
1880
|
+
hideGrid={true}
|
|
1881
|
+
></CanvasDraw>
|
|
1739
1882
|
</div>
|
|
1740
|
-
</
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
}>
|
|
1747
|
-
<div className="content">
|
|
1748
|
-
<CanvasDraw
|
|
1749
|
-
ref={this.signCanvas}
|
|
1750
|
-
brushColor="#000"
|
|
1751
|
-
brushRadius={3}
|
|
1752
|
-
lazyRadius={2}
|
|
1753
|
-
canvasWidth="100%"
|
|
1754
|
-
canvasHeight="100%"
|
|
1755
|
-
hideGrid={true}
|
|
1756
|
-
></CanvasDraw>
|
|
1757
|
-
</div>
|
|
1758
|
-
</Modal>
|
|
1759
|
-
<video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
|
|
1760
|
-
webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
|
|
1761
|
-
x-webkit-airplay="true"></video>
|
|
1762
|
-
</Spin>
|
|
1763
|
-
</div>
|
|
1764
|
-
|
|
1765
|
-
);
|
|
1883
|
+
</Modal>
|
|
1884
|
+
<video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"
|
|
1885
|
+
webkit-playsinline="true" playsInline={true} x5-playsinline="x5-playsinline"
|
|
1886
|
+
x-webkit-airplay="true"></video>
|
|
1887
|
+
</Spin>
|
|
1888
|
+
</div>);
|
|
1766
1889
|
}
|
|
1767
1890
|
}
|
|
1768
1891
|
Video.defaultProps = {
|
|
1769
1892
|
tellerAccount: 't001',
|
|
1770
1893
|
businessNumber: '123',
|
|
1771
1894
|
callbackUrl: 'http://47.102.126.132:8720/hsbc/callback',
|
|
1772
|
-
|
|
1895
|
+
roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
1896
|
+
resourcePath: 'https://counter-web.leimondata.cn:7199',
|
|
1773
1897
|
}
|
|
1774
1898
|
export default Video
|