react_hsbc_teller 1.4.4 → 1.4.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/lib/hsbc.js +1 -1
- package/package.json +1 -1
- package/packages/api/api.js +20 -0
- package/packages/demo/demo.js +37 -10
- package/packages/pages/video/video.jsx +273 -136
- package/packages/pages/video/video.less +11 -1
package/package.json
CHANGED
package/packages/api/api.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import Server from './server';
|
|
2
2
|
|
|
3
3
|
class API extends Server{
|
|
4
|
+
|
|
5
|
+
async rateAll(params = {}){
|
|
6
|
+
// return this.axios('get', '/lang/select/2', params);
|
|
7
|
+
try{
|
|
8
|
+
let result = await this.axios('get', '/hsbc/rate/all', params);
|
|
9
|
+
if(result && (result.data instanceof Object) && result.code === 200){
|
|
10
|
+
return result||[];
|
|
11
|
+
}else{
|
|
12
|
+
let err = {
|
|
13
|
+
tip: '服务异常',
|
|
14
|
+
response: result,
|
|
15
|
+
data: params,
|
|
16
|
+
// url: 'https://api.cangdu.org/shopro/data/products',
|
|
17
|
+
}
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}catch(err){
|
|
21
|
+
throw err;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
4
24
|
async getBase64Image(params = {}){
|
|
5
25
|
// return this.axios('get', '/lang/select/2', params);
|
|
6
26
|
try{
|
package/packages/demo/demo.js
CHANGED
|
@@ -4,17 +4,22 @@ import Pdf from './pdf.js'
|
|
|
4
4
|
|
|
5
5
|
class Demo extends Component {
|
|
6
6
|
state = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
sessionId:
|
|
7
|
+
shareMask: false,
|
|
8
|
+
mtoken: "84d0410ab406",
|
|
9
|
+
|
|
10
|
+
roomId: "651114052525526",
|
|
11
|
+
|
|
12
|
+
imRoomId: "VPP0Ejwae@conference.openfire2.leimondata.cn",
|
|
13
|
+
|
|
14
|
+
sessionId: "VPP0Ejwae",
|
|
15
|
+
// roomId: '',
|
|
16
|
+
// mtoken: '',
|
|
17
|
+
// imRoomId: '',
|
|
18
|
+
// sessionId: '',
|
|
15
19
|
isVideo: false,
|
|
16
20
|
tellerAccount: '00000000',
|
|
17
21
|
callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
|
|
22
|
+
// callbackUrl: 'https://aag.wealth-platform.uat.ali.cloud.cn.hsbc/nosaml/api/appointment/wealth/api/v1/appointment/ali/createMeetingRoom',
|
|
18
23
|
businessNumber: '',
|
|
19
24
|
lang: 'zh',
|
|
20
25
|
roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
|
|
@@ -29,7 +34,7 @@ class Demo extends Component {
|
|
|
29
34
|
microphoneSize: 50,
|
|
30
35
|
fontSize: 14,
|
|
31
36
|
fontFamily: 'auto',
|
|
32
|
-
isTranscribing:
|
|
37
|
+
isTranscribing: true
|
|
33
38
|
}
|
|
34
39
|
componentWillMount() {
|
|
35
40
|
// if(window.localStorage.getItem('roomId')) {
|
|
@@ -111,7 +116,25 @@ handleResourcePath = (event) => {
|
|
|
111
116
|
})
|
|
112
117
|
}
|
|
113
118
|
imgCallback=(file)=>{
|
|
114
|
-
console.log(file)
|
|
119
|
+
console.log('errorType',file)
|
|
120
|
+
}
|
|
121
|
+
shareMaskClick=()=>{
|
|
122
|
+
console.log(this.state.shareMask)
|
|
123
|
+
|
|
124
|
+
if(this.state.shareMask) {
|
|
125
|
+
this.setState({
|
|
126
|
+
shareMask: false
|
|
127
|
+
}, ()=>{
|
|
128
|
+
console.log(this.state.shareMask)
|
|
129
|
+
})
|
|
130
|
+
} else {
|
|
131
|
+
this.setState({
|
|
132
|
+
shareMask: true
|
|
133
|
+
}, ()=>{
|
|
134
|
+
console.log(this.state.shareMask)
|
|
135
|
+
})
|
|
136
|
+
}
|
|
137
|
+
|
|
115
138
|
}
|
|
116
139
|
createRoomCallback=(data)=>{
|
|
117
140
|
console.log('createRoomCallback', data)
|
|
@@ -143,7 +166,9 @@ joinRoomCallback=(data)=>{
|
|
|
143
166
|
<div className="test">
|
|
144
167
|
{
|
|
145
168
|
this.state.isVideo ?
|
|
169
|
+
<div>
|
|
146
170
|
<HSBC
|
|
171
|
+
shareMask={this.state.shareMask}
|
|
147
172
|
roomId={this.state.roomId}
|
|
148
173
|
mtoken={this.state.mtoken}
|
|
149
174
|
sessionId={this.state.sessionId}
|
|
@@ -171,6 +196,8 @@ joinRoomCallback=(data)=>{
|
|
|
171
196
|
|
|
172
197
|
<Pdf></Pdf>
|
|
173
198
|
</HSBC>
|
|
199
|
+
<button onClick={this.shareMaskClick.bind(this)}>遮罩层</button>
|
|
200
|
+
</div>
|
|
174
201
|
:
|
|
175
202
|
<div>
|
|
176
203
|
坐席账号:<input placeholder="请输入坐席账号" value={this.state.tellerAccount} onChange={e => this.handleChangeTeller(e)}></input>
|
|
@@ -38,6 +38,7 @@ let streamShare
|
|
|
38
38
|
let muteJson = new Map()
|
|
39
39
|
let dateTime = 0
|
|
40
40
|
let messageValue = ''
|
|
41
|
+
let rateList = []
|
|
41
42
|
var os = function() {
|
|
42
43
|
var ua = navigator.userAgent,
|
|
43
44
|
isWindowsPhone = /(?:Windows Phone)/.test(ua),
|
|
@@ -68,6 +69,7 @@ class Video extends Component {
|
|
|
68
69
|
cancel = axios.CancelToken.source()
|
|
69
70
|
signCanvas = React.createRef();
|
|
70
71
|
state = {
|
|
72
|
+
signNoClick: false,
|
|
71
73
|
listVideoPicture: [],
|
|
72
74
|
isScreenSwitching: false,
|
|
73
75
|
whiteboardWidth: '',
|
|
@@ -204,11 +206,11 @@ class Video extends Component {
|
|
|
204
206
|
{
|
|
205
207
|
type: false
|
|
206
208
|
}
|
|
207
|
-
]
|
|
209
|
+
],
|
|
210
|
+
shareMaskState: false,
|
|
208
211
|
};
|
|
209
212
|
// eslint-disable-next-line no-undef
|
|
210
213
|
test_controller = '';
|
|
211
|
-
|
|
212
214
|
/**
|
|
213
215
|
* 创建房间成功后回调后台
|
|
214
216
|
* @param {JSON} data 数据类型
|
|
@@ -278,9 +280,11 @@ class Video extends Component {
|
|
|
278
280
|
try {
|
|
279
281
|
let result = await API.getBase64Image({ fileName: data});
|
|
280
282
|
console.log('getBase64Image',result)
|
|
283
|
+
this.tabTitlesClick('customerScreen', 'delect')
|
|
281
284
|
this.props.imgCallback({
|
|
282
285
|
type: result.data.type + '',
|
|
283
|
-
file: result.data.base64Image
|
|
286
|
+
file: result.data.base64Image,
|
|
287
|
+
errorType: 0}
|
|
284
288
|
)
|
|
285
289
|
} catch (err) {
|
|
286
290
|
console.error(err);
|
|
@@ -397,132 +401,168 @@ class Video extends Component {
|
|
|
397
401
|
];
|
|
398
402
|
this.test_controller.InitRoomConfig(config_param)
|
|
399
403
|
};
|
|
404
|
+
rateAll = async() =>{
|
|
405
|
+
let data = ''
|
|
406
|
+
try {
|
|
407
|
+
let result = await API.rateAll();
|
|
408
|
+
console.log(result)
|
|
409
|
+
|
|
410
|
+
if (result.code == 200) {
|
|
411
|
+
data = result.data ? result.data : ''
|
|
412
|
+
}
|
|
413
|
+
return data
|
|
414
|
+
}catch (err) {
|
|
415
|
+
return data
|
|
416
|
+
}
|
|
417
|
+
}
|
|
400
418
|
// 开启录制
|
|
401
419
|
enableServerRecording = () => {
|
|
402
|
-
const
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
420
|
+
const that = this
|
|
421
|
+
this.rateAll().then((res)=>{
|
|
422
|
+
console.log('退出房间者',res)
|
|
423
|
+
let list = [
|
|
424
|
+
{
|
|
425
|
+
tag: 'projectionWhiteboard',
|
|
426
|
+
xPosition: 0,
|
|
427
|
+
yPosition: 270,
|
|
428
|
+
width: 1280,
|
|
429
|
+
height: 720
|
|
430
|
+
},
|
|
431
|
+
// {
|
|
432
|
+
// tag: 'VIDEO_SOURCE_SCREEN_ONE',
|
|
433
|
+
// xPosition: 1290,
|
|
434
|
+
// yPosition: 724,
|
|
435
|
+
// width: 570,
|
|
436
|
+
// height: 270
|
|
437
|
+
// },
|
|
438
|
+
// {
|
|
439
|
+
// tag: 'VIDEO_SOURCE_SCREEN',
|
|
440
|
+
// xPosition: 1290,
|
|
441
|
+
// yPosition: 640,
|
|
442
|
+
// width: 630,
|
|
443
|
+
// height: 350
|
|
444
|
+
// },
|
|
445
|
+
{
|
|
446
|
+
tag: 'tag1',
|
|
447
|
+
xPosition: 0,
|
|
448
|
+
yPosition: 0,
|
|
449
|
+
width: 310,
|
|
450
|
+
height: 180
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
tag: 'customer1',
|
|
454
|
+
xPosition: 320,
|
|
455
|
+
yPosition: 0,
|
|
456
|
+
width: 310,
|
|
457
|
+
height: 180
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
tag: 'customer2',
|
|
461
|
+
xPosition: 640,
|
|
462
|
+
yPosition: 0,
|
|
463
|
+
width: 310,
|
|
464
|
+
height: 180
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
tag: 'customer3',
|
|
468
|
+
xPosition: 960,
|
|
469
|
+
yPosition: 0,
|
|
470
|
+
width: 310,
|
|
471
|
+
height: 180
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
tag: 'customer4',
|
|
475
|
+
xPosition: 1280,
|
|
476
|
+
yPosition: 0,
|
|
477
|
+
width: 310,
|
|
478
|
+
height: 180
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
tag: 'customer5',
|
|
482
|
+
xPosition: 1600,
|
|
483
|
+
yPosition: 0,
|
|
484
|
+
width: 310,
|
|
485
|
+
height: 180
|
|
486
|
+
},
|
|
487
|
+
// {
|
|
488
|
+
// tag: 'customer6',
|
|
489
|
+
// xPosition: 1440,
|
|
490
|
+
// yPosition: 0,
|
|
491
|
+
// width: 240,
|
|
492
|
+
// height: 180
|
|
493
|
+
// },
|
|
494
|
+
// {
|
|
495
|
+
// tag: 'customer7',
|
|
496
|
+
// xPosition: 1680,
|
|
497
|
+
// yPosition: 0,
|
|
498
|
+
// width: 240,
|
|
499
|
+
// height: 180
|
|
500
|
+
// },
|
|
501
|
+
// {
|
|
502
|
+
// tag: 'customer8',
|
|
503
|
+
// xPosition: 1680,
|
|
504
|
+
// yPosition: 180,
|
|
505
|
+
// width: 240,
|
|
506
|
+
// height: 180
|
|
507
|
+
// },
|
|
508
|
+
// {
|
|
509
|
+
// tag: 'customer9',
|
|
510
|
+
// xPosition: 1680,
|
|
511
|
+
// yPosition: 360,
|
|
512
|
+
// width: 240,
|
|
513
|
+
// height: 180
|
|
514
|
+
// },
|
|
515
|
+
// {
|
|
516
|
+
// tag: 'customer10',
|
|
517
|
+
// xPosition: 1680,
|
|
518
|
+
// yPosition: 540,
|
|
519
|
+
// width: 240,
|
|
520
|
+
// height: 180
|
|
521
|
+
// },
|
|
522
|
+
// {
|
|
523
|
+
// tag: 'customer11',
|
|
524
|
+
// xPosition: 1680,
|
|
525
|
+
// yPosition: 720,
|
|
526
|
+
// width: 240,
|
|
527
|
+
// height: 180
|
|
528
|
+
// }
|
|
529
|
+
]
|
|
530
|
+
res.map((item)=>{
|
|
531
|
+
list.push({
|
|
532
|
+
tag: item.tag,
|
|
533
|
+
xPosition: item.xaxis,
|
|
534
|
+
yPosition: item.yaxis,
|
|
535
|
+
width: item.width,
|
|
536
|
+
height: item.height
|
|
537
|
+
})
|
|
538
|
+
})
|
|
539
|
+
const filePath = 'recordId_' + new Date().valueOf();
|
|
540
|
+
const recordParam = {};
|
|
541
|
+
recordParam.width = 1920;
|
|
542
|
+
recordParam.height = 1080;
|
|
543
|
+
recordParam.recordTotalStream = 0;
|
|
544
|
+
recordParam.startTimeout = 10;
|
|
545
|
+
recordParam.splitType = 0;
|
|
546
|
+
recordParam.endType = 1;
|
|
547
|
+
recordParam.crf = 26
|
|
548
|
+
recordParam.overlaps = [
|
|
549
|
+
{
|
|
550
|
+
tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
|
|
551
|
+
type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
552
|
+
id: 1, // ⽔印 ID
|
|
553
|
+
enable: true,
|
|
554
|
+
xPosition: 10, // x 轴位置
|
|
555
|
+
yPosition: 10, // y 轴位置
|
|
556
|
+
text: '', // ⽔印⽂字
|
|
557
|
+
fontSize: 16, // 字体⼤⼩
|
|
558
|
+
url: '' // ⽔印图⽚ HTTP 地址
|
|
559
|
+
},
|
|
560
|
+
];
|
|
561
|
+
recordParam.tagPositions = list
|
|
562
|
+
console.log('recordParam', recordParam);
|
|
563
|
+
that.test_controller.StartRemoteRecord(filePath, recordParam, '')
|
|
564
|
+
|
|
565
|
+
})
|
|
526
566
|
|
|
527
567
|
};
|
|
528
568
|
// 结束会话
|
|
@@ -1451,19 +1491,24 @@ class Video extends Component {
|
|
|
1451
1491
|
}
|
|
1452
1492
|
}
|
|
1453
1493
|
else if (Mival.typeId == 1220) {
|
|
1454
|
-
// 一炒多的图片
|
|
1494
|
+
// 一炒多的图片 1214
|
|
1455
1495
|
if (Mival.sessionId == this.state.sessionId) {
|
|
1496
|
+
this.tabTitlesClick('customerScreen', 'delect')
|
|
1456
1497
|
this.props.imgCallback({
|
|
1457
1498
|
type: Mival.data.type + '',
|
|
1458
|
-
file: Mival.data.file
|
|
1499
|
+
file: Mival.data.file,
|
|
1500
|
+
errerrorTypeorType: 0}
|
|
1459
1501
|
) // 文字抄录和风险抄录,3--风险,,2--文字
|
|
1460
1502
|
}
|
|
1461
1503
|
} else if (Mival.typeId == 1321) {
|
|
1462
1504
|
this.getBase64Image(Mival.fileName)
|
|
1463
1505
|
} else if (Mival.typeId == 1216) {
|
|
1464
|
-
// 签字回调
|
|
1506
|
+
// 签字回调 1213
|
|
1465
1507
|
if (Mival.sessionId == this.state.sessionId) {
|
|
1466
|
-
this.
|
|
1508
|
+
this.tabTitlesClick('customerScreen', 'delect')
|
|
1509
|
+
this.props.signatureCallback({
|
|
1510
|
+
errorType: 0
|
|
1511
|
+
})
|
|
1467
1512
|
}
|
|
1468
1513
|
} else if (Mival.typeId == 1218) {
|
|
1469
1514
|
if (Mival.sessionId == this.state.sessionId) {
|
|
@@ -1653,6 +1698,21 @@ class Video extends Component {
|
|
|
1653
1698
|
|
|
1654
1699
|
}
|
|
1655
1700
|
}
|
|
1701
|
+
} else if (Mival.typeId == 121305) {
|
|
1702
|
+
if (Mival.sessionId == this.state.sessionId) {
|
|
1703
|
+
this.props.signatureCallback({
|
|
1704
|
+
errorType: -1
|
|
1705
|
+
})
|
|
1706
|
+
}
|
|
1707
|
+
} else if (Mival.typeId == 121405) {
|
|
1708
|
+
if (Mival.sessionId == this.state.sessionId) {
|
|
1709
|
+
console.log('imgCallback')
|
|
1710
|
+
this.props.imgCallback({
|
|
1711
|
+
type: '',
|
|
1712
|
+
file: '',
|
|
1713
|
+
errorType: -1
|
|
1714
|
+
})
|
|
1715
|
+
}
|
|
1656
1716
|
}
|
|
1657
1717
|
};
|
|
1658
1718
|
window.IMOpenfire = msg =>{
|
|
@@ -1687,6 +1747,13 @@ class Video extends Component {
|
|
|
1687
1747
|
sigType: 1
|
|
1688
1748
|
};
|
|
1689
1749
|
this.workerClick()
|
|
1750
|
+
rateList = []
|
|
1751
|
+
this.rateAll().then((res)=>{
|
|
1752
|
+
res.map((item)=>{
|
|
1753
|
+
rateList.push(item.tag)
|
|
1754
|
+
})
|
|
1755
|
+
console.log('rateList',rateList)
|
|
1756
|
+
})
|
|
1690
1757
|
this.test_controller.GetDevices();
|
|
1691
1758
|
// 获取设备成功
|
|
1692
1759
|
this.test_controller.OnGetDevicesSuccess = (devicesInfo) => {
|
|
@@ -2382,6 +2449,7 @@ class Video extends Component {
|
|
|
2382
2449
|
}, function (code, message, data) {
|
|
2383
2450
|
console.log(data)
|
|
2384
2451
|
})
|
|
2452
|
+
this.sendNotification()
|
|
2385
2453
|
let array = this.state.roomCustomerList;
|
|
2386
2454
|
let newArray = [...array];
|
|
2387
2455
|
newArray.push({
|
|
@@ -2393,7 +2461,8 @@ class Video extends Component {
|
|
|
2393
2461
|
this.state.roomCustomerList = newArray
|
|
2394
2462
|
let config_param
|
|
2395
2463
|
if (feed.uid != this.state.tellerAccount) {
|
|
2396
|
-
if (feed.tag
|
|
2464
|
+
if (rateList.indexOf(feed.tag) > -1) {
|
|
2465
|
+
// if (feed.tag == 'VIDEO_SOURCE_SCREEN') {
|
|
2397
2466
|
config_param = {
|
|
2398
2467
|
subscribe_video_id: 'video21',
|
|
2399
2468
|
subscribe_audio_id: 'audio21',
|
|
@@ -4017,11 +4086,30 @@ class Video extends Component {
|
|
|
4017
4086
|
}
|
|
4018
4087
|
}
|
|
4019
4088
|
handleOkSign = () => {
|
|
4089
|
+
console.log(this.signCanvas.current.canvas.drawing.toDataURL('image/png'))
|
|
4020
4090
|
this.props.imgRMCallback(
|
|
4021
4091
|
this.signCanvas.current.canvas.drawing.toDataURL('image/png').replace(/data.+?;base64,/, "")
|
|
4022
4092
|
)
|
|
4023
4093
|
}
|
|
4094
|
+
onCancelSign=()=>{
|
|
4095
|
+
this.setState({
|
|
4096
|
+
signNoClick: false
|
|
4097
|
+
})
|
|
4098
|
+
this.props.onCancelSign()
|
|
4099
|
+
}
|
|
4100
|
+
signImage=()=>{
|
|
4101
|
+
if(!this.state.signNoClick) {
|
|
4102
|
+
this.setState({
|
|
4103
|
+
signNoClick: true
|
|
4104
|
+
})
|
|
4105
|
+
}
|
|
4106
|
+
}
|
|
4024
4107
|
handleCancelSign=()=>{
|
|
4108
|
+
if(this.state.signNoClick) {
|
|
4109
|
+
this.setState({
|
|
4110
|
+
signNoClick: false
|
|
4111
|
+
})
|
|
4112
|
+
}
|
|
4025
4113
|
this.signCanvas.current.clear()
|
|
4026
4114
|
}
|
|
4027
4115
|
|
|
@@ -4343,6 +4431,43 @@ class Video extends Component {
|
|
|
4343
4431
|
}
|
|
4344
4432
|
|
|
4345
4433
|
}
|
|
4434
|
+
sendNotification = () =>{
|
|
4435
|
+
console.log(this.props.shareMask,this.state.shareMaskState)
|
|
4436
|
+
this.state.shareMaskState = this.props.shareMask
|
|
4437
|
+
callNimIM('sendCustomCmdMsg', {
|
|
4438
|
+
customId: this.state.imRoomId,
|
|
4439
|
+
content: JSON.stringify({
|
|
4440
|
+
'typeId': 1230,
|
|
4441
|
+
'sessionId': this.state.sessionId,
|
|
4442
|
+
'type': this.state.shareMaskState ? 1 : 2
|
|
4443
|
+
})
|
|
4444
|
+
});
|
|
4445
|
+
}
|
|
4446
|
+
componentDidUpdate(prevProps){
|
|
4447
|
+
console.log('componentDidUpdate',prevProps,prevProps.shareMask,this.props.shareMask)
|
|
4448
|
+
if(this.props.shareMask != prevProps.shareMask) {
|
|
4449
|
+
this.sendNotification()
|
|
4450
|
+
}
|
|
4451
|
+
}
|
|
4452
|
+
// shouldComponentUpdate(nextProps,nextState){
|
|
4453
|
+
// console.log('componentDidUpdate',nextProps,nextState)
|
|
4454
|
+
// if(nextProps.shareMask != nextState.shareMaskState){
|
|
4455
|
+
// this.state.shareMaskState = nextProps.shareMask
|
|
4456
|
+
// this.sendNotification()
|
|
4457
|
+
// }
|
|
4458
|
+
// }
|
|
4459
|
+
// static getDerivedStateFromProps(props, state) {
|
|
4460
|
+
// console.log('getDerivedStateFromProps',props,state,props.shareMask)
|
|
4461
|
+
// if(props.shareMask!==state.shareMaskState){
|
|
4462
|
+
// // this.sendNotification()
|
|
4463
|
+
// return {
|
|
4464
|
+
|
|
4465
|
+
// shareMaskState:shareMask,
|
|
4466
|
+
|
|
4467
|
+
// }
|
|
4468
|
+
// }
|
|
4469
|
+
// return null
|
|
4470
|
+
// }
|
|
4346
4471
|
render() {
|
|
4347
4472
|
const { meetingInfo,isTranscribing } = this.props
|
|
4348
4473
|
var pdfChildren
|
|
@@ -5034,15 +5159,25 @@ class Video extends Component {
|
|
|
5034
5159
|
|
|
5035
5160
|
|
|
5036
5161
|
</Modal>
|
|
5037
|
-
<Modal title="签字白板" width={600} destroyOnClose={true}
|
|
5162
|
+
<Modal title="签字白板" width={600} destroyOnClose={true} centered={true} visible={isTranscribing} onCancel={this.onCancelSign} footer={
|
|
5038
5163
|
[
|
|
5039
5164
|
<div key='okSign'>
|
|
5040
|
-
|
|
5041
|
-
|
|
5165
|
+
{
|
|
5166
|
+
!this.state.signNoClick && <Button className="modelButtonCancelNo">清除</Button>
|
|
5167
|
+
}
|
|
5168
|
+
{
|
|
5169
|
+
this.state.signNoClick && <Button className="modelButtonCancel" onClick={this.handleCancelSign}>清除</Button>
|
|
5170
|
+
}
|
|
5171
|
+
{
|
|
5172
|
+
this.state.signNoClick && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
|
|
5173
|
+
}
|
|
5174
|
+
{
|
|
5175
|
+
!this.state.signNoClick && <Button className="modelButtonCancelNo" type="primary" danger >确定</Button>
|
|
5176
|
+
}
|
|
5042
5177
|
</div>
|
|
5043
5178
|
]
|
|
5044
5179
|
}>
|
|
5045
|
-
<div className="content">
|
|
5180
|
+
<div className="content" onClick={this.signImage}>
|
|
5046
5181
|
<CanvasDraw
|
|
5047
5182
|
ref={this.signCanvas}
|
|
5048
5183
|
brushColor="#000"
|
|
@@ -5051,6 +5186,7 @@ class Video extends Component {
|
|
|
5051
5186
|
canvasWidth="100%"
|
|
5052
5187
|
canvasHeight="100%"
|
|
5053
5188
|
hideGrid={true}
|
|
5189
|
+
|
|
5054
5190
|
></CanvasDraw>
|
|
5055
5191
|
</div>
|
|
5056
5192
|
</Modal>
|
|
@@ -5113,6 +5249,7 @@ sessionId: "",
|
|
|
5113
5249
|
otherAttendees: undefined
|
|
5114
5250
|
},
|
|
5115
5251
|
isTranscribing: false,
|
|
5252
|
+
shareMask: false,
|
|
5116
5253
|
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'
|
|
5117
5254
|
}
|
|
5118
5255
|
export default Video
|
|
@@ -320,12 +320,22 @@
|
|
|
320
320
|
margin-top: 50px!important;
|
|
321
321
|
padding: 20px 30px 30px!important;
|
|
322
322
|
}
|
|
323
|
-
.
|
|
323
|
+
.modelButtonCancelNo{
|
|
324
324
|
width: 100px!important;
|
|
325
325
|
height: 40px!important;
|
|
326
326
|
font-size: 16px!important;
|
|
327
327
|
color: #5C5C5C!important;
|
|
328
328
|
border: 1px #5C5C5C solid!important;
|
|
329
|
+
background: #d9d9d9!important;
|
|
330
|
+
border-spacing: 20px!important;
|
|
331
|
+
}
|
|
332
|
+
.modelButtonCancel{
|
|
333
|
+
width: 100px!important;
|
|
334
|
+
height: 40px!important;
|
|
335
|
+
font-size: 16px!important;
|
|
336
|
+
color: #333!important;
|
|
337
|
+
border: 1px #333 solid!important;
|
|
338
|
+
background: #fff!important;
|
|
329
339
|
border-spacing: 20px!important;
|
|
330
340
|
}
|
|
331
341
|
.modelButtonCancelOne{
|