react_hsbc_teller 1.7.4 → 1.7.7
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/package.json
CHANGED
|
Binary file
|
package/packages/demo/demo.js
CHANGED
|
@@ -15,16 +15,16 @@ roomId: "656467744508298",
|
|
|
15
15
|
// sessionId: '',
|
|
16
16
|
isVideo: false,
|
|
17
17
|
tellerAccount: '00000000',
|
|
18
|
-
callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
|
|
19
|
-
|
|
18
|
+
// callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
|
|
19
|
+
callbackUrl: 'https://aag.wealth-platform.uat.ali.cloud.cn.hsbc/nosaml/api/appointment/wealth/api/v1/appointment/ali/createMeetingRoom',
|
|
20
20
|
businessNumber: '',
|
|
21
21
|
lang: 'zh',
|
|
22
|
-
roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
23
|
-
baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api',
|
|
24
|
-
resourcePath: 'https://counter-web.leimondata.cn:7199',
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
// roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
23
|
+
// baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api',
|
|
24
|
+
// resourcePath: 'https://counter-web.leimondata.cn:7199',
|
|
25
|
+
roomServerUrl: 'wss://app.uat.dsp.hsbcfts.com.cn/mpaas/mrtc/ws',
|
|
26
|
+
baseURL:'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/zuul/api/leimon-counter-api',
|
|
27
|
+
resourcePath:'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/js/',
|
|
28
28
|
prohibitPrompt: '无客户',
|
|
29
29
|
titleBackground: '#40a9ff',
|
|
30
30
|
titleColor: '#faad14',
|
|
@@ -56,6 +56,9 @@ export default class foot extends Component {
|
|
|
56
56
|
graffiti=()=>{
|
|
57
57
|
this.props.graffiti()
|
|
58
58
|
}
|
|
59
|
+
virtualization=()=>{
|
|
60
|
+
this.props.virtualization()
|
|
61
|
+
}
|
|
59
62
|
render() {
|
|
60
63
|
const {clickedOcr,clickedFacial,img,isWhiteboard,cameraImg,isTranscribing ,screenName,suspendName,customerList,menus,voiceName,beautyName} = this.props
|
|
61
64
|
const content = (
|
|
@@ -81,8 +84,7 @@ export default class foot extends Component {
|
|
|
81
84
|
</div>
|
|
82
85
|
</div>
|
|
83
86
|
</div>
|
|
84
|
-
} */}
|
|
85
|
-
|
|
87
|
+
} */}
|
|
86
88
|
{
|
|
87
89
|
menus.map((item,index)=>{
|
|
88
90
|
return <div key={index}className='footHover'>
|
|
@@ -95,6 +97,16 @@ export default class foot extends Component {
|
|
|
95
97
|
</div>
|
|
96
98
|
</div>
|
|
97
99
|
</div>
|
|
100
|
+
}
|
|
101
|
+
{
|
|
102
|
+
item == 'BACK'&&<div className='footHover' onClick={this.virtualization.bind(this)}>
|
|
103
|
+
<div className="one">
|
|
104
|
+
<img className="imgClass" src={require("../../assets/img/beijing.png").default} alt="" />
|
|
105
|
+
<div className="text">
|
|
106
|
+
背景虚化
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
98
110
|
}
|
|
99
111
|
{
|
|
100
112
|
item == 'BOARD'&&<div className='footHover' onClick={this.switchExternal.bind(this)}>
|
|
@@ -45,8 +45,9 @@ let messageValue = ''
|
|
|
45
45
|
let beautyNum = 0 // 0-关闭 1--弱 2--中 5---高
|
|
46
46
|
let rateList = []
|
|
47
47
|
let beautyDiv = {};
|
|
48
|
-
let isBackgroundBlur =
|
|
48
|
+
let isBackgroundBlur = true
|
|
49
49
|
let isSuccuseHs = false
|
|
50
|
+
let isGraffiti = false
|
|
50
51
|
let CanvasHome = styled.div`
|
|
51
52
|
position: fixed;
|
|
52
53
|
z-index: ${props=>props.zIndexNum};
|
|
@@ -94,27 +95,47 @@ function startBeauty(stream) {
|
|
|
94
95
|
beautyDiv = meetingBeautifyStream(newStream, beautyNum);
|
|
95
96
|
newStream = beautyDiv.stream;
|
|
96
97
|
return newStream
|
|
98
|
+
}
|
|
99
|
+
async function startMix(stream,onState) {
|
|
100
|
+
var drawCanvas = document.getElementById('canvas');
|
|
101
|
+
await mixInit(drawCanvas);
|
|
102
|
+
mixStart(stream,onState);
|
|
103
|
+
|
|
104
|
+
|
|
97
105
|
}
|
|
98
106
|
async function startHs(stream) {
|
|
99
107
|
// var canvas = document.getElementById('publish_video_canvas');
|
|
100
|
-
var video_src = document.getElementById("publish_video1");
|
|
101
|
-
|
|
102
|
-
video_src.srcObject = stream;
|
|
108
|
+
// var video_src = document.getElementById("publish_video1");
|
|
109
|
+
// video_src.srcObject = stream;
|
|
103
110
|
|
|
104
111
|
await hsInit();
|
|
105
|
-
|
|
106
|
-
hsStart(stream,
|
|
112
|
+
|
|
113
|
+
hsStart(stream, 'none');
|
|
107
114
|
|
|
108
115
|
}
|
|
109
116
|
|
|
110
117
|
async function stopHs() {
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
var stop_stream = true;//控制是否内部来进行关闭流
|
|
119
|
+
var stream = hsStop(stop_stream);
|
|
120
|
+
if (stream != null && stream != undefined) {
|
|
121
|
+
stream.getTracks().forEach((track) => {
|
|
122
|
+
track.stop();
|
|
123
|
+
});
|
|
124
|
+
stream = null;
|
|
125
|
+
}
|
|
126
|
+
isSuccuseHs = false
|
|
127
|
+
|
|
117
128
|
}
|
|
129
|
+
async function mixStopClick() {
|
|
130
|
+
var stop_stream = true;//控制是否内部来进行关闭流
|
|
131
|
+
var stream = mixStop(stop_stream);
|
|
132
|
+
if (stream != null && stream != undefined) {
|
|
133
|
+
stream.getTracks().forEach((track) => {
|
|
134
|
+
track.stop();
|
|
135
|
+
});
|
|
136
|
+
stream = null;
|
|
137
|
+
}
|
|
138
|
+
isGraffiti = false
|
|
118
139
|
|
|
119
140
|
}
|
|
120
141
|
message.config({
|
|
@@ -134,8 +155,10 @@ class Video extends Component {
|
|
|
134
155
|
isScreenSwitching: false,
|
|
135
156
|
whiteboardWidth: '',
|
|
136
157
|
whiteboardHeight: '',
|
|
158
|
+
widthVideo: '',
|
|
137
159
|
whiteboardTop: '',
|
|
138
160
|
whiteboardLeft: '',
|
|
161
|
+
leftVideo: '',
|
|
139
162
|
laveRoomSharedScreen: false,
|
|
140
163
|
isJoinRoom: false,
|
|
141
164
|
sessionType: false,
|
|
@@ -152,6 +175,7 @@ class Video extends Component {
|
|
|
152
175
|
linkData: '',
|
|
153
176
|
roomCustomerList: [],
|
|
154
177
|
facialImg: '',
|
|
178
|
+
isFaceImage: false,
|
|
155
179
|
isModalVisibleFacial: false,
|
|
156
180
|
isModalVisibleEnd: false,
|
|
157
181
|
isModalVisible: false,
|
|
@@ -520,9 +544,9 @@ class Video extends Component {
|
|
|
520
544
|
{
|
|
521
545
|
tag: 'projectionWhiteboard',
|
|
522
546
|
xPosition: 0,
|
|
523
|
-
yPosition:
|
|
524
|
-
width:
|
|
525
|
-
height:
|
|
547
|
+
yPosition: 175,
|
|
548
|
+
width: 960,
|
|
549
|
+
height: 540
|
|
526
550
|
},
|
|
527
551
|
// {
|
|
528
552
|
// tag: 'VIDEO_SOURCE_SCREEN_ONE',
|
|
@@ -542,43 +566,43 @@ class Video extends Component {
|
|
|
542
566
|
tag: 'tag1',
|
|
543
567
|
xPosition: 0,
|
|
544
568
|
yPosition: 0,
|
|
545
|
-
width:
|
|
546
|
-
height:
|
|
569
|
+
width: 213,
|
|
570
|
+
height: 175
|
|
547
571
|
},
|
|
548
572
|
{
|
|
549
573
|
tag: 'customer1',
|
|
550
|
-
xPosition:
|
|
574
|
+
xPosition: 213,
|
|
551
575
|
yPosition: 0,
|
|
552
|
-
width:
|
|
553
|
-
height:
|
|
576
|
+
width: 213,
|
|
577
|
+
height: 175
|
|
554
578
|
},
|
|
555
579
|
{
|
|
556
580
|
tag: 'customer2',
|
|
557
|
-
xPosition:
|
|
581
|
+
xPosition: 426,
|
|
558
582
|
yPosition: 0,
|
|
559
|
-
width:
|
|
560
|
-
height:
|
|
583
|
+
width: 213,
|
|
584
|
+
height: 175
|
|
561
585
|
},
|
|
562
586
|
{
|
|
563
587
|
tag: 'customer3',
|
|
564
|
-
xPosition:
|
|
588
|
+
xPosition: 639,
|
|
565
589
|
yPosition: 0,
|
|
566
|
-
width:
|
|
567
|
-
height:
|
|
590
|
+
width: 213,
|
|
591
|
+
height: 175
|
|
568
592
|
},
|
|
569
593
|
{
|
|
570
594
|
tag: 'customer4',
|
|
571
|
-
xPosition:
|
|
595
|
+
xPosition: 852,
|
|
572
596
|
yPosition: 0,
|
|
573
|
-
width:
|
|
574
|
-
height:
|
|
597
|
+
width: 213,
|
|
598
|
+
height: 175
|
|
575
599
|
},
|
|
576
600
|
{
|
|
577
601
|
tag: 'customer5',
|
|
578
|
-
xPosition:
|
|
602
|
+
xPosition: 1065,
|
|
579
603
|
yPosition: 0,
|
|
580
|
-
width:
|
|
581
|
-
height:
|
|
604
|
+
width: 213,
|
|
605
|
+
height: 175
|
|
582
606
|
},
|
|
583
607
|
// {
|
|
584
608
|
// tag: 'customer6',
|
|
@@ -632,17 +656,25 @@ class Video extends Component {
|
|
|
632
656
|
width: item.width,
|
|
633
657
|
height: item.height
|
|
634
658
|
})
|
|
635
|
-
}) :
|
|
659
|
+
}) :
|
|
660
|
+
list.push({
|
|
636
661
|
tag: 'VIDEO_SOURCE_SCREEN',
|
|
637
|
-
xPosition:
|
|
638
|
-
yPosition:
|
|
639
|
-
width:
|
|
640
|
-
height:
|
|
662
|
+
xPosition: 960,
|
|
663
|
+
yPosition: 535,
|
|
664
|
+
width: 320,
|
|
665
|
+
height: 180
|
|
641
666
|
})
|
|
667
|
+
// list.push({
|
|
668
|
+
// tag: 'VIDEO_SOURCE_SCREEN_19_9',
|
|
669
|
+
// xPosition: 960,
|
|
670
|
+
// yPosition: 573,
|
|
671
|
+
// width: 304,
|
|
672
|
+
// height: 144
|
|
673
|
+
// })
|
|
642
674
|
const filePath = 'recordId_' + new Date().valueOf();
|
|
643
675
|
const recordParam = {};
|
|
644
|
-
recordParam.width =
|
|
645
|
-
recordParam.height =
|
|
676
|
+
recordParam.width = 1280;
|
|
677
|
+
recordParam.height = 720;
|
|
646
678
|
recordParam.recordTotalStream = 0;
|
|
647
679
|
recordParam.startTimeout = 10;
|
|
648
680
|
recordParam.splitType = 0;
|
|
@@ -2189,42 +2221,100 @@ class Video extends Component {
|
|
|
2189
2221
|
this.test_controller.OnSendTextMsgFailed =(msgId, code, msg)=>{
|
|
2190
2222
|
console.log('发送失败',msgId,code, msg)
|
|
2191
2223
|
}
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2224
|
+
this.test_controller.StreamFilterHandler = async (publish_tag, stream, stream_type, publish_device, media_type) =>{
|
|
2225
|
+
console.log(`stream processed by client, publish_device=${publish_device}, media_type=${media_type}, publish_tag=${publish_tag},stream_type=${stream_type}`);
|
|
2226
|
+
if (stream_type == "subscribe") {
|
|
2227
|
+
return stream
|
|
2228
|
+
}
|
|
2229
|
+
if (media_type == 2 || media_type == 4) {
|
|
2230
|
+
return stream
|
|
2231
|
+
}
|
|
2232
|
+
// if (publish_device != 2) {
|
|
2233
|
+
// return stream
|
|
2234
|
+
// }
|
|
2235
|
+
if(publish_tag == 'tag1') {
|
|
2236
|
+
console.log('tag1',stream)
|
|
2237
|
+
let newStream = stream;
|
|
2238
|
+
let beauty_strength = beautyNum;
|
|
2239
|
+
if (beauty_strength != 0 && stream.getVideoTracks()[0]) {
|
|
2240
|
+
newStream = new MediaStream([startBeauty(stream).getVideoTracks()[0]]);
|
|
2241
|
+
// 清理原始流
|
|
2242
|
+
newStream.oninactive = function () {
|
|
2243
|
+
clearOriginStream(stream);
|
|
2244
|
+
};
|
|
2245
|
+
newStream.getVideoTracks()[0].onended = function () {
|
|
2246
|
+
clearOriginStream(stream);
|
|
2247
|
+
};
|
|
2248
|
+
function clearOriginStream(stream) {
|
|
2249
|
+
stream.getTracks().forEach((track) => {
|
|
2250
|
+
track.stop();
|
|
2251
|
+
});
|
|
2252
|
+
stream = null;
|
|
2253
|
+
}
|
|
2254
|
+
};
|
|
2255
|
+
if (stream.getVideoTracks()[0]) {
|
|
2256
|
+
await startHs(newStream);
|
|
2257
|
+
newStream = hsCaptureStream();
|
|
2258
|
+
// 清理原始流
|
|
2259
|
+
newStream.oninactive = function () {
|
|
2260
|
+
clearOriginStream(stream);
|
|
2261
|
+
};
|
|
2262
|
+
newStream.getVideoTracks()[0].onended = function () {
|
|
2263
|
+
clearOriginStream(stream);
|
|
2264
|
+
};
|
|
2265
|
+
function clearOriginStream(stream) {
|
|
2266
|
+
stream.getTracks().forEach((track) => {
|
|
2267
|
+
track.stop();
|
|
2268
|
+
});
|
|
2269
|
+
stream = null;
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2272
|
+
if (stream.getAudioTracks()[0] && newStream.addTrack) {
|
|
2273
|
+
newStream.addTrack(stream.getAudioTracks()[0])
|
|
2274
|
+
}
|
|
2275
|
+
return newStream
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
if(publish_tag == 'projectionWhiteboard' && publish_device == 2) {
|
|
2279
|
+
// this.graffiti()
|
|
2280
|
+
console.log('projectionWhiteboard',stream)
|
|
2281
|
+
let newStream1 = stream;
|
|
2282
|
+
if (stream.getVideoTracks()[0]) {
|
|
2283
|
+
if(this.state.operateShow) {
|
|
2284
|
+
await startMix(newStream1,'mix');
|
|
2285
|
+
|
|
2286
|
+
isGraffiti = true
|
|
2287
|
+
this.setState({
|
|
2288
|
+
zIndexNum: 999
|
|
2289
|
+
})
|
|
2290
|
+
const canvas = document.getElementById('canvas');
|
|
2291
|
+
canvas.width = this.state.widthVideo
|
|
2292
|
+
} else {
|
|
2293
|
+
await startMix(newStream1,'none');
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
newStream1 = mixCaptureStream();
|
|
2297
|
+
console.log('projectionWhiteboard1',newStream1)
|
|
2298
|
+
// 清理原始流
|
|
2299
|
+
newStream1.oninactive = function () {
|
|
2300
|
+
clearOriginStream(stream);
|
|
2301
|
+
};
|
|
2302
|
+
newStream1.getVideoTracks()[0].onended = function () {
|
|
2303
|
+
clearOriginStream(stream);
|
|
2304
|
+
};
|
|
2305
|
+
function clearOriginStream(stream) {
|
|
2306
|
+
stream.getTracks().forEach((track) => {
|
|
2307
|
+
track.stop();
|
|
2308
|
+
});
|
|
2309
|
+
stream = null;
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
return newStream1
|
|
2313
|
+
} else {
|
|
2314
|
+
return stream
|
|
2315
|
+
}
|
|
2226
2316
|
|
|
2227
|
-
|
|
2317
|
+
}
|
|
2228
2318
|
// 发布媒体流成功
|
|
2229
2319
|
this.test_controller.OnPublishSucc = (sid) => {
|
|
2230
2320
|
console.log('发布媒体流成功', sid)
|
|
@@ -2249,7 +2339,8 @@ class Video extends Component {
|
|
|
2249
2339
|
if(box){ //此处在加一层判断,更加严密,如果box存在的情况下获取
|
|
2250
2340
|
this.setState({
|
|
2251
2341
|
whiteboardTop: box.getBoundingClientRect().top * 1.08 - 40,
|
|
2252
|
-
whiteboardLeft: box.getBoundingClientRect().left
|
|
2342
|
+
whiteboardLeft: box.getBoundingClientRect().left,
|
|
2343
|
+
leftVideo: (box.offsetWidth - this.state.widthVideo)/2 + box.getBoundingClientRect().left
|
|
2253
2344
|
})
|
|
2254
2345
|
console.log('whiteboardDIV',this.state.whiteboardTop,this.state.whiteboardLeft)
|
|
2255
2346
|
}
|
|
@@ -3044,6 +3135,9 @@ class Video extends Component {
|
|
|
3044
3135
|
if(isSuccuseHs) {
|
|
3045
3136
|
stopHs();
|
|
3046
3137
|
}
|
|
3138
|
+
if(isGraffiti) {
|
|
3139
|
+
mixStopClick()
|
|
3140
|
+
}
|
|
3047
3141
|
|
|
3048
3142
|
console.log('退出房间回调', leaveType);
|
|
3049
3143
|
};
|
|
@@ -3631,11 +3725,12 @@ userType:'1'
|
|
|
3631
3725
|
this.props.resourcePath + "/html2canvas.js",
|
|
3632
3726
|
this.props.resourcePath + "/dom-to-image.js",
|
|
3633
3727
|
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3728
|
+
this.props.resourcePath + "/hs/hs_human_segmentation_wrapper.js",
|
|
3729
|
+
this.props.resourcePath + "/hs/hs_human_segmentation.js",
|
|
3730
|
+
this.props.resourcePath + "/hs/hs_human_segmentation.wasm",
|
|
3637
3731
|
|
|
3638
|
-
|
|
3732
|
+
this.props.resourcePath + "/mix/mix_frame.js",
|
|
3733
|
+
this.props.resourcePath + "/mix/pageBoard.js"
|
|
3639
3734
|
|
|
3640
3735
|
]
|
|
3641
3736
|
const that = this
|
|
@@ -4028,7 +4123,8 @@ userType:'1'
|
|
|
4028
4123
|
idCardName: '',
|
|
4029
4124
|
titleModal: '人脸识别',
|
|
4030
4125
|
// clickedFacial: true,
|
|
4031
|
-
facialImg:
|
|
4126
|
+
facialImg: ocrImage,
|
|
4127
|
+
isFaceImage: false
|
|
4032
4128
|
})
|
|
4033
4129
|
}
|
|
4034
4130
|
|
|
@@ -4225,24 +4321,27 @@ userType:'1'
|
|
|
4225
4321
|
this.setState({
|
|
4226
4322
|
clickedFacial: false,
|
|
4227
4323
|
clickedOcr: false,
|
|
4324
|
+
isFaceImage: false,
|
|
4228
4325
|
facialImg: ocrImage,
|
|
4229
4326
|
},()=>{
|
|
4230
4327
|
this.setState({
|
|
4231
|
-
|
|
4232
|
-
})
|
|
4328
|
+
isModalVisibleFacial: true,
|
|
4233
4329
|
})
|
|
4330
|
+
})
|
|
4234
4331
|
}
|
|
4235
4332
|
}
|
|
4236
4333
|
sgsinImage=()=>{
|
|
4237
4334
|
this.setState({
|
|
4238
|
-
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png')
|
|
4335
|
+
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
|
|
4336
|
+
isFaceImage: true
|
|
4239
4337
|
})
|
|
4240
4338
|
}
|
|
4241
4339
|
handleChangeOcr =(val)=> {
|
|
4242
4340
|
console.log(val)
|
|
4243
4341
|
this.setState({
|
|
4244
4342
|
defaultValue: 1,
|
|
4245
|
-
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png')
|
|
4343
|
+
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png'),
|
|
4344
|
+
isFaceImage: true
|
|
4246
4345
|
})
|
|
4247
4346
|
}
|
|
4248
4347
|
componentWillReceiveProps(props) {
|
|
@@ -4508,6 +4607,14 @@ userType:'1'
|
|
|
4508
4607
|
|
|
4509
4608
|
videoMedia.addEventListener('play', (event) =>{
|
|
4510
4609
|
var $this = this; //cache
|
|
4610
|
+
if($this.state.operateShow) {
|
|
4611
|
+
isGraffiti = false
|
|
4612
|
+
this.setState({
|
|
4613
|
+
zIndexNum: 999
|
|
4614
|
+
})
|
|
4615
|
+
const canvas = document.getElementById('canvas');
|
|
4616
|
+
canvas.width = this.state.whiteboardWidth
|
|
4617
|
+
}
|
|
4511
4618
|
console.log('addEventListener',!$this.paused,!$this.ended,x, y, width, height)
|
|
4512
4619
|
loop()
|
|
4513
4620
|
function loop() {
|
|
@@ -4568,6 +4675,7 @@ userType:'1'
|
|
|
4568
4675
|
})
|
|
4569
4676
|
|
|
4570
4677
|
streamShare = stream
|
|
4678
|
+
|
|
4571
4679
|
stream.getVideoTracks()[0].onended = async ()=>{
|
|
4572
4680
|
//单击停止共享按钮后,触发这个事件
|
|
4573
4681
|
streamShare = ''
|
|
@@ -4651,13 +4759,30 @@ userType:'1'
|
|
|
4651
4759
|
img.src = base64;
|
|
4652
4760
|
document.body.appendChild(img);
|
|
4653
4761
|
|
|
4762
|
+
}
|
|
4763
|
+
graffitiClick=async()=>{
|
|
4764
|
+
if(!isGraffiti) {
|
|
4765
|
+
if (this.state.tabTitles.find(el=>el.value == 'RMScreen')) {
|
|
4766
|
+
// await startMix(document.getElementById('video20').srcObject);
|
|
4767
|
+
// document.getElementById('video20').srcObject = mixCaptureStream();
|
|
4768
|
+
|
|
4769
|
+
mixSetMode('mix')
|
|
4770
|
+
isGraffiti = true
|
|
4771
|
+
console.log('isGraffiti',isGraffiti)
|
|
4772
|
+
const canvas = document.getElementById('canvas');
|
|
4773
|
+
canvas.width = this.state.widthVideo
|
|
4774
|
+
}
|
|
4775
|
+
}
|
|
4776
|
+
|
|
4654
4777
|
}
|
|
4655
4778
|
graffiti=()=>{
|
|
4779
|
+
|
|
4656
4780
|
if(!this.state.operateShow) {
|
|
4657
4781
|
this.setState({
|
|
4658
4782
|
zIndexNum: 999
|
|
4659
4783
|
})
|
|
4660
4784
|
this.change(true)
|
|
4785
|
+
|
|
4661
4786
|
}
|
|
4662
4787
|
|
|
4663
4788
|
}
|
|
@@ -4666,6 +4791,13 @@ userType:'1'
|
|
|
4666
4791
|
zIndexNum: -1
|
|
4667
4792
|
})
|
|
4668
4793
|
this.change(false)
|
|
4794
|
+
if(isGraffiti) {
|
|
4795
|
+
isGraffiti = false
|
|
4796
|
+
mixSetMode('none')
|
|
4797
|
+
console.log('isGraffiti',isGraffiti)
|
|
4798
|
+
// var stream = mixStop(false);
|
|
4799
|
+
// document.getElementById('video20').srcObject = stream
|
|
4800
|
+
}
|
|
4669
4801
|
}
|
|
4670
4802
|
change(val) {
|
|
4671
4803
|
this.setState({ operateShow: val })
|
|
@@ -4677,6 +4809,7 @@ userType:'1'
|
|
|
4677
4809
|
setTimeout(() => {
|
|
4678
4810
|
this.openCanvas(canvas)
|
|
4679
4811
|
}, 0);
|
|
4812
|
+
this.graffitiClick()
|
|
4680
4813
|
} else {
|
|
4681
4814
|
// this.downCanvas()
|
|
4682
4815
|
this.closeCanvas();
|
|
@@ -4756,8 +4889,10 @@ userType:'1'
|
|
|
4756
4889
|
if(box){ //此处在加一层判断,更加严密,如果box存在的情况下获取
|
|
4757
4890
|
this.state.whiteboardWidth = box.offsetWidth,
|
|
4758
4891
|
this.state.whiteboardHeight = box.offsetHeight * 0.92,
|
|
4892
|
+
this.state.widthVideo = this.state.whiteboardHeight * 1280 / 720
|
|
4759
4893
|
this.state.whiteboardTop = box.getBoundingClientRect().top * 1.08 - 40
|
|
4760
4894
|
this.state.whiteboardLeft = box.getBoundingClientRect().left
|
|
4895
|
+
this.state.leftVideo = (box.offsetWidth - this.state.widthVideo)/2 + box.getBoundingClientRect().left
|
|
4761
4896
|
console.log('whiteboardDIV', this.state.whiteboardHeight,this.state.whiteboardWidth,this.state.whiteboardTop,this.state.whiteboardLeft)
|
|
4762
4897
|
}
|
|
4763
4898
|
}
|
|
@@ -4893,6 +5028,20 @@ userType:'1'
|
|
|
4893
5028
|
});
|
|
4894
5029
|
},100)
|
|
4895
5030
|
|
|
5031
|
+
}
|
|
5032
|
+
virtualizationClick=async()=>{
|
|
5033
|
+
if(!isSuccuseHs) {
|
|
5034
|
+
|
|
5035
|
+
hsSetMode('blur')
|
|
5036
|
+
isSuccuseHs = true
|
|
5037
|
+
} else {
|
|
5038
|
+
hsSetMode('none')
|
|
5039
|
+
isSuccuseHs = false
|
|
5040
|
+
}
|
|
5041
|
+
}
|
|
5042
|
+
virtualization=()=>{
|
|
5043
|
+
this.virtualizationClick()
|
|
5044
|
+
|
|
4896
5045
|
}
|
|
4897
5046
|
handleChangeIdCardName = (event) => {
|
|
4898
5047
|
this.setState({idCardName: event.target.value});
|
|
@@ -5047,7 +5196,7 @@ userType:'1'
|
|
|
5047
5196
|
{tabTitleList}
|
|
5048
5197
|
{/* <img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" /> */}
|
|
5049
5198
|
<div id="whiteboardDIV" style={{height: 'calc(100% - 33px)'}}>
|
|
5050
|
-
<CanvasHome zIndexNum={this.state.zIndexNum} style={{width: this.state.whiteboardWidth + 'Px',height: this.state.whiteboardHeight + 'Px',top: this.state.whiteboardTop + 'Px',left:this.state.whiteboardLeft + 'Px'}}>
|
|
5199
|
+
<CanvasHome zIndexNum={this.state.zIndexNum} style={{width: isGraffiti ? this.state.widthVideo + 'px' : this.state.whiteboardWidth + 'Px',height: this.state.whiteboardHeight + 'Px',top: this.state.whiteboardTop + 'Px',left: isGraffiti ? this.state.leftVideo + 'px' :this.state.whiteboardLeft + 'Px'}}>
|
|
5051
5200
|
{this.state.operateShow &&
|
|
5052
5201
|
<OpreateDiv id="operate">
|
|
5053
5202
|
<span style={{color: this.state.selectSpan == 'pen' ? '#1890ff' : '#333'}} onClick={() => this.setTool('pen')}>铅笔</span>
|
|
@@ -5061,11 +5210,12 @@ userType:'1'
|
|
|
5061
5210
|
<canvas id="canvas" className="canvas"></canvas>
|
|
5062
5211
|
</CanvasHome>
|
|
5063
5212
|
<div className="videoDiv" style={{ display: (this.state.isSelect == 'RMScreen' || this.state.isSelect == 'staffScreen') ? '' : 'none', }}>
|
|
5064
|
-
<div className="videoDiv">
|
|
5213
|
+
<div className="videoDiv" style={{'text-align': 'center'}}>
|
|
5065
5214
|
<video
|
|
5066
5215
|
id="video20"
|
|
5067
5216
|
autoPlay
|
|
5068
5217
|
muted={true}
|
|
5218
|
+
style={{ height: this.state.whiteboardHeight + 'px',width: this.state.widthVideo + 'px'}}
|
|
5069
5219
|
className="videoTab"
|
|
5070
5220
|
disablePictureInPicture
|
|
5071
5221
|
/>
|
|
@@ -5552,6 +5702,7 @@ userType:'1'
|
|
|
5552
5702
|
inspection={this.inspection}
|
|
5553
5703
|
beautyClick={this.beautyClick}
|
|
5554
5704
|
graffiti={this.graffiti}
|
|
5705
|
+
virtualization={this.virtualization}
|
|
5555
5706
|
></Foot>
|
|
5556
5707
|
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
|
|
5557
5708
|
onCancel={this.handleCancel}>
|
|
@@ -5574,7 +5725,13 @@ userType:'1'
|
|
|
5574
5725
|
!this.state.idCardName && <div key='facial'>
|
|
5575
5726
|
<Button className="modelButtonCancel" onClick={this.handleCancelFacial}>取消</Button>
|
|
5576
5727
|
<Button className="modelButtonCancel" onClick={this.sgsinImage}>截图</Button>
|
|
5577
|
-
|
|
5728
|
+
{
|
|
5729
|
+
this.state.isFaceImage && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkFacial}>确定</Button>
|
|
5730
|
+
}
|
|
5731
|
+
{
|
|
5732
|
+
!this.state.isFaceImage && <Button className="modelButtonNo" type="primary" danger>确定</Button>
|
|
5733
|
+
}
|
|
5734
|
+
|
|
5578
5735
|
</div>,
|
|
5579
5736
|
this.state.idCardName && <div key='facial'>
|
|
5580
5737
|
<Button className="modelButtonFaceOk" danger onClick={(e)=>this.confirmCallback('face')}>完成并发起人脸识别</Button>
|
|
@@ -5718,7 +5875,7 @@ sessionId: "",
|
|
|
5718
5875
|
microphoneSize: 25,
|
|
5719
5876
|
fontSize: '14',
|
|
5720
5877
|
fontFamily: 'auto',
|
|
5721
|
-
menus: ['BOARD','SHARE', 'FRIES', 'OCR', 'INVITE', 'PIP', 'BEAUTY','GRAFFITI'],
|
|
5878
|
+
menus: ['BOARD','SHARE', 'FRIES', 'OCR', 'INVITE', 'PIP', 'BEAUTY','GRAFFITI','BACK'],
|
|
5722
5879
|
customLeaveRoom: '客户离开房间',
|
|
5723
5880
|
meetingInfo: {
|
|
5724
5881
|
title: '--',
|
|
@@ -378,6 +378,15 @@
|
|
|
378
378
|
background: #DB0011!important;
|
|
379
379
|
border-spacing: 20px!important;
|
|
380
380
|
}
|
|
381
|
+
.modelButtonNo{
|
|
382
|
+
width: 100px!important;
|
|
383
|
+
height: 40px!important;
|
|
384
|
+
font-size: 16px!important;
|
|
385
|
+
color: #5C5C5C!important;
|
|
386
|
+
border: 1px #5C5C5C solid!important;
|
|
387
|
+
background: #d9d9d9!important;
|
|
388
|
+
border-spacing: 20px!important;
|
|
389
|
+
}
|
|
381
390
|
.modelButtonFaceOk{
|
|
382
391
|
width: 170px!important;
|
|
383
392
|
height: 40px!important;
|