react_hsbc_teller 1.0.5 → 1.0.8

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.0.5",
3
+ "version": "1.0.8",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -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
- {/* <Pdf></Pdf> */}
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">结束</span>
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,7 @@ width: 100%;
31
34
  margin-top: 8px;
32
35
  padding-bottom: 10px;
33
36
  text-align: center;
34
- width: 80px;
37
+ max-width: 110px;
35
38
  height: 11px;
36
39
  font-size: 14px;
37
40
  font-family: PingFangSC-Regular, PingFang SC;
@@ -50,7 +53,7 @@ line-height: 11px;
50
53
  .buttonClass{
51
54
  font-size: 16px;
52
55
  color: #ffffff;
53
- width: 70px;
56
+ width: 90px;
54
57
  height: 32px;
55
58
  background: #B70000;
56
59
  border-radius: 6px;
@@ -8,7 +8,7 @@ export default class header extends Component {
8
8
  return(
9
9
  <div className="Hamburger">
10
10
  <div className="left-header">
11
- <div className="title">汇丰银行营业厅</div>
11
+ <div className="title">汇丰银行远程会议</div>
12
12
  </div>
13
13
  </div>
14
14
  )
@@ -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
- interval = setInterval(() => {
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
- }, 100);
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
- clearInterval(interval);
895
+ worker.postMessage(false);
881
896
  this.state.isPictureInPicture = false
882
897
  });
883
898
  }
@@ -1117,7 +1132,7 @@ class Video extends Component {
1117
1132
  this.pictureInPicture('Refresh')
1118
1133
  }
1119
1134
  }
1120
- else if (Mival.typeId == 1215) {
1135
+ else if (Mival.typeId == 1220) {
1121
1136
  // 一炒多的图片
1122
1137
  if (Mival.sessionId == this.state.sessionId) {
1123
1138
  this.props.imgCallback(Mival.data.type, Mival.data.file) // 文字抄录和风险抄录,3--风险,,2--文字
@@ -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
  })
@@ -2002,7 +2021,7 @@ class Video extends Component {
2002
2021
  this.state.isSharedScreen = false
2003
2022
  this.setState({
2004
2023
 
2005
- screenName: '投屏'
2024
+ screenName: '共享模式'
2006
2025
  });
2007
2026
  this.tabTitlesClick('RMScreen', 'delect')
2008
2027
  if (this.state.isPictureInPicture) {
@@ -2288,10 +2307,10 @@ class Video extends Component {
2288
2307
  // 切流成功通知
2289
2308
  this.test_controller.OnChangeMediaStreamSuccess = (sid) => {
2290
2309
  console.log('切流成功通知', sid);
2291
- if(this.state.isModalVisibleInspection) {
2292
- this.messageClick('切换摄像头或麦克风成功','success')
2310
+ if(this.state.loading) {
2311
+ this.messageClick('摄像头或麦克风切换成功','success')
2293
2312
  this.setState({
2294
- isModalVisibleInspection: false
2313
+ loading: false
2295
2314
  })
2296
2315
  }
2297
2316
 
@@ -2303,7 +2322,12 @@ class Video extends Component {
2303
2322
  msg
2304
2323
  ) => {
2305
2324
  console.log('切流失败通知', sid, code, msg)
2325
+ if(this.state.loading) {
2326
+ this.setState({
2327
+ loading: false
2328
+ })
2306
2329
  this.messageClick('切换摄像头或麦克风失败,请先检查设备','error')
2330
+ }
2307
2331
  };
2308
2332
  // 服务端录制初始化成功
2309
2333
  this.test_controller.OnInitRemoteRecordSucc = (
@@ -2504,7 +2528,7 @@ class Video extends Component {
2504
2528
  this.timer && clearInterval(this.timer);
2505
2529
  if(this.state.isSharedScreen) {
2506
2530
  this.setState({
2507
- screenName: '投屏',
2531
+ screenName: '共享模式',
2508
2532
  })
2509
2533
  this.state.isSharedScreen = false
2510
2534
  this.state.laveRoomSharedScreen = true
@@ -2519,7 +2543,7 @@ class Video extends Component {
2519
2543
  })
2520
2544
  } else {
2521
2545
  this.setState({
2522
- screenName: '投屏',
2546
+ screenName: '共享模式',
2523
2547
  });
2524
2548
  this.state.isSharedScreen = false
2525
2549
  this.state.laveRoomSharedScreen = true
@@ -2811,7 +2835,7 @@ class Video extends Component {
2811
2835
  this.state.isSharedScreen = false
2812
2836
  this.state.isScreenSwitching = false
2813
2837
  this.setState({
2814
- screenName: '投屏'
2838
+ screenName: '共享模式'
2815
2839
  });
2816
2840
  console.log(pictureInPictureVideo)
2817
2841
  this.tabTitlesClick('RMScreen', 'delect')
@@ -2844,7 +2868,7 @@ class Video extends Component {
2844
2868
  this.tabTitlesClick(
2845
2869
  {
2846
2870
  value: 'RMScreen',
2847
- name: '坐席投屏'
2871
+ name: '共享内容'
2848
2872
  }, 'add'
2849
2873
  )
2850
2874
  if (!this.state.isPictureInPicture) {
@@ -2977,9 +3001,6 @@ class Video extends Component {
2977
3001
  };
2978
3002
  // 坐席签字
2979
3003
  transcribingClick = () => {
2980
- this.setState({
2981
- isModalVisibleSign: true,
2982
- })
2983
3004
  };
2984
3005
  invitationClick = () => {
2985
3006
  this.state.linkData = ''
@@ -3065,7 +3086,6 @@ class Video extends Component {
3065
3086
  })
3066
3087
  }
3067
3088
  componentWillReceiveProps(props) {
3068
- console.log('componentWillReceiveProps',props)
3069
3089
  this.state.channelId = props.roomId,
3070
3090
  this.state.rtoken = props.mtoken,
3071
3091
  this.state.sessionId = props.sessionId,
@@ -3222,38 +3242,10 @@ class Video extends Component {
3222
3242
  })
3223
3243
  }
3224
3244
  }
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
3245
  handleOkSign = () => {
3247
- this.setState({
3248
- isModalVisibleSign: false,
3249
- })
3250
- console.log(this.signCanvas.current.canvas.drawing.toDataURL('image/png'))
3251
3246
  this.props.imgRMCallback(
3252
3247
  this.signCanvas.current.canvas.drawing.toDataURL('image/png').replace(/data.+?;base64,/, "")
3253
3248
  )
3254
- // this.counterSign({
3255
- // file: this.signCanvas.current.canvas.drawing.toDataURL('image/png')
3256
- // })
3257
3249
  }
3258
3250
  switchExternal = () => {
3259
3251
  if (!this.state.isWhiteboard) {
@@ -3313,11 +3305,16 @@ class Video extends Component {
3313
3305
  this.test_controller.GetDevices()
3314
3306
  }
3315
3307
  handleOkInspection = () => {
3308
+ this.setState({
3309
+ isModalVisibleInspection: false,
3310
+ loading: true
3311
+ })
3316
3312
  const config = {}
3317
3313
  config.sid = document.getElementById('publish_video1').name
3318
3314
  config.videoSource = this.state.cameraValue
3319
3315
  config.audioSource = this.state.microphoneValue
3320
3316
  this.test_controller.ChangeProfile(config)
3317
+
3321
3318
  }
3322
3319
  handleCancelInspection = () => {
3323
3320
  this.setState({
@@ -3345,11 +3342,26 @@ class Video extends Component {
3345
3342
  }
3346
3343
  }
3347
3344
  render() {
3348
- const { meetingInfo } = this.props
3345
+ const { meetingInfo,isTranscribing } = this.props
3349
3346
  var pdfChildren
3350
3347
  if (this.props.children) {
3351
3348
  pdfChildren = React.cloneElement(this.props.children, { width: this.state.whiteboardWidth, height: this.state.whiteboardHeight, show: this.state.isSelect == 'RMWhiteboard'})
3352
3349
  }
3350
+ const otherAttendeesList = (
3351
+ <span className='labelClass'>
3352
+ {(meetingInfo.otherAttendees ? meetingInfo.otherAttendees.length>0 ? true : false : false) &&
3353
+ meetingInfo.otherAttendees.map((item, index) => {
3354
+ return <label key={index}>
3355
+ {item}
3356
+ {
3357
+ meetingInfo.otherAttendees.length > 0 && index != meetingInfo.otherAttendees.length - 1 && <label>,</label>
3358
+ }
3359
+
3360
+ </label>
3361
+ })
3362
+ }
3363
+ </span>
3364
+ )
3353
3365
  const customerNameList = (
3354
3366
  <span className='labelClass'>
3355
3367
  {
@@ -3447,9 +3459,9 @@ class Video extends Component {
3447
3459
  <Header></Header>
3448
3460
  <div className="health">
3449
3461
  <div className="healthVideo">
3450
- <div className="projection">
3462
+ <div className="projection" style={{background: this.state.tabTitles.length > 0 ? '#f0f0f0' : '#ffffff'}}>
3451
3463
  {tabTitleList}
3452
- <img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" />
3464
+ {/* <img style={sectionStyle} src={require("../../assets/img/placeholder_bg.png").default} alt="" /> */}
3453
3465
  <div id="whiteboardDIV" style={{height: this.state.tabTitles.length > 0 ? 'calc(100% - 33px)' : '100%'}}>
3454
3466
 
3455
3467
  <div className="videoDiv" style={{ display: (this.state.isSelect == 'RMScreen') ? '' : 'none', }}>
@@ -3465,7 +3477,8 @@ class Video extends Component {
3465
3477
  </div>
3466
3478
 
3467
3479
  </div>
3468
- <div className="videoDiv" style={{ display: (this.state.isSelect == 'RMWhiteboard') ? '' : 'none', }}>
3480
+ {/* <div className="videoDiv" style={{ display: (this.state.isSelect == 'RMWhiteboard') ? '' : 'none', }}> */}
3481
+ <div className="videoDiv">
3469
3482
  <div id="touBoxItem">
3470
3483
  {pdfChildren}
3471
3484
  </div>
@@ -3497,9 +3510,17 @@ class Video extends Component {
3497
3510
  <label className='labelClass'>{meetingInfo.host}</label>
3498
3511
  </li>
3499
3512
  <li>
3500
- <span>参会者:</span>
3513
+ <span>客户:</span>
3501
3514
  {customerNameList}
3502
3515
  </li>
3516
+ {
3517
+ (meetingInfo.otherAttendees ? meetingInfo.otherAttendees.length>0 ? true : false : false) && <li>
3518
+ <span>其他参会者:</span>
3519
+ {otherAttendeesList}
3520
+ </li>
3521
+ }
3522
+
3523
+
3503
3524
  </ul>
3504
3525
  </div>
3505
3526
  </div>
@@ -3919,7 +3940,7 @@ class Video extends Component {
3919
3940
  <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}>确定</Button>
3920
3941
  </div>
3921
3942
  ]}>
3922
- <div className='endModal'>确定是否结束会话?</div>
3943
+ <div className='endModal'>是否要结束并退出会议?</div>
3923
3944
  </Modal>
3924
3945
  <Modal title={this.state.titleModal} closable={false} centered={true} visible={this.state.isModalVisibleFacial} footer={[
3925
3946
  <div key='facial'>
@@ -3938,7 +3959,7 @@ class Video extends Component {
3938
3959
  </div>
3939
3960
 
3940
3961
  </Modal> */}
3941
- <Modal className="modelClass" title="新增预约" closable={false} centered={true} visible={this.state.isModalVisibleInvitation} footer={[
3962
+ <Modal className="modelClass" title="邀请参会人员" closable={false} centered={true} visible={this.state.isModalVisibleInvitation} footer={[
3942
3963
  <div key='invitation'>
3943
3964
  <Button className="modelButtonCancel" onClick={this.handleCancelInvitation}>取消</Button>
3944
3965
  {
@@ -3973,7 +3994,7 @@ class Video extends Component {
3973
3994
  }
3974
3995
 
3975
3996
  </Modal>
3976
- <Modal title="签字白板" width={600} destroyOnClose={true} closable={false} centered={true} visible={this.state.isModalVisibleSign} footer={
3997
+ <Modal title="签字白板" width={600} destroyOnClose={true} closable={false} centered={true} visible={isTranscribing} footer={
3977
3998
  [
3978
3999
  <div key='okSign'>
3979
4000
  <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkSign}>确定</Button>
@@ -3992,21 +4013,21 @@ class Video extends Component {
3992
4013
  ></CanvasDraw>
3993
4014
  </div>
3994
4015
  </Modal>
3995
- <Modal title="设备检测" closable={false} centered={true} visible={this.state.isModalVisibleInspection} footer={[
4016
+ <Modal title="设置视频设备" closable={false} centered={true} visible={this.state.isModalVisibleInspection} footer={[
3996
4017
  <div key='inspection'>
3997
4018
  <Button className="modelButtonCancel" onClick={this.handleCancelInspection}>取消</Button>
3998
4019
  <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkInspection}>确定</Button>
3999
4020
  </div>
4000
4021
  ]}>
4001
4022
  <div className="inspection">
4002
- <div>摄像头设备:</div>
4023
+ <div>摄像头:</div>
4003
4024
  {camera}
4004
- <div>麦克风设备:</div>
4025
+ <div>麦克风:</div>
4005
4026
  {microphone}
4006
4027
  {
4007
4028
  this.state.speakerList.length > 0 &&
4008
4029
  <span>
4009
- <div>扬声器设备:</div>
4030
+ <div>扬声器:</div>
4010
4031
  {speaker}
4011
4032
  </span>
4012
4033
  }
@@ -4025,7 +4046,7 @@ imRoomId: "Fwua8kGB6@conference.openfire2.leimondata.cn",
4025
4046
  sessionId: "Fwua8kGB6",
4026
4047
  tellerAccount: 't001',
4027
4048
  businessNumber: '123',
4028
- callbackUrl: 'http://47.102.126.132:8720/hsbc/callback',
4049
+ callbackUrl: 'http://182.92.184.31:8720/hsbc/callback',
4029
4050
  // roomServerUrl: 'wss://app.uat.dsp.hsbcfts.com.cn/mpaas/mrtc/ws',
4030
4051
  roomServerUrl: 'wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws',
4031
4052
 
@@ -4043,7 +4064,8 @@ sessionId: "Fwua8kGB6",
4043
4064
  meetingInfo: {
4044
4065
  title: '--',
4045
4066
  host: '--',
4046
- customers: ['--']
4067
+ customers: ['--'],
4068
+ otherAttendees: undefined
4047
4069
  },
4048
4070
  isTranscribing: false,
4049
4071
  }
@@ -164,7 +164,7 @@
164
164
  .projection{
165
165
  width: 80%;
166
166
  position: relative;
167
- background: #f3f3f3;
167
+ // background: #fff;
168
168
  color: #333;
169
169
  border-radius: 0 4px 4px 4px;
170
170
  text-align: left;