react_hsbc_teller 1.4.5 → 1.4.6

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react_hsbc_teller",
3
- "version": "1.4.5",
3
+ "version": "1.4.6",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -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{
@@ -4,17 +4,22 @@ import Pdf from './pdf.js'
4
4
 
5
5
  class Demo extends Component {
6
6
  state = {
7
- // imRoomId: "9K9ea1vOM@conference.ls-im-xmpp.chinawp.dev.ali.cloud.cn.hsbc",
8
- // sessionId: "9K9ea1vOM",
9
- // mtoken: "d4e648858b03",
10
- // roomId: "645110140224386",
11
- roomId: '',
12
- mtoken: '',
13
- imRoomId: '',
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: false
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),
@@ -205,11 +206,11 @@ class Video extends Component {
205
206
  {
206
207
  type: false
207
208
  }
208
- ]
209
+ ],
210
+ shareMaskState: false,
209
211
  };
210
212
  // eslint-disable-next-line no-undef
211
213
  test_controller = '';
212
-
213
214
  /**
214
215
  * 创建房间成功后回调后台
215
216
  * @param {JSON} data 数据类型
@@ -399,132 +400,168 @@ class Video extends Component {
399
400
  ];
400
401
  this.test_controller.InitRoomConfig(config_param)
401
402
  };
403
+ rateAll = async() =>{
404
+ let data = ''
405
+ try {
406
+ let result = await API.rateAll();
407
+ console.log(result)
408
+
409
+ if (result.code == 200) {
410
+ data = result.data ? result.data : ''
411
+ }
412
+ return data
413
+ }catch (err) {
414
+ return data
415
+ }
416
+ }
402
417
  // 开启录制
403
418
  enableServerRecording = () => {
404
- const filePath = 'recordId_' + new Date().valueOf();
405
- const recordParam = {};
406
- recordParam.width = 1920;
407
- recordParam.height = 1080;
408
- recordParam.recordTotalStream = 0;
409
- recordParam.startTimeout = 10;
410
- recordParam.splitType = 0;
411
- recordParam.endType = 1;
412
- recordParam.crf = 26
413
- recordParam.overlaps = [
414
- {
415
- tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
416
- type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
417
- id: 1, // ⽔印 ID
418
- enable: true,
419
- xPosition: 10, // x 轴位置
420
- yPosition: 10, // y 轴位置
421
- text: '', // ⽔印⽂字
422
- fontSize: 16, // 字体⼤⼩
423
- url: '' // ⽔印图⽚ HTTP 地址
424
- },
425
- ];
426
- recordParam.tagPositions = [
427
- {
428
- tag: 'projectionWhiteboard',
429
- xPosition: 0,
430
- yPosition: 270,
431
- width: 1280,
432
- height: 720
433
- },
434
- {
435
- tag: 'VIDEO_SOURCE_SCREEN',
436
- xPosition: 1290,
437
- yPosition: 640,
438
- width: 630,
439
- height: 350
440
- },
441
- {
442
- tag: 'tag1',
443
- xPosition: 0,
444
- yPosition: 0,
445
- width: 310,
446
- height: 180
447
- },
448
- {
449
- tag: 'customer1',
450
- xPosition: 320,
451
- yPosition: 0,
452
- width: 310,
453
- height: 180
454
- },
455
- {
456
- tag: 'customer2',
457
- xPosition: 640,
458
- yPosition: 0,
459
- width: 310,
460
- height: 180
461
- },
462
- {
463
- tag: 'customer3',
464
- xPosition: 960,
465
- yPosition: 0,
466
- width: 310,
467
- height: 180
468
- },
469
- {
470
- tag: 'customer4',
471
- xPosition: 1280,
472
- yPosition: 0,
473
- width: 310,
474
- height: 180
475
- },
476
- {
477
- tag: 'customer5',
478
- xPosition: 1600,
479
- yPosition: 0,
480
- width: 310,
481
- height: 180
482
- },
483
- // {
484
- // tag: 'customer6',
485
- // xPosition: 1440,
486
- // yPosition: 0,
487
- // width: 240,
488
- // height: 180
489
- // },
490
- // {
491
- // tag: 'customer7',
492
- // xPosition: 1680,
493
- // yPosition: 0,
494
- // width: 240,
495
- // height: 180
496
- // },
497
- // {
498
- // tag: 'customer8',
499
- // xPosition: 1680,
500
- // yPosition: 180,
501
- // width: 240,
502
- // height: 180
503
- // },
504
- // {
505
- // tag: 'customer9',
506
- // xPosition: 1680,
507
- // yPosition: 360,
508
- // width: 240,
509
- // height: 180
510
- // },
511
- // {
512
- // tag: 'customer10',
513
- // xPosition: 1680,
514
- // yPosition: 540,
515
- // width: 240,
516
- // height: 180
517
- // },
518
- // {
519
- // tag: 'customer11',
520
- // xPosition: 1680,
521
- // yPosition: 720,
522
- // width: 240,
523
- // height: 180
524
- // }
525
- ]
526
- console.log('recordParam', recordParam);
527
- this.test_controller.StartRemoteRecord(filePath, recordParam, '')
419
+ const that = this
420
+ this.rateAll().then((res)=>{
421
+ console.log('退出房间者',res)
422
+ let list = [
423
+ {
424
+ tag: 'projectionWhiteboard',
425
+ xPosition: 0,
426
+ yPosition: 270,
427
+ width: 1280,
428
+ height: 720
429
+ },
430
+ // {
431
+ // tag: 'VIDEO_SOURCE_SCREEN_ONE',
432
+ // xPosition: 1290,
433
+ // yPosition: 724,
434
+ // width: 570,
435
+ // height: 270
436
+ // },
437
+ // {
438
+ // tag: 'VIDEO_SOURCE_SCREEN',
439
+ // xPosition: 1290,
440
+ // yPosition: 640,
441
+ // width: 630,
442
+ // height: 350
443
+ // },
444
+ {
445
+ tag: 'tag1',
446
+ xPosition: 0,
447
+ yPosition: 0,
448
+ width: 310,
449
+ height: 180
450
+ },
451
+ {
452
+ tag: 'customer1',
453
+ xPosition: 320,
454
+ yPosition: 0,
455
+ width: 310,
456
+ height: 180
457
+ },
458
+ {
459
+ tag: 'customer2',
460
+ xPosition: 640,
461
+ yPosition: 0,
462
+ width: 310,
463
+ height: 180
464
+ },
465
+ {
466
+ tag: 'customer3',
467
+ xPosition: 960,
468
+ yPosition: 0,
469
+ width: 310,
470
+ height: 180
471
+ },
472
+ {
473
+ tag: 'customer4',
474
+ xPosition: 1280,
475
+ yPosition: 0,
476
+ width: 310,
477
+ height: 180
478
+ },
479
+ {
480
+ tag: 'customer5',
481
+ xPosition: 1600,
482
+ yPosition: 0,
483
+ width: 310,
484
+ height: 180
485
+ },
486
+ // {
487
+ // tag: 'customer6',
488
+ // xPosition: 1440,
489
+ // yPosition: 0,
490
+ // width: 240,
491
+ // height: 180
492
+ // },
493
+ // {
494
+ // tag: 'customer7',
495
+ // xPosition: 1680,
496
+ // yPosition: 0,
497
+ // width: 240,
498
+ // height: 180
499
+ // },
500
+ // {
501
+ // tag: 'customer8',
502
+ // xPosition: 1680,
503
+ // yPosition: 180,
504
+ // width: 240,
505
+ // height: 180
506
+ // },
507
+ // {
508
+ // tag: 'customer9',
509
+ // xPosition: 1680,
510
+ // yPosition: 360,
511
+ // width: 240,
512
+ // height: 180
513
+ // },
514
+ // {
515
+ // tag: 'customer10',
516
+ // xPosition: 1680,
517
+ // yPosition: 540,
518
+ // width: 240,
519
+ // height: 180
520
+ // },
521
+ // {
522
+ // tag: 'customer11',
523
+ // xPosition: 1680,
524
+ // yPosition: 720,
525
+ // width: 240,
526
+ // height: 180
527
+ // }
528
+ ]
529
+ res.map((item)=>{
530
+ list.push({
531
+ tag: item.tag,
532
+ xPosition: item.xaxis,
533
+ yPosition: item.yaxis,
534
+ width: item.width,
535
+ height: item.height
536
+ })
537
+ })
538
+ const filePath = 'recordId_' + new Date().valueOf();
539
+ const recordParam = {};
540
+ recordParam.width = 1920;
541
+ recordParam.height = 1080;
542
+ recordParam.recordTotalStream = 0;
543
+ recordParam.startTimeout = 10;
544
+ recordParam.splitType = 0;
545
+ recordParam.endType = 1;
546
+ recordParam.crf = 26
547
+ recordParam.overlaps = [
548
+ {
549
+ tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
550
+ type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
551
+ id: 1, // ⽔印 ID
552
+ enable: true,
553
+ xPosition: 10, // x 轴位置
554
+ yPosition: 10, // y 轴位置
555
+ text: '', // ⽔印⽂字
556
+ fontSize: 16, // 字体⼤⼩
557
+ url: '' // ⽔印图⽚ HTTP 地址
558
+ },
559
+ ];
560
+ recordParam.tagPositions = list
561
+ console.log('recordParam', recordParam);
562
+ that.test_controller.StartRemoteRecord(filePath, recordParam, '')
563
+
564
+ })
528
565
 
529
566
  };
530
567
  // 结束会话
@@ -1453,21 +1490,24 @@ class Video extends Component {
1453
1490
  }
1454
1491
  }
1455
1492
  else if (Mival.typeId == 1220) {
1456
- // 一炒多的图片
1493
+ // 一炒多的图片 1214
1457
1494
  if (Mival.sessionId == this.state.sessionId) {
1458
1495
  this.tabTitlesClick('customerScreen', 'delect')
1459
1496
  this.props.imgCallback({
1460
1497
  type: Mival.data.type + '',
1461
- file: Mival.data.file}
1498
+ file: Mival.data.file,
1499
+ errorType: 0}
1462
1500
  ) // 文字抄录和风险抄录,3--风险,,2--文字
1463
1501
  }
1464
1502
  } else if (Mival.typeId == 1321) {
1465
1503
  this.getBase64Image(Mival.fileName)
1466
1504
  } else if (Mival.typeId == 1216) {
1467
- // 签字回调
1505
+ // 签字回调 1213
1468
1506
  if (Mival.sessionId == this.state.sessionId) {
1469
1507
  this.tabTitlesClick('customerScreen', 'delect')
1470
- this.props.signatureCallback()
1508
+ this.props.signatureCallback({
1509
+ errorType: 0
1510
+ })
1471
1511
  }
1472
1512
  } else if (Mival.typeId == 1218) {
1473
1513
  if (Mival.sessionId == this.state.sessionId) {
@@ -1657,6 +1697,21 @@ class Video extends Component {
1657
1697
 
1658
1698
  }
1659
1699
  }
1700
+ } else if (Mival.typeId == 121305) {
1701
+ if (Mival.sessionId == this.state.sessionId) {
1702
+ this.props.signatureCallback({
1703
+ errorType: -1
1704
+ })
1705
+ }
1706
+ } else if (Mival.typeId == 121405) {
1707
+ if (Mival.sessionId == this.state.sessionId) {
1708
+ console.log('imgCallback')
1709
+ this.props.imgCallback({
1710
+ type: '',
1711
+ file: '',
1712
+ errorType: -1
1713
+ })
1714
+ }
1660
1715
  }
1661
1716
  };
1662
1717
  window.IMOpenfire = msg =>{
@@ -1691,6 +1746,13 @@ class Video extends Component {
1691
1746
  sigType: 1
1692
1747
  };
1693
1748
  this.workerClick()
1749
+ rateList = []
1750
+ this.rateAll().then((res)=>{
1751
+ res.map((item)=>{
1752
+ rateList.push(item.tag)
1753
+ })
1754
+ console.log('rateList',rateList)
1755
+ })
1694
1756
  this.test_controller.GetDevices();
1695
1757
  // 获取设备成功
1696
1758
  this.test_controller.OnGetDevicesSuccess = (devicesInfo) => {
@@ -2386,6 +2448,7 @@ class Video extends Component {
2386
2448
  }, function (code, message, data) {
2387
2449
  console.log(data)
2388
2450
  })
2451
+ this.sendNotification()
2389
2452
  let array = this.state.roomCustomerList;
2390
2453
  let newArray = [...array];
2391
2454
  newArray.push({
@@ -2397,7 +2460,8 @@ class Video extends Component {
2397
2460
  this.state.roomCustomerList = newArray
2398
2461
  let config_param
2399
2462
  if (feed.uid != this.state.tellerAccount) {
2400
- if (feed.tag == 'VIDEO_SOURCE_SCREEN') {
2463
+ if (rateList.indexOf(feed.tag) > -1) {
2464
+ // if (feed.tag == 'VIDEO_SOURCE_SCREEN') {
2401
2465
  config_param = {
2402
2466
  subscribe_video_id: 'video21',
2403
2467
  subscribe_audio_id: 'audio21',
@@ -4366,6 +4430,43 @@ class Video extends Component {
4366
4430
  }
4367
4431
 
4368
4432
  }
4433
+ sendNotification = () =>{
4434
+ console.log(this.props.shareMask,this.state.shareMaskState)
4435
+ this.state.shareMaskState = this.props.shareMask
4436
+ callNimIM('sendCustomCmdMsg', {
4437
+ customId: this.state.imRoomId,
4438
+ content: JSON.stringify({
4439
+ 'typeId': 1230,
4440
+ 'sessionId': this.state.sessionId,
4441
+ 'type': this.state.shareMaskState ? 1 : 2
4442
+ })
4443
+ });
4444
+ }
4445
+ componentDidUpdate(prevProps){
4446
+ console.log('componentDidUpdate',prevProps,prevProps.shareMask,this.props.shareMask)
4447
+ if(this.props.shareMask != prevProps.shareMask) {
4448
+ this.sendNotification()
4449
+ }
4450
+ }
4451
+ // shouldComponentUpdate(nextProps,nextState){
4452
+ // console.log('componentDidUpdate',nextProps,nextState)
4453
+ // if(nextProps.shareMask != nextState.shareMaskState){
4454
+ // this.state.shareMaskState = nextProps.shareMask
4455
+ // this.sendNotification()
4456
+ // }
4457
+ // }
4458
+ // static getDerivedStateFromProps(props, state) {
4459
+ // console.log('getDerivedStateFromProps',props,state,props.shareMask)
4460
+ // if(props.shareMask!==state.shareMaskState){
4461
+ // // this.sendNotification()
4462
+ // return {
4463
+
4464
+ // shareMaskState:shareMask,
4465
+
4466
+ // }
4467
+ // }
4468
+ // return null
4469
+ // }
4369
4470
  render() {
4370
4471
  const { meetingInfo,isTranscribing } = this.props
4371
4472
  var pdfChildren
@@ -5060,12 +5161,17 @@ class Video extends Component {
5060
5161
  <Modal title="签字白板" width={600} destroyOnClose={true} centered={true} visible={isTranscribing} onCancel={this.onCancelSign} footer={
5061
5162
  [
5062
5163
  <div key='okSign'>
5063
- <Button className="modelButtonCancel" onClick={this.handleCancelSign}>清除</Button>
5164
+ {
5165
+ !this.state.signNoClick && <Button className="modelButtonCancelNo">清除</Button>
5166
+ }
5167
+ {
5168
+ this.state.signNoClick && <Button className="modelButtonCancel" onClick={this.handleCancelSign}>清除</Button>
5169
+ }
5064
5170
  {
5065
5171
  this.state.signNoClick && <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
5066
5172
  }
5067
5173
  {
5068
- !this.state.signNoClick && <Button className="modelButtonCancel" type="primary" danger >确定</Button>
5174
+ !this.state.signNoClick && <Button className="modelButtonCancelNo" type="primary" danger >确定</Button>
5069
5175
  }
5070
5176
  </div>
5071
5177
  ]
@@ -5142,6 +5248,7 @@ sessionId: "",
5142
5248
  otherAttendees: undefined
5143
5249
  },
5144
5250
  isTranscribing: false,
5251
+ shareMask: false,
5145
5252
  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'
5146
5253
  }
5147
5254
  export default Video
@@ -320,7 +320,7 @@
320
320
  margin-top: 50px!important;
321
321
  padding: 20px 30px 30px!important;
322
322
  }
323
- .modelButtonCancel{
323
+ .modelButtonCancelNo{
324
324
  width: 100px!important;
325
325
  height: 40px!important;
326
326
  font-size: 16px!important;
@@ -329,6 +329,15 @@
329
329
  background: #d9d9d9!important;
330
330
  border-spacing: 20px!important;
331
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;
339
+ border-spacing: 20px!important;
340
+ }
332
341
  .modelButtonCancelOne{
333
342
  width: 170px!important;
334
343
  height: 40px!important;