react_hsbc_teller 1.6.6 → 1.7.0
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/lib/hsbc.js.LICENSE.txt +17 -0
- package/package.json +3 -1
- package/packages/api/api.js +1 -1
- package/packages/assets/img/tuya.png +0 -0
- package/packages/common/index.esm.js +374 -0
- package/packages/demo/demo.js +4 -7
- package/packages/pages/foot/foot.jsx +13 -9
- package/packages/pages/video/video.jsx +242 -53
- package/packages/pages/video/video.less +9 -0
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import React, { Component, useState } from 'react';
|
|
5
5
|
import API from '../../api/api';
|
|
6
6
|
import { initWebSocket, joinRoom, disconnect } from '../../common/websocket';
|
|
7
|
+
import { BoardOperate } from '../../common/index.esm.js';
|
|
7
8
|
import './video.less'
|
|
8
9
|
import Header from '../header/header.jsx'
|
|
9
10
|
import Foot from '../foot/foot.jsx'
|
|
@@ -23,10 +24,11 @@ import Spin from "antd/lib/spin";
|
|
|
23
24
|
import 'antd/lib/spin/style'
|
|
24
25
|
import Select from "antd/lib/select";
|
|
25
26
|
import 'antd/lib/select/style'
|
|
26
|
-
|
|
27
|
+
import styled from 'styled-components';
|
|
27
28
|
import { Button } from '../../../node_modules/antd/lib/index';
|
|
28
29
|
import SignMy from '../sign/signMy.jsx'
|
|
29
30
|
import axios from 'axios';
|
|
31
|
+
import CryptoJS from "crypto-js";
|
|
30
32
|
const { Option } = Select;
|
|
31
33
|
const LEAVE_TYPE = {
|
|
32
34
|
TELLER_EXIT: 1, // 坐席退出
|
|
@@ -42,6 +44,37 @@ let messageValue = ''
|
|
|
42
44
|
let beautyNum = 0 // 0-关闭 1--弱 2--中 5---高
|
|
43
45
|
let rateList = []
|
|
44
46
|
let beautyDiv = {};
|
|
47
|
+
let CanvasHome = styled.div`
|
|
48
|
+
position: fixed;
|
|
49
|
+
width: 76vw;
|
|
50
|
+
height: 74vh;
|
|
51
|
+
top: 3vh;
|
|
52
|
+
left: 1.5vw;
|
|
53
|
+
z-index: ${props=>props.zIndexNum};
|
|
54
|
+
|
|
55
|
+
.canvas{
|
|
56
|
+
width:100%;
|
|
57
|
+
|
|
58
|
+
height:100%;
|
|
59
|
+
box-shadow: 0 0 5px 0 #06a;
|
|
60
|
+
display:none;
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
const OpreateDiv = styled.div`
|
|
64
|
+
display: inline-block;
|
|
65
|
+
margin-left: 10vw;
|
|
66
|
+
padding: 0 6px;
|
|
67
|
+
height: 40px;
|
|
68
|
+
line-height: 40px;
|
|
69
|
+
border-radius: 5px;
|
|
70
|
+
background: #fff;
|
|
71
|
+
font-size: 16px;
|
|
72
|
+
border: #333 1px solid;
|
|
73
|
+
span{
|
|
74
|
+
margin-right:10px;
|
|
75
|
+
cursor:pointer;
|
|
76
|
+
}
|
|
77
|
+
`;
|
|
45
78
|
function clearStreamRemain() {
|
|
46
79
|
if (!(beautyDiv.beauty_canvas == null || beautyDiv.beauty_canvas == undefined)) {
|
|
47
80
|
beautyDiv.beauty_canvas = null;
|
|
@@ -69,6 +102,7 @@ message.config({
|
|
|
69
102
|
class Video extends Component {
|
|
70
103
|
constructor(props) {
|
|
71
104
|
super(props)
|
|
105
|
+
this.boardOperate = null;
|
|
72
106
|
}
|
|
73
107
|
cancel = axios.CancelToken.source()
|
|
74
108
|
state = {
|
|
@@ -213,10 +247,18 @@ class Video extends Component {
|
|
|
213
247
|
],
|
|
214
248
|
shareMaskState: false,
|
|
215
249
|
idCardName: '',
|
|
216
|
-
idCardNumber: ''
|
|
250
|
+
idCardNumber: '',
|
|
251
|
+
operateShow: false,
|
|
252
|
+
drawConfig: {
|
|
253
|
+
curryControl: 'pen', // 工具类型
|
|
254
|
+
},
|
|
255
|
+
zIndexNum: -1,
|
|
256
|
+
selectSpan: 'pen'
|
|
217
257
|
};
|
|
218
258
|
// eslint-disable-next-line no-undef
|
|
219
259
|
test_controller = '';
|
|
260
|
+
|
|
261
|
+
|
|
220
262
|
/**
|
|
221
263
|
* 创建房间成功后回调后台
|
|
222
264
|
* @param {JSON} data 数据类型
|
|
@@ -297,6 +339,35 @@ class Video extends Component {
|
|
|
297
339
|
|
|
298
340
|
}
|
|
299
341
|
};
|
|
342
|
+
decrypt(data) {
|
|
343
|
+
let keyStr = "le&&If?()*^%$#hA"
|
|
344
|
+
let iv = CryptoJS.enc.Utf8.parse("jwe232DEE?^%$eq3")
|
|
345
|
+
let encryptedHexStr = CryptoJS.enc.Hex.parse(data);
|
|
346
|
+
let content = CryptoJS.enc.Base64.stringify(encryptedHexStr);
|
|
347
|
+
let key = CryptoJS.enc.Utf8.parse(keyStr);
|
|
348
|
+
let decrypt = CryptoJS.AES.decrypt(content, key, {
|
|
349
|
+
iv: iv,
|
|
350
|
+
mode: CryptoJS.mode.CBC,
|
|
351
|
+
padding: CryptoJS.pad.Pkcs7,
|
|
352
|
+
});
|
|
353
|
+
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
|
|
354
|
+
}
|
|
355
|
+
encrypt(data) {
|
|
356
|
+
let keyStr = "le&&If?()*^%$#hA"
|
|
357
|
+
let iv = CryptoJS.enc.Utf8.parse("jwe232DEE?^%$eq3")
|
|
358
|
+
let dataString = data;
|
|
359
|
+
if (typeof data !== "string") {
|
|
360
|
+
dataString = JSON.stringify(data);
|
|
361
|
+
}
|
|
362
|
+
const key = CryptoJS.enc.Utf8.parse(keyStr);
|
|
363
|
+
let sc = CryptoJS.enc.Utf8.parse(dataString);
|
|
364
|
+
let encrypted = CryptoJS.AES.encrypt(sc, key, {
|
|
365
|
+
iv: iv,
|
|
366
|
+
mode: CryptoJS.mode.CBC,
|
|
367
|
+
padding: CryptoJS.pad.Pkcs7,
|
|
368
|
+
});
|
|
369
|
+
return encrypted.ciphertext.toString();
|
|
370
|
+
}
|
|
300
371
|
/**
|
|
301
372
|
* 初始化获取数据
|
|
302
373
|
* @param {JSON} data 数据类型
|
|
@@ -304,18 +375,13 @@ class Video extends Component {
|
|
|
304
375
|
mpaasSig = async data => {
|
|
305
376
|
console.log(data);
|
|
306
377
|
try {
|
|
307
|
-
let result = await API.mpaasSig({ account: data.account, type: data.type
|
|
308
|
-
|
|
378
|
+
// let result = JSON.parse(this.decrypt(await API.mpaasSig({ ciphertext: this.encrypt({account: data.account, type: data.type})})));
|
|
379
|
+
let result = await API.mpaasSig({account: data.account, type: data.type});
|
|
380
|
+
console.log('mpaasSig',result,result.mpsSig);
|
|
309
381
|
window.sessionStorage.setItem('alimpassSig', result.mpsSig);
|
|
310
382
|
this.state.workSpaceId = result.workspaceId,
|
|
311
383
|
this.state.appId = result.appId,
|
|
312
384
|
this.state.bizName = result.bizName
|
|
313
|
-
// const data1={
|
|
314
|
-
// hostname: 'im.uat.dsp.hsbcfts.com.cn',
|
|
315
|
-
// webPort: '443',
|
|
316
|
-
// account: 'web',
|
|
317
|
-
// openfireToken: '123'
|
|
318
|
-
// }
|
|
319
385
|
window.sessionStorage.setItem('sigData', JSON.stringify(result));
|
|
320
386
|
if (data.sigType == 1) {
|
|
321
387
|
this.handleEdit()
|
|
@@ -430,9 +496,9 @@ class Video extends Component {
|
|
|
430
496
|
{
|
|
431
497
|
tag: 'projectionWhiteboard',
|
|
432
498
|
xPosition: 0,
|
|
433
|
-
yPosition:
|
|
434
|
-
width:
|
|
435
|
-
height:
|
|
499
|
+
yPosition: 175,
|
|
500
|
+
width: 960,
|
|
501
|
+
height: 540
|
|
436
502
|
},
|
|
437
503
|
// {
|
|
438
504
|
// tag: 'VIDEO_SOURCE_SCREEN_ONE',
|
|
@@ -452,43 +518,43 @@ class Video extends Component {
|
|
|
452
518
|
tag: 'tag1',
|
|
453
519
|
xPosition: 0,
|
|
454
520
|
yPosition: 0,
|
|
455
|
-
width:
|
|
456
|
-
height:
|
|
521
|
+
width: 213,
|
|
522
|
+
height: 175
|
|
457
523
|
},
|
|
458
524
|
{
|
|
459
525
|
tag: 'customer1',
|
|
460
|
-
xPosition:
|
|
526
|
+
xPosition: 213,
|
|
461
527
|
yPosition: 0,
|
|
462
|
-
width:
|
|
463
|
-
height:
|
|
528
|
+
width: 213,
|
|
529
|
+
height: 175
|
|
464
530
|
},
|
|
465
531
|
{
|
|
466
532
|
tag: 'customer2',
|
|
467
|
-
xPosition:
|
|
533
|
+
xPosition: 426,
|
|
468
534
|
yPosition: 0,
|
|
469
|
-
width:
|
|
470
|
-
height:
|
|
535
|
+
width: 213,
|
|
536
|
+
height: 175
|
|
471
537
|
},
|
|
472
538
|
{
|
|
473
539
|
tag: 'customer3',
|
|
474
|
-
xPosition:
|
|
540
|
+
xPosition: 639,
|
|
475
541
|
yPosition: 0,
|
|
476
|
-
width:
|
|
477
|
-
height:
|
|
542
|
+
width: 213,
|
|
543
|
+
height: 175
|
|
478
544
|
},
|
|
479
545
|
{
|
|
480
546
|
tag: 'customer4',
|
|
481
|
-
xPosition:
|
|
547
|
+
xPosition: 852,
|
|
482
548
|
yPosition: 0,
|
|
483
|
-
width:
|
|
484
|
-
height:
|
|
549
|
+
width: 213,
|
|
550
|
+
height: 175
|
|
485
551
|
},
|
|
486
552
|
{
|
|
487
553
|
tag: 'customer5',
|
|
488
|
-
xPosition:
|
|
554
|
+
xPosition: 1065,
|
|
489
555
|
yPosition: 0,
|
|
490
|
-
width:
|
|
491
|
-
height:
|
|
556
|
+
width: 213,
|
|
557
|
+
height: 175
|
|
492
558
|
},
|
|
493
559
|
// {
|
|
494
560
|
// tag: 'customer6',
|
|
@@ -542,17 +608,25 @@ class Video extends Component {
|
|
|
542
608
|
width: item.width,
|
|
543
609
|
height: item.height
|
|
544
610
|
})
|
|
545
|
-
}) :
|
|
611
|
+
}) :
|
|
612
|
+
list.push({
|
|
546
613
|
tag: 'VIDEO_SOURCE_SCREEN',
|
|
547
|
-
xPosition:
|
|
548
|
-
yPosition:
|
|
549
|
-
width:
|
|
550
|
-
height:
|
|
614
|
+
xPosition: 960,
|
|
615
|
+
yPosition: 535,
|
|
616
|
+
width: 320,
|
|
617
|
+
height: 180
|
|
551
618
|
})
|
|
619
|
+
// list.push({
|
|
620
|
+
// tag: 'VIDEO_SOURCE_SCREEN_19_9',
|
|
621
|
+
// xPosition: 960,
|
|
622
|
+
// yPosition: 573,
|
|
623
|
+
// width: 304,
|
|
624
|
+
// height: 144
|
|
625
|
+
// })
|
|
552
626
|
const filePath = 'recordId_' + new Date().valueOf();
|
|
553
627
|
const recordParam = {};
|
|
554
|
-
recordParam.width =
|
|
555
|
-
recordParam.height =
|
|
628
|
+
recordParam.width = 1280;
|
|
629
|
+
recordParam.height = 720;
|
|
556
630
|
recordParam.recordTotalStream = 0;
|
|
557
631
|
recordParam.startTimeout = 10;
|
|
558
632
|
recordParam.splitType = 0;
|
|
@@ -564,7 +638,7 @@ class Video extends Component {
|
|
|
564
638
|
type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
565
639
|
id: 1, // ⽔印 ID
|
|
566
640
|
enable: true,
|
|
567
|
-
xPosition:
|
|
641
|
+
xPosition: 1000, // x 轴位置
|
|
568
642
|
yPosition: 10, // y 轴位置
|
|
569
643
|
text: '', // ⽔印⽂字
|
|
570
644
|
fontSize: 16, // 字体⼤⼩
|
|
@@ -2492,6 +2566,12 @@ class Video extends Component {
|
|
|
2492
2566
|
this.test_controller.OnNewJoinerIn = (participant) => {
|
|
2493
2567
|
console.log('新加⼊房间者', participant);
|
|
2494
2568
|
this.state.isCustomer= true
|
|
2569
|
+
if(this.props.isOpenSound) {
|
|
2570
|
+
let src = autod
|
|
2571
|
+
let audio = new Audio(src)
|
|
2572
|
+
audio.play()
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2495
2575
|
// let src = autod
|
|
2496
2576
|
// let audio = new Audio(src)
|
|
2497
2577
|
// audio.play()
|
|
@@ -2879,9 +2959,13 @@ class Video extends Component {
|
|
|
2879
2959
|
exitType
|
|
2880
2960
|
) => {
|
|
2881
2961
|
console.log('退出房间者', participant, exitType)
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2962
|
+
if(this.props.isOpenSound) {
|
|
2963
|
+
let src = leftMetting
|
|
2964
|
+
let audio = new Audio(src)
|
|
2965
|
+
audio.play()
|
|
2966
|
+
}
|
|
2967
|
+
|
|
2968
|
+
|
|
2885
2969
|
this.appGetUsernameClick(participant).then((res)=>{
|
|
2886
2970
|
console.log('退出房间者',res)
|
|
2887
2971
|
let data = res? res.username ? res.username : '客户' : '客户'
|
|
@@ -3207,7 +3291,6 @@ userType:'1'
|
|
|
3207
3291
|
this.state.analyserHeight = this.state.analyserHeight
|
|
3208
3292
|
}
|
|
3209
3293
|
}
|
|
3210
|
-
|
|
3211
3294
|
this.state.OnVolumeAnalyserMap.set(sid,setInterval(
|
|
3212
3295
|
this.test_controller.OnVolumeAnalyser.bind(this, sid, analyser),
|
|
3213
3296
|
300
|
|
@@ -3255,6 +3338,7 @@ userType:'1'
|
|
|
3255
3338
|
let result = await API.videoRecordCallback({
|
|
3256
3339
|
activityId: this.props.businessNumber,
|
|
3257
3340
|
sessionId: this.state.sessionId,
|
|
3341
|
+
roomId: this.state.channelId + '',
|
|
3258
3342
|
type: type,
|
|
3259
3343
|
status: status
|
|
3260
3344
|
});
|
|
@@ -3450,7 +3534,6 @@ userType:'1'
|
|
|
3450
3534
|
|
|
3451
3535
|
this.props.resourcePath + "/eruda.js",
|
|
3452
3536
|
this.props.resourcePath + "/iconfont.js",
|
|
3453
|
-
this.props.resourcePath + "/dialogue.css",
|
|
3454
3537
|
|
|
3455
3538
|
|
|
3456
3539
|
|
|
@@ -3804,7 +3887,7 @@ userType:'1'
|
|
|
3804
3887
|
isModalVisibleEnd: false
|
|
3805
3888
|
})
|
|
3806
3889
|
};
|
|
3807
|
-
confirmCallback=async()=>{
|
|
3890
|
+
confirmCallback=async(data)=>{
|
|
3808
3891
|
try {
|
|
3809
3892
|
let result = await API.confirmCallback({
|
|
3810
3893
|
idCardName: this.state.idCardName,
|
|
@@ -3814,16 +3897,33 @@ userType:'1'
|
|
|
3814
3897
|
idCardNumber: this.state.idCardNumber,
|
|
3815
3898
|
sessionId: this.state.sessionId,
|
|
3816
3899
|
});
|
|
3900
|
+
console.log('confirmCallback',result)
|
|
3817
3901
|
if (result.code == 200) {
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3902
|
+
console.log(data)
|
|
3903
|
+
if(data == 'noFace') {
|
|
3904
|
+
this.setState({
|
|
3905
|
+
isModalVisibleFacial: false,
|
|
3906
|
+
idCardNumber: '',
|
|
3907
|
+
idCardName: ''
|
|
3908
|
+
})
|
|
3909
|
+
} else {
|
|
3910
|
+
console.log('data')
|
|
3911
|
+
this.state.faceCustomerType = 1
|
|
3912
|
+
this.setState({
|
|
3913
|
+
idCardNumber: '',
|
|
3914
|
+
idCardName: '',
|
|
3915
|
+
titleModal: '人脸识别',
|
|
3916
|
+
// clickedFacial: true,
|
|
3917
|
+
facialImg: this.test_controller.TakePicture(1, undefined, undefined, this.state.customOcrSid, 'png')
|
|
3918
|
+
})
|
|
3919
|
+
}
|
|
3920
|
+
|
|
3823
3921
|
} else {
|
|
3922
|
+
console.log('1')
|
|
3824
3923
|
this.messageClick('保持信息失败','error')
|
|
3825
3924
|
}
|
|
3826
3925
|
} catch (err) {
|
|
3926
|
+
console.log('2')
|
|
3827
3927
|
this.messageClick('保持信息失败','error')
|
|
3828
3928
|
}
|
|
3829
3929
|
}
|
|
@@ -4390,13 +4490,87 @@ userType:'1'
|
|
|
4390
4490
|
// }
|
|
4391
4491
|
}
|
|
4392
4492
|
}
|
|
4393
|
-
|
|
4394
4493
|
this.navigatorClick()
|
|
4494
|
+
|
|
4395
4495
|
} else {
|
|
4396
4496
|
this.messageClick('internal staff正在共享屏幕,请先关闭','error')
|
|
4397
4497
|
}
|
|
4398
4498
|
}
|
|
4399
4499
|
}
|
|
4500
|
+
openCanvas(drawCanvas) {
|
|
4501
|
+
if (!this.boardOperate) {
|
|
4502
|
+
this.boardOperate = new BoardOperate(drawCanvas, {
|
|
4503
|
+
drawColor: "#000000",
|
|
4504
|
+
drawType: "pen",
|
|
4505
|
+
lineWidth: 5,
|
|
4506
|
+
fillStyle: '', // 初始背景色,若为空则透明背景
|
|
4507
|
+
});
|
|
4508
|
+
}
|
|
4509
|
+
}
|
|
4510
|
+
closeCanvas() {
|
|
4511
|
+
this.boardOperate.destroy();
|
|
4512
|
+
this.boardOperate = null;
|
|
4513
|
+
}
|
|
4514
|
+
|
|
4515
|
+
setTool(type) {
|
|
4516
|
+
const { drawConfig } = this.state;
|
|
4517
|
+
drawConfig.curryControl = type;
|
|
4518
|
+
this.boardOperate.changeWay({
|
|
4519
|
+
type
|
|
4520
|
+
});
|
|
4521
|
+
|
|
4522
|
+
this.setState({ drawConfig,selectSpan: type });
|
|
4523
|
+
}
|
|
4524
|
+
|
|
4525
|
+
setOpreate(type) {
|
|
4526
|
+
this.boardOperate[type]();
|
|
4527
|
+
}
|
|
4528
|
+
downCanvas() {
|
|
4529
|
+
const canvas = document.getElementById('canvas');
|
|
4530
|
+
const base64 = canvas.toDataURL();
|
|
4531
|
+
|
|
4532
|
+
|
|
4533
|
+
let img = document.createElement('img');
|
|
4534
|
+
img.style.position = 'fixed';
|
|
4535
|
+
img.style.width = '90vw';
|
|
4536
|
+
img.style.height = '95vh';
|
|
4537
|
+
img.style.top = '9vh';
|
|
4538
|
+
img.style.left = '5vw';
|
|
4539
|
+
img.src = base64;
|
|
4540
|
+
document.body.appendChild(img);
|
|
4541
|
+
|
|
4542
|
+
}
|
|
4543
|
+
graffiti=()=>{
|
|
4544
|
+
if(!this.state.operateShow) {
|
|
4545
|
+
this.setState({
|
|
4546
|
+
zIndexNum: 999
|
|
4547
|
+
})
|
|
4548
|
+
this.change(true)
|
|
4549
|
+
}
|
|
4550
|
+
|
|
4551
|
+
}
|
|
4552
|
+
closeGraffiti=()=>{
|
|
4553
|
+
this.setState({
|
|
4554
|
+
zIndexNum: -1
|
|
4555
|
+
})
|
|
4556
|
+
this.change(false)
|
|
4557
|
+
}
|
|
4558
|
+
change(val) {
|
|
4559
|
+
this.setState({ operateShow: val })
|
|
4560
|
+
const canvas = document.getElementById('canvas');
|
|
4561
|
+
if (val) {
|
|
4562
|
+
canvas.style.display = 'block';
|
|
4563
|
+
canvas.width = canvas.clientWidth;
|
|
4564
|
+
canvas.height = canvas.clientHeight;
|
|
4565
|
+
setTimeout(() => {
|
|
4566
|
+
this.openCanvas(canvas)
|
|
4567
|
+
}, 0);
|
|
4568
|
+
} else {
|
|
4569
|
+
// this.downCanvas()
|
|
4570
|
+
this.closeCanvas();
|
|
4571
|
+
canvas.style.display = 'none';
|
|
4572
|
+
}
|
|
4573
|
+
}
|
|
4400
4574
|
switchSelect = (value) => {
|
|
4401
4575
|
this.setState({
|
|
4402
4576
|
isSelect: value,
|
|
@@ -4759,7 +4933,19 @@ userType:'1'
|
|
|
4759
4933
|
{tabTitleList}
|
|
4760
4934
|
{/* <img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" /> */}
|
|
4761
4935
|
<div id="whiteboardDIV" style={{height: 'calc(100% - 33px)'}}>
|
|
4762
|
-
|
|
4936
|
+
<CanvasHome zIndexNum={this.state.zIndexNum} style={{width: this.state.whiteboardWidth,height: this.state.whiteboardHeight}}>
|
|
4937
|
+
{this.state.operateShow &&
|
|
4938
|
+
<OpreateDiv id="operate">
|
|
4939
|
+
<span style={{color: this.state.selectSpan == 'pen' ? '#1890ff' : '#333'}} onClick={() => this.setTool('pen')}>铅笔</span>
|
|
4940
|
+
<span style={{color: this.state.selectSpan == 'eraser' ? '#1890ff' : '#333'}} onClick={() => this.setTool('eraser')}>橡皮</span>
|
|
4941
|
+
<span onClick={() => this.setOpreate('undo')}>撤销</span>
|
|
4942
|
+
<span onClick={() => this.setOpreate('redo')}>恢复</span>
|
|
4943
|
+
<span onClick={() => this.setOpreate('clear')}>清除</span>
|
|
4944
|
+
<span onClick={() => this.closeGraffiti()}>关闭</span>
|
|
4945
|
+
</OpreateDiv>
|
|
4946
|
+
}
|
|
4947
|
+
<canvas id="canvas" className="canvas"></canvas>
|
|
4948
|
+
</CanvasHome>
|
|
4763
4949
|
<div className="videoDiv" style={{ display: (this.state.isSelect == 'RMScreen' || this.state.isSelect == 'staffScreen') ? '' : 'none', }}>
|
|
4764
4950
|
<div className="videoDiv">
|
|
4765
4951
|
<video
|
|
@@ -5251,6 +5437,7 @@ userType:'1'
|
|
|
5251
5437
|
switchExternal={this.switchExternal}
|
|
5252
5438
|
inspection={this.inspection}
|
|
5253
5439
|
beautyClick={this.beautyClick}
|
|
5440
|
+
graffiti={this.graffiti}
|
|
5254
5441
|
></Foot>
|
|
5255
5442
|
<Modal cancelText="取消" okText="确定" visible={this.state.isModalVisible} onOk={this.handleOk}
|
|
5256
5443
|
onCancel={this.handleCancel}>
|
|
@@ -5276,7 +5463,8 @@ userType:'1'
|
|
|
5276
5463
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkFacial}>确定</Button>
|
|
5277
5464
|
</div>,
|
|
5278
5465
|
this.state.idCardName && <div key='facial'>
|
|
5279
|
-
|
|
5466
|
+
<Button className="modelButtonFaceOk" danger onClick={(e)=>this.confirmCallback('face')}>完成并发起人脸识别</Button>
|
|
5467
|
+
<Button className="modelButtonOk" type="primary" danger onClick={(e)=>this.confirmCallback('noFace')}>完成</Button>
|
|
5280
5468
|
</div>
|
|
5281
5469
|
]}>
|
|
5282
5470
|
<div className="faceBody">
|
|
@@ -5414,7 +5602,7 @@ sessionId: "",
|
|
|
5414
5602
|
microphoneSize: 25,
|
|
5415
5603
|
fontSize: '14',
|
|
5416
5604
|
fontFamily: 'auto',
|
|
5417
|
-
menus: ['BOARD','SHARE', 'FRIES', 'OCR', 'INVITE', 'PIP', 'BEAUTY'],
|
|
5605
|
+
menus: ['BOARD','SHARE', 'FRIES', 'OCR', 'INVITE', 'PIP', 'BEAUTY','GRAFFITI'],
|
|
5418
5606
|
customLeaveRoom: '客户离开房间',
|
|
5419
5607
|
meetingInfo: {
|
|
5420
5608
|
title: '--',
|
|
@@ -5424,6 +5612,7 @@ sessionId: "",
|
|
|
5424
5612
|
},
|
|
5425
5613
|
isTranscribing: false,
|
|
5426
5614
|
shareMask: false,
|
|
5615
|
+
isOpenSound: false, // true开启进出音效 false不开启
|
|
5427
5616
|
internalUrl: 'https://wp-staff-gateway.wealth-platform.uat.ali.cloud.cn.hsbc/meeting-ui/OHB/CN/HSBC?chnlID=OHB&locale=zh_CN&chnlCC=CN&chnlGMC=HSBC&targetFunc=supervisorMeeting&sourceFunc=rmMeeting'
|
|
5428
5617
|
}
|
|
5429
5618
|
export default Video
|
|
@@ -378,6 +378,15 @@
|
|
|
378
378
|
background: #DB0011!important;
|
|
379
379
|
border-spacing: 20px!important;
|
|
380
380
|
}
|
|
381
|
+
.modelButtonFaceOk{
|
|
382
|
+
width: 170px!important;
|
|
383
|
+
height: 40px!important;
|
|
384
|
+
font-size: 16px!important;
|
|
385
|
+
color: #333!important;
|
|
386
|
+
border: 1px #333 solid!important;
|
|
387
|
+
background: #fff!important;
|
|
388
|
+
border-spacing: 20px!important;
|
|
389
|
+
}
|
|
381
390
|
.endModal{
|
|
382
391
|
font-size: 16px;
|
|
383
392
|
padding: 56px 30px 0px 30px;
|