react_hsbc_teller 1.0.6 → 1.0.9
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/demo/demo.js +13 -2
- package/packages/demo/pdf.js +78 -0
- package/packages/pages/foot/foot.jsx +4 -4
- package/packages/pages/foot/foot.less +6 -2
- package/packages/pages/header/header.jsx +1 -1
- package/packages/pages/video/video.jsx +154 -82
- package/packages/pages/video/video.less +1 -1
package/package.json
CHANGED
package/packages/demo/demo.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { Component } from "react";
|
|
2
2
|
import HSBC from "../pages/index";
|
|
3
|
+
import Pdf from './pdf.js'
|
|
3
4
|
|
|
4
5
|
class Demo extends Component {
|
|
5
6
|
state = {
|
|
@@ -123,7 +124,17 @@ createRoomCallback=(data)=>{
|
|
|
123
124
|
window.localStorage.setItem('sessionId',data.data.sessionId)
|
|
124
125
|
this.setState({imRoomId: data.data.imRoomId});
|
|
125
126
|
window.localStorage.setItem('imRoomId', data.data.imRoomId)
|
|
126
|
-
|
|
127
|
+
// setInterval(
|
|
128
|
+
// () => {
|
|
129
|
+
// console.log('isTranscribing',this.state.isTranscribing)
|
|
130
|
+
// this.state.isTranscribing = !this.state.isTranscribing
|
|
131
|
+
// this.setState({
|
|
132
|
+
// isTranscribing: this.state.isTranscribing
|
|
133
|
+
// })
|
|
134
|
+
// console.log('isTranscribing',this.state.isTranscribing)
|
|
135
|
+
// },
|
|
136
|
+
// 5000
|
|
137
|
+
// );
|
|
127
138
|
}
|
|
128
139
|
joinRoomCallback=(data)=>{
|
|
129
140
|
console.log('joinRoomCallback', data)
|
|
@@ -159,7 +170,7 @@ joinRoomCallback=(data)=>{
|
|
|
159
170
|
imgCallback={this.imgCallback}
|
|
160
171
|
>
|
|
161
172
|
|
|
162
|
-
|
|
173
|
+
<Pdf></Pdf>
|
|
163
174
|
</HSBC>
|
|
164
175
|
:
|
|
165
176
|
<div>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React, { Component } from "react";
|
|
2
|
+
|
|
3
|
+
class pdf extends Component {
|
|
4
|
+
state = {
|
|
5
|
+
isVideo: false,
|
|
6
|
+
tellerAccount: '',
|
|
7
|
+
callbackUrl: 'http://47.102.126.132:8720/hsbc/callback',
|
|
8
|
+
businessNumber: '',
|
|
9
|
+
lang: 'zh',
|
|
10
|
+
roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
11
|
+
baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api',
|
|
12
|
+
resourcePath:'https://counter-web.leimondata.cn:7199',
|
|
13
|
+
}
|
|
14
|
+
startVideo = () => {
|
|
15
|
+
this.setState({
|
|
16
|
+
isVideo: true
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
onLeaveRoom = (val) => {
|
|
20
|
+
console.log(val)
|
|
21
|
+
this.setState({
|
|
22
|
+
isVideo: false
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
handleChangeTeller = (event) => {
|
|
26
|
+
this.setState({
|
|
27
|
+
tellerAccount: event.target.value
|
|
28
|
+
})
|
|
29
|
+
}
|
|
30
|
+
handleChangeCall = (event) => {
|
|
31
|
+
this.setState({
|
|
32
|
+
callbackUrl: event.target.value
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
handleChangeBysiness = (event) => {
|
|
36
|
+
this.setState({
|
|
37
|
+
businessNumber: event.target.value
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
handleRoomServerUrl = (event) => {
|
|
42
|
+
this.setState({
|
|
43
|
+
roomServerUrl: event.target.value
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
handleBaseURL = (event) => {
|
|
47
|
+
this.setState({
|
|
48
|
+
baseURL: event.target.value
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
handleResourcePath = (event) => {
|
|
52
|
+
this.setState({
|
|
53
|
+
resourcePath: event.target.value
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
render() {
|
|
58
|
+
return (
|
|
59
|
+
<div className="test">
|
|
60
|
+
{
|
|
61
|
+
<div>
|
|
62
|
+
坐席账号:<input placeholder="请输入坐席账号" value={this.state.tellerAccount} onChange={e => this.handleChangeTeller(e)}></input>
|
|
63
|
+
回调地址:<input placeholder="请输入回调地址" value={this.state.callbackUrl} onChange={e => this.handleChangeCall(e)}></input>
|
|
64
|
+
全局流水号:<input placeholder="请输入全局流水号" value={this.state.businessNumber} onChange={e => this.handleChangeBysiness(e)}></input>
|
|
65
|
+
阿里服务器地址:<input placeholder="请输入阿里服务器地址" value={this.state.roomServerUrl} onChange={e => this.handleRoomServerUrl(e)}></input>
|
|
66
|
+
接口地址:<input placeholder="请输入接口地址" value={this.state.baseURL} onChange={e => this.handleBaseURL(e)}></input>
|
|
67
|
+
阿里资源服务地址:<input placeholder="请输入阿里资源服务地址" value={this.state.resourcePath} onChange={e => this.handleResourcePath(e)}></input>
|
|
68
|
+
|
|
69
|
+
<button className="button" onClick={this.startVideo.bind(this)}>开启视频</button>
|
|
70
|
+
</div>
|
|
71
|
+
}
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
export default pdf;
|
|
@@ -113,7 +113,7 @@ export default class foot extends Component {
|
|
|
113
113
|
item == 'INVITE' && <div className="one" onClick={this.invitationClick.bind(this)}>
|
|
114
114
|
<img className="imgClass" src={require("../../assets/img/icon_invitation.png").default} alt="" />
|
|
115
115
|
<div className="text">
|
|
116
|
-
|
|
116
|
+
邀请参会者
|
|
117
117
|
</div>
|
|
118
118
|
</div>
|
|
119
119
|
}
|
|
@@ -123,7 +123,7 @@ export default class foot extends Component {
|
|
|
123
123
|
item == 'PIP' && <div className="one" onClick={this.pictureInPicture.bind(this)}>
|
|
124
124
|
<img className="imgClass" src={require("../../assets/img/huazhonghua.png").default} alt="" />
|
|
125
125
|
<div className="text">
|
|
126
|
-
|
|
126
|
+
开启视频画中画
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
129
129
|
}
|
|
@@ -149,7 +149,7 @@ export default class foot extends Component {
|
|
|
149
149
|
<div className="one">
|
|
150
150
|
<img className="imgClass" src={require("../../assets/img/inspection.png").default} alt="" />
|
|
151
151
|
<div className="text">
|
|
152
|
-
|
|
152
|
+
设置视频设备
|
|
153
153
|
</div>
|
|
154
154
|
</div>
|
|
155
155
|
</div>
|
|
@@ -166,7 +166,7 @@ export default class foot extends Component {
|
|
|
166
166
|
|
|
167
167
|
<div className="total totalThree">
|
|
168
168
|
<button className="buttonClass" onClick={this.endSession.bind(this)}>
|
|
169
|
-
<span className="spanClass"
|
|
169
|
+
<span className="spanClass">结束会议</span>
|
|
170
170
|
</button>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
@@ -23,6 +23,9 @@ width: 100%;
|
|
|
23
23
|
align-items: center;
|
|
24
24
|
flex-wrap: nowrap;
|
|
25
25
|
}
|
|
26
|
+
.footHover{
|
|
27
|
+
margin: 0 5px;
|
|
28
|
+
}
|
|
26
29
|
.footHover :hover{
|
|
27
30
|
background: #F3F3F3;
|
|
28
31
|
border-radius: 8px;
|
|
@@ -31,7 +34,8 @@ width: 100%;
|
|
|
31
34
|
margin-top: 8px;
|
|
32
35
|
padding-bottom: 10px;
|
|
33
36
|
text-align: center;
|
|
34
|
-
width:
|
|
37
|
+
max-width: 110px;
|
|
38
|
+
min-width: 80px;
|
|
35
39
|
height: 11px;
|
|
36
40
|
font-size: 14px;
|
|
37
41
|
font-family: PingFangSC-Regular, PingFang SC;
|
|
@@ -50,7 +54,7 @@ line-height: 11px;
|
|
|
50
54
|
.buttonClass{
|
|
51
55
|
font-size: 16px;
|
|
52
56
|
color: #ffffff;
|
|
53
|
-
width:
|
|
57
|
+
width: 90px;
|
|
54
58
|
height: 32px;
|
|
55
59
|
background: #B70000;
|
|
56
60
|
border-radius: 6px;
|
|
@@ -50,8 +50,6 @@ class Video extends Component {
|
|
|
50
50
|
isWhiteboard: false,
|
|
51
51
|
isSelect: '',
|
|
52
52
|
loading: false,
|
|
53
|
-
// isModalVisibleSign: '',
|
|
54
|
-
isModalVisibleSign: this.props.isTranscribing,
|
|
55
53
|
titleModal: '人脸识别',
|
|
56
54
|
faceCustomerType: 1, // 1无感人脸,2ocr
|
|
57
55
|
faceCustomerUid: '',
|
|
@@ -65,7 +63,7 @@ class Video extends Component {
|
|
|
65
63
|
isModalVisibleFacial: false,
|
|
66
64
|
isModalVisibleEnd: false,
|
|
67
65
|
isModalVisible: false,
|
|
68
|
-
screenName: '
|
|
66
|
+
screenName: '共享模式',
|
|
69
67
|
suspendName: '暂停',
|
|
70
68
|
cameraImg: cameraImgOpen,
|
|
71
69
|
voiceStatue: false,
|
|
@@ -718,8 +716,24 @@ class Video extends Component {
|
|
|
718
716
|
const cobj = canvas.getContext('2d'); // 获取绘图环境
|
|
719
717
|
canvas.width = width;
|
|
720
718
|
canvas.height = height;
|
|
721
|
-
|
|
722
|
-
|
|
719
|
+
let blob = new Blob([
|
|
720
|
+
`
|
|
721
|
+
let timer;
|
|
722
|
+
onmessage = ({data:flag})=>{
|
|
723
|
+
if(!flag){
|
|
724
|
+
clearInterval(timer);
|
|
725
|
+
}else{
|
|
726
|
+
timer = setInterval(function() { postMessage(''); }, 100);
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
`,
|
|
730
|
+
]);
|
|
731
|
+
let url = window.URL.createObjectURL(blob);
|
|
732
|
+
var worker = new Worker(url);
|
|
733
|
+
window.URL.revokeObjectURL(blob);
|
|
734
|
+
let flag1 = true;
|
|
735
|
+
|
|
736
|
+
worker.onmessage =() => {
|
|
723
737
|
cobj.clearRect(0, 0, width, height);
|
|
724
738
|
for (let i = 0; i < list.length; i++) {
|
|
725
739
|
|
|
@@ -858,7 +872,8 @@ class Video extends Component {
|
|
|
858
872
|
}
|
|
859
873
|
|
|
860
874
|
}
|
|
861
|
-
}
|
|
875
|
+
};
|
|
876
|
+
worker.postMessage(flag1);
|
|
862
877
|
const captureStream = canvas.captureStream();
|
|
863
878
|
const mix_stream = new MediaStream(captureStream);
|
|
864
879
|
pictureInPictureVideo = document.getElementById('mixedvideo');
|
|
@@ -877,7 +892,7 @@ class Video extends Component {
|
|
|
877
892
|
pictureInPictureVideo.addEventListener('leavepictureinpicture', (event) => {
|
|
878
893
|
pictureInPictureVideo.srcObject = null;
|
|
879
894
|
pictureInPictureVideo.style.display = "none";
|
|
880
|
-
|
|
895
|
+
worker.postMessage(false);
|
|
881
896
|
this.state.isPictureInPicture = false
|
|
882
897
|
});
|
|
883
898
|
}
|
|
@@ -1507,6 +1522,9 @@ class Video extends Component {
|
|
|
1507
1522
|
// 音视频关闭通知
|
|
1508
1523
|
this.test_controller.OnMediaClose = (code, sid) => {
|
|
1509
1524
|
console.log(code, sid)
|
|
1525
|
+
if((code == 5004 || code == 5007) && document.getElementById('publish_video1').name == sid) {
|
|
1526
|
+
this.roomCallBack(2, '媒体链路连接异常/超时',8)
|
|
1527
|
+
}
|
|
1510
1528
|
};
|
|
1511
1529
|
// 加入房间成功
|
|
1512
1530
|
this.test_controller.OnJoinRoomSucc = () => {
|
|
@@ -1783,7 +1801,8 @@ class Video extends Component {
|
|
|
1783
1801
|
'meetingInfo': {
|
|
1784
1802
|
'title': this.props.meetingInfo.title,
|
|
1785
1803
|
'host': this.props.meetingInfo.host,
|
|
1786
|
-
'customers': this.props.meetingInfo.customers
|
|
1804
|
+
'customers': this.props.meetingInfo.customers,
|
|
1805
|
+
'otherAttendees': this.props.meetingInfo.otherAttendees
|
|
1787
1806
|
}
|
|
1788
1807
|
|
|
1789
1808
|
})
|
|
@@ -1998,11 +2017,10 @@ class Video extends Component {
|
|
|
1998
2017
|
'tellerId': this.props.tellerAccount
|
|
1999
2018
|
})
|
|
2000
2019
|
})
|
|
2001
|
-
this.state.sessionType = false
|
|
2002
2020
|
this.state.isSharedScreen = false
|
|
2003
2021
|
this.setState({
|
|
2004
2022
|
|
|
2005
|
-
screenName: '
|
|
2023
|
+
screenName: '共享模式'
|
|
2006
2024
|
});
|
|
2007
2025
|
this.tabTitlesClick('RMScreen', 'delect')
|
|
2008
2026
|
if (this.state.isPictureInPicture) {
|
|
@@ -2288,10 +2306,10 @@ class Video extends Component {
|
|
|
2288
2306
|
// 切流成功通知
|
|
2289
2307
|
this.test_controller.OnChangeMediaStreamSuccess = (sid) => {
|
|
2290
2308
|
console.log('切流成功通知', sid);
|
|
2291
|
-
if(this.state.
|
|
2292
|
-
this.messageClick('
|
|
2309
|
+
if(this.state.loading) {
|
|
2310
|
+
this.messageClick('摄像头或麦克风切换成功','success')
|
|
2293
2311
|
this.setState({
|
|
2294
|
-
|
|
2312
|
+
loading: false
|
|
2295
2313
|
})
|
|
2296
2314
|
}
|
|
2297
2315
|
|
|
@@ -2303,7 +2321,12 @@ class Video extends Component {
|
|
|
2303
2321
|
msg
|
|
2304
2322
|
) => {
|
|
2305
2323
|
console.log('切流失败通知', sid, code, msg)
|
|
2324
|
+
if(this.state.loading) {
|
|
2325
|
+
this.setState({
|
|
2326
|
+
loading: false
|
|
2327
|
+
})
|
|
2306
2328
|
this.messageClick('切换摄像头或麦克风失败,请先检查设备','error')
|
|
2329
|
+
}
|
|
2307
2330
|
};
|
|
2308
2331
|
// 服务端录制初始化成功
|
|
2309
2332
|
this.test_controller.OnInitRemoteRecordSucc = (
|
|
@@ -2504,7 +2527,7 @@ class Video extends Component {
|
|
|
2504
2527
|
this.timer && clearInterval(this.timer);
|
|
2505
2528
|
if(this.state.isSharedScreen) {
|
|
2506
2529
|
this.setState({
|
|
2507
|
-
screenName: '
|
|
2530
|
+
screenName: '共享模式',
|
|
2508
2531
|
})
|
|
2509
2532
|
this.state.isSharedScreen = false
|
|
2510
2533
|
this.state.laveRoomSharedScreen = true
|
|
@@ -2519,7 +2542,7 @@ class Video extends Component {
|
|
|
2519
2542
|
})
|
|
2520
2543
|
} else {
|
|
2521
2544
|
this.setState({
|
|
2522
|
-
screenName: '
|
|
2545
|
+
screenName: '共享模式',
|
|
2523
2546
|
});
|
|
2524
2547
|
this.state.isSharedScreen = false
|
|
2525
2548
|
this.state.laveRoomSharedScreen = true
|
|
@@ -2811,7 +2834,7 @@ class Video extends Component {
|
|
|
2811
2834
|
this.state.isSharedScreen = false
|
|
2812
2835
|
this.state.isScreenSwitching = false
|
|
2813
2836
|
this.setState({
|
|
2814
|
-
screenName: '
|
|
2837
|
+
screenName: '共享模式'
|
|
2815
2838
|
});
|
|
2816
2839
|
console.log(pictureInPictureVideo)
|
|
2817
2840
|
this.tabTitlesClick('RMScreen', 'delect')
|
|
@@ -2844,7 +2867,7 @@ class Video extends Component {
|
|
|
2844
2867
|
this.tabTitlesClick(
|
|
2845
2868
|
{
|
|
2846
2869
|
value: 'RMScreen',
|
|
2847
|
-
name: '
|
|
2870
|
+
name: '共享内容'
|
|
2848
2871
|
}, 'add'
|
|
2849
2872
|
)
|
|
2850
2873
|
if (!this.state.isPictureInPicture) {
|
|
@@ -2977,9 +3000,6 @@ class Video extends Component {
|
|
|
2977
3000
|
};
|
|
2978
3001
|
// 坐席签字
|
|
2979
3002
|
transcribingClick = () => {
|
|
2980
|
-
this.setState({
|
|
2981
|
-
isModalVisibleSign: true,
|
|
2982
|
-
})
|
|
2983
3003
|
};
|
|
2984
3004
|
invitationClick = () => {
|
|
2985
3005
|
this.state.linkData = ''
|
|
@@ -3065,7 +3085,6 @@ class Video extends Component {
|
|
|
3065
3085
|
})
|
|
3066
3086
|
}
|
|
3067
3087
|
componentWillReceiveProps(props) {
|
|
3068
|
-
console.log('componentWillReceiveProps',props)
|
|
3069
3088
|
this.state.channelId = props.roomId,
|
|
3070
3089
|
this.state.rtoken = props.mtoken,
|
|
3071
3090
|
this.state.sessionId = props.sessionId,
|
|
@@ -3222,38 +3241,10 @@ class Video extends Component {
|
|
|
3222
3241
|
})
|
|
3223
3242
|
}
|
|
3224
3243
|
}
|
|
3225
|
-
counterSign = async data => {
|
|
3226
|
-
try {
|
|
3227
|
-
let result = await API.counterSign({
|
|
3228
|
-
sessionId: this.state.sessionId,
|
|
3229
|
-
file: data.file
|
|
3230
|
-
});
|
|
3231
|
-
console.log(result)
|
|
3232
|
-
if (result.code == 200) {
|
|
3233
|
-
this.messageClick('签字成功','success')
|
|
3234
|
-
this.setState({
|
|
3235
|
-
isModalVisibleSign: false,
|
|
3236
|
-
})
|
|
3237
|
-
} else {
|
|
3238
|
-
this.messageClick('签字失败','error')
|
|
3239
|
-
}
|
|
3240
|
-
} catch (err) {
|
|
3241
|
-
if(err.status == 502 || err.status== 404) {
|
|
3242
|
-
this.roomCallBack(2, '连接服务器失败','SYS-02')
|
|
3243
|
-
}
|
|
3244
|
-
}
|
|
3245
|
-
}
|
|
3246
3244
|
handleOkSign = () => {
|
|
3247
|
-
this.setState({
|
|
3248
|
-
isModalVisibleSign: false,
|
|
3249
|
-
})
|
|
3250
|
-
console.log(this.signCanvas.current.canvas.drawing.toDataURL('image/png'))
|
|
3251
3245
|
this.props.imgRMCallback(
|
|
3252
3246
|
this.signCanvas.current.canvas.drawing.toDataURL('image/png').replace(/data.+?;base64,/, "")
|
|
3253
3247
|
)
|
|
3254
|
-
// this.counterSign({
|
|
3255
|
-
// file: this.signCanvas.current.canvas.drawing.toDataURL('image/png')
|
|
3256
|
-
// })
|
|
3257
3248
|
}
|
|
3258
3249
|
switchExternal = () => {
|
|
3259
3250
|
if (!this.state.isWhiteboard) {
|
|
@@ -3263,26 +3254,75 @@ class Video extends Component {
|
|
|
3263
3254
|
value: 'RMWhiteboard',
|
|
3264
3255
|
name: 'RM白板'
|
|
3265
3256
|
}, 'add')
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3257
|
+
const width = this.state.whiteboardWidth;
|
|
3258
|
+
const height = this.state.whiteboardHeight;
|
|
3259
|
+
const canvas = document.createElement('canvas');
|
|
3260
|
+
const videoMedia = document.getElementById('manedvideo');
|
|
3261
|
+
const cobj = canvas.getContext('2d'); // 获取绘图环境
|
|
3262
|
+
const w = window.screen.width;
|
|
3263
|
+
const h = window.screen.height;
|
|
3264
|
+
canvas.width = width;
|
|
3265
|
+
canvas.height = height;
|
|
3266
|
+
videoMedia.addEventListener('play', (event) =>{
|
|
3267
|
+
var $this = this; //cache
|
|
3268
|
+
console.log('333111',!$this.paused,!$this.ended)
|
|
3269
|
+
loop()
|
|
3270
|
+
function loop() {
|
|
3271
|
+
if (!$this.paused && !$this.ended) {
|
|
3272
|
+
cobj.drawImage(videoMedia, 0, 0, width, height, 0, 0,width, height,);
|
|
3273
|
+
setTimeout(loop, 1000 / 10); // drawing at 30fps
|
|
3274
|
+
}
|
|
3275
|
+
}
|
|
3276
|
+
|
|
3277
|
+
if (document.getElementById('video20').name) {
|
|
3278
|
+
// 代表已经有了进行切流
|
|
3279
|
+
publish_config.publish_device = 5
|
|
3280
|
+
publish_config.media_type = 1
|
|
3281
|
+
publish_config.sid = document.getElementById('video20').name
|
|
3282
|
+
publish_config.stream = canvas.captureStream(10)
|
|
3283
|
+
publish_config.video_profile_type = 5
|
|
3284
|
+
this.test_controller.ChangeMediaStream(publish_config);
|
|
3285
|
+
} else {
|
|
3286
|
+
|
|
3287
|
+
publish_config.media_type = 1
|
|
3288
|
+
publish_config.publish_device = 5
|
|
3289
|
+
publish_config.need_volume_analyser = true
|
|
3290
|
+
publish_config.video_profile_type = 5
|
|
3291
|
+
publish_config.stream = canvas.captureStream(10)
|
|
3292
|
+
publish_config.publish_video_id = 'video20'
|
|
3293
|
+
publish_config.publish_streamId_id = 'subscribe_streamId10'
|
|
3294
|
+
publish_config.publish_tag = 'projectionWhiteboard'
|
|
3295
|
+
this.test_controller.Publish(publish_config)
|
|
3296
|
+
}
|
|
3297
|
+
}, 0);
|
|
3298
|
+
navigator.mediaDevices.getDisplayMedia({
|
|
3299
|
+
video: true
|
|
3300
|
+
})
|
|
3301
|
+
.then((stream) => {
|
|
3302
|
+
videoMedia.srcObject = stream;
|
|
3303
|
+
}, error => {
|
|
3304
|
+
console.log("Unable to acquire screen capture", error);
|
|
3305
|
+
});
|
|
3306
|
+
// if (document.getElementById('video20').name) {
|
|
3307
|
+
// // 代表已经有了进行切流
|
|
3308
|
+
// publish_config.publish_device = 4
|
|
3309
|
+
// publish_config.media_type = 1
|
|
3310
|
+
// publish_config.sid = document.getElementById('video20').name
|
|
3311
|
+
// publish_config.part_of_screen_id = 'touBoxItem'
|
|
3312
|
+
// publish_config.video_profile_type = 5
|
|
3313
|
+
// this.test_controller.ChangeMediaStream(publish_config);
|
|
3314
|
+
// } else {
|
|
3315
|
+
|
|
3316
|
+
// publish_config.media_type = 1
|
|
3317
|
+
// publish_config.publish_device = 4
|
|
3318
|
+
// publish_config.need_volume_analyser = true
|
|
3319
|
+
// publish_config.video_profile_type = 5
|
|
3320
|
+
// publish_config.part_of_screen_id = 'touBoxItem';
|
|
3321
|
+
// publish_config.publish_video_id = 'video20'
|
|
3322
|
+
// publish_config.publish_streamId_id = 'subscribe_streamId10'
|
|
3323
|
+
// publish_config.publish_tag = 'projectionWhiteboard'
|
|
3324
|
+
// this.test_controller.Publish(publish_config)
|
|
3325
|
+
// }
|
|
3286
3326
|
} else {
|
|
3287
3327
|
this.messageClick('当前已经切换RM白板','success')
|
|
3288
3328
|
|
|
@@ -3313,11 +3353,16 @@ class Video extends Component {
|
|
|
3313
3353
|
this.test_controller.GetDevices()
|
|
3314
3354
|
}
|
|
3315
3355
|
handleOkInspection = () => {
|
|
3356
|
+
this.setState({
|
|
3357
|
+
isModalVisibleInspection: false,
|
|
3358
|
+
loading: true
|
|
3359
|
+
})
|
|
3316
3360
|
const config = {}
|
|
3317
3361
|
config.sid = document.getElementById('publish_video1').name
|
|
3318
3362
|
config.videoSource = this.state.cameraValue
|
|
3319
3363
|
config.audioSource = this.state.microphoneValue
|
|
3320
3364
|
this.test_controller.ChangeProfile(config)
|
|
3365
|
+
|
|
3321
3366
|
}
|
|
3322
3367
|
handleCancelInspection = () => {
|
|
3323
3368
|
this.setState({
|
|
@@ -3345,11 +3390,26 @@ class Video extends Component {
|
|
|
3345
3390
|
}
|
|
3346
3391
|
}
|
|
3347
3392
|
render() {
|
|
3348
|
-
const { meetingInfo } = this.props
|
|
3393
|
+
const { meetingInfo,isTranscribing } = this.props
|
|
3349
3394
|
var pdfChildren
|
|
3350
3395
|
if (this.props.children) {
|
|
3351
3396
|
pdfChildren = React.cloneElement(this.props.children, { width: this.state.whiteboardWidth, height: this.state.whiteboardHeight, show: this.state.isSelect == 'RMWhiteboard'})
|
|
3352
3397
|
}
|
|
3398
|
+
const otherAttendeesList = (
|
|
3399
|
+
<span className='labelClass'>
|
|
3400
|
+
{(meetingInfo.otherAttendees ? meetingInfo.otherAttendees.length>0 ? true : false : false) &&
|
|
3401
|
+
meetingInfo.otherAttendees.map((item, index) => {
|
|
3402
|
+
return <label key={index}>
|
|
3403
|
+
{item}
|
|
3404
|
+
{
|
|
3405
|
+
meetingInfo.otherAttendees.length > 0 && index != meetingInfo.otherAttendees.length - 1 && <label>,</label>
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
</label>
|
|
3409
|
+
})
|
|
3410
|
+
}
|
|
3411
|
+
</span>
|
|
3412
|
+
)
|
|
3353
3413
|
const customerNameList = (
|
|
3354
3414
|
<span className='labelClass'>
|
|
3355
3415
|
{
|
|
@@ -3447,9 +3507,9 @@ class Video extends Component {
|
|
|
3447
3507
|
<Header></Header>
|
|
3448
3508
|
<div className="health">
|
|
3449
3509
|
<div className="healthVideo">
|
|
3450
|
-
<div className="projection">
|
|
3510
|
+
<div className="projection" style={{background: this.state.tabTitles.length > 0 ? '#f0f0f0' : '#ffffff'}}>
|
|
3451
3511
|
{tabTitleList}
|
|
3452
|
-
<img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" />
|
|
3512
|
+
{/* <img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" /> */}
|
|
3453
3513
|
<div id="whiteboardDIV" style={{height: this.state.tabTitles.length > 0 ? 'calc(100% - 33px)' : '100%'}}>
|
|
3454
3514
|
|
|
3455
3515
|
<div className="videoDiv" style={{ display: (this.state.isSelect == 'RMScreen') ? '' : 'none', }}>
|
|
@@ -3466,6 +3526,7 @@ class Video extends Component {
|
|
|
3466
3526
|
|
|
3467
3527
|
</div>
|
|
3468
3528
|
<div className="videoDiv" style={{ display: (this.state.isSelect == 'RMWhiteboard') ? '' : 'none', }}>
|
|
3529
|
+
{/* <div className="videoDiv"> */}
|
|
3469
3530
|
<div id="touBoxItem">
|
|
3470
3531
|
{pdfChildren}
|
|
3471
3532
|
</div>
|
|
@@ -3497,9 +3558,17 @@ class Video extends Component {
|
|
|
3497
3558
|
<label className='labelClass'>{meetingInfo.host}</label>
|
|
3498
3559
|
</li>
|
|
3499
3560
|
<li>
|
|
3500
|
-
<span
|
|
3561
|
+
<span>客户:</span>
|
|
3501
3562
|
{customerNameList}
|
|
3502
3563
|
</li>
|
|
3564
|
+
{
|
|
3565
|
+
(meetingInfo.otherAttendees ? meetingInfo.otherAttendees.length>0 ? true : false : false) && <li>
|
|
3566
|
+
<span>其他参会者:</span>
|
|
3567
|
+
{otherAttendeesList}
|
|
3568
|
+
</li>
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3571
|
+
|
|
3503
3572
|
</ul>
|
|
3504
3573
|
</div>
|
|
3505
3574
|
</div>
|
|
@@ -3919,7 +3988,7 @@ class Video extends Component {
|
|
|
3919
3988
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}>确定</Button>
|
|
3920
3989
|
</div>
|
|
3921
3990
|
]}>
|
|
3922
|
-
<div className='endModal'
|
|
3991
|
+
<div className='endModal'>是否要结束并退出会议?</div>
|
|
3923
3992
|
</Modal>
|
|
3924
3993
|
<Modal title={this.state.titleModal} closable={false} centered={true} visible={this.state.isModalVisibleFacial} footer={[
|
|
3925
3994
|
<div key='facial'>
|
|
@@ -3938,7 +4007,7 @@ class Video extends Component {
|
|
|
3938
4007
|
</div>
|
|
3939
4008
|
|
|
3940
4009
|
</Modal> */}
|
|
3941
|
-
<Modal className="modelClass" title="
|
|
4010
|
+
<Modal className="modelClass" title="邀请参会人员" closable={false} centered={true} visible={this.state.isModalVisibleInvitation} footer={[
|
|
3942
4011
|
<div key='invitation'>
|
|
3943
4012
|
<Button className="modelButtonCancel" onClick={this.handleCancelInvitation}>取消</Button>
|
|
3944
4013
|
{
|
|
@@ -3973,7 +4042,7 @@ class Video extends Component {
|
|
|
3973
4042
|
}
|
|
3974
4043
|
|
|
3975
4044
|
</Modal>
|
|
3976
|
-
<Modal title="签字白板" width={600} destroyOnClose={true} closable={false} centered={true} visible={
|
|
4045
|
+
<Modal title="签字白板" width={600} destroyOnClose={true} closable={false} centered={true} visible={isTranscribing} footer={
|
|
3977
4046
|
[
|
|
3978
4047
|
<div key='okSign'>
|
|
3979
4048
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
|
|
@@ -3992,21 +4061,21 @@ class Video extends Component {
|
|
|
3992
4061
|
></CanvasDraw>
|
|
3993
4062
|
</div>
|
|
3994
4063
|
</Modal>
|
|
3995
|
-
<Modal title="
|
|
4064
|
+
<Modal title="设置视频设备" closable={false} centered={true} visible={this.state.isModalVisibleInspection} footer={[
|
|
3996
4065
|
<div key='inspection'>
|
|
3997
4066
|
<Button className="modelButtonCancel" onClick={this.handleCancelInspection}>取消</Button>
|
|
3998
4067
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkInspection}>确定</Button>
|
|
3999
4068
|
</div>
|
|
4000
4069
|
]}>
|
|
4001
4070
|
<div className="inspection">
|
|
4002
|
-
<div
|
|
4071
|
+
<div>摄像头:</div>
|
|
4003
4072
|
{camera}
|
|
4004
|
-
<div
|
|
4073
|
+
<div>麦克风:</div>
|
|
4005
4074
|
{microphone}
|
|
4006
4075
|
{
|
|
4007
4076
|
this.state.speakerList.length > 0 &&
|
|
4008
4077
|
<span>
|
|
4009
|
-
<div
|
|
4078
|
+
<div>扬声器:</div>
|
|
4010
4079
|
{speaker}
|
|
4011
4080
|
</span>
|
|
4012
4081
|
}
|
|
@@ -4014,6 +4083,8 @@ class Video extends Component {
|
|
|
4014
4083
|
</div>
|
|
4015
4084
|
</Modal>
|
|
4016
4085
|
<video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"></video>
|
|
4086
|
+
<video className="mixedvideo" id="manedvideo" autoPlay width="0" height="0"></video>
|
|
4087
|
+
|
|
4017
4088
|
</Spin>
|
|
4018
4089
|
</div>);
|
|
4019
4090
|
}
|
|
@@ -4025,7 +4096,7 @@ imRoomId: "Fwua8kGB6@conference.openfire2.leimondata.cn",
|
|
|
4025
4096
|
sessionId: "Fwua8kGB6",
|
|
4026
4097
|
tellerAccount: 't001',
|
|
4027
4098
|
businessNumber: '123',
|
|
4028
|
-
callbackUrl: 'http://
|
|
4099
|
+
callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
|
|
4029
4100
|
// roomServerUrl: 'wss://app.uat.dsp.hsbcfts.com.cn/mpaas/mrtc/ws',
|
|
4030
4101
|
roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
4031
4102
|
|
|
@@ -4043,7 +4114,8 @@ sessionId: "Fwua8kGB6",
|
|
|
4043
4114
|
meetingInfo: {
|
|
4044
4115
|
title: '--',
|
|
4045
4116
|
host: '--',
|
|
4046
|
-
customers: ['--']
|
|
4117
|
+
customers: ['--'],
|
|
4118
|
+
otherAttendees: undefined
|
|
4047
4119
|
},
|
|
4048
4120
|
isTranscribing: false,
|
|
4049
4121
|
}
|