react_hsbc_teller 2.0.82 → 2.0.84

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": "2.0.82",
3
+ "version": "2.0.84",
4
4
  "description": "React",
5
5
  "private": false,
6
6
  "main": "lib/hsbc.js",
@@ -46,6 +46,7 @@ import recordErrorAudio from '../../assets/mp3/record_error.mp3'
46
46
  import IpadLeaveAudio from '../../assets/mp3/ipad_leave_error.mp3';
47
47
  import IpadLowPowerAudio from '../../assets/mp3/ipad_low_power.mp3';
48
48
  import ipadMediaCloseAudio from '../../assets/mp3/ipad_media_close.mp3';
49
+ import volumeError from '../../assets/mp3/volume_error.mp3'
49
50
  import MediaErrorAudio from '../../assets/mp3/media_error.mp3';
50
51
  import startMediaError from '../../assets/mp3/startMedia_error.mp3'
51
52
  import internalJoin from '../../assets/mp3/internalJoin.mp3'
@@ -65,7 +66,7 @@ import axios from 'axios';
65
66
  import CryptoJS from "crypto-js";
66
67
 
67
68
 
68
- const SDK_VERISON = '2.0.82'
69
+ const SDK_VERISON = '2.0.84'
69
70
  const IDtypeFront = '请客户在其设备后置摄像头下展示证件正面(如:身份证照片页面)'
70
71
  const IDtypeBack = '请在后置摄像头下展示证件反面(如:身份证国徽页)'
71
72
  const { Option } = Select;
@@ -357,7 +358,7 @@ class Video extends Component {
357
358
  gainNodeVolume: 1, // 音量增益节点-用于投屏
358
359
  gainNodeVolumeNew: 1,
359
360
  networkAnomalyModalVisible: false, // 网络异常弹窗
360
-
361
+ isModalVisibleVolume: false, // RM音量异常弹窗
361
362
  };
362
363
  // eslint-disable-next-line no-undef
363
364
  test_controller = '';
@@ -1249,9 +1250,9 @@ class Video extends Component {
1249
1250
  // 人脸识别
1250
1251
  facialRecognition = () => {
1251
1252
  if (this.isFileSuccuse()) {
1252
- this.state.faceCustomerType = 1
1253
1253
  this.setState({
1254
- titleModal: '身份验证'
1254
+ titleModal: '身份验证',
1255
+ faceCustomerType: 1
1255
1256
  })
1256
1257
  this.selectCustomer('facial')
1257
1258
  }
@@ -1364,9 +1365,9 @@ class Video extends Component {
1364
1365
  }
1365
1366
  ocrClick = () => {
1366
1367
  if (this.isFileSuccuse()) {
1367
- this.state.faceCustomerType = 2
1368
1368
  this.setState({
1369
- titleModal: '拍摄证件照片'
1369
+ titleModal: '拍摄证件照片',
1370
+ faceCustomerType: 2
1370
1371
  })
1371
1372
  this.selectCustomer('ocr')
1372
1373
  }
@@ -1429,7 +1430,9 @@ class Video extends Component {
1429
1430
  }
1430
1431
  }
1431
1432
  console.log(list)
1432
- this.state.listVideoPicture = list
1433
+ this.setState({
1434
+ listVideoPicture: list
1435
+ })
1433
1436
  // const width = 640;
1434
1437
  // const height = 360 * this.state.listVideoPicture.length;
1435
1438
  if (val == 'add') {
@@ -1781,8 +1784,10 @@ class Video extends Component {
1781
1784
  }
1782
1785
  handleReceiveMsg = (msg) => {
1783
1786
  console.log(JSON.parse(msg));
1787
+ this.saveLog('IM,' + msg)
1784
1788
  const Mival = JSON.parse(msg);
1785
1789
  if (Mival.typeId == 1210) {
1790
+ this.saveLog('IM TYPE ' + Mival.typeId)
1786
1791
  // 进行初始化操作
1787
1792
  if (Mival.sessionId == this.state.sessionId) {
1788
1793
  if (Mival.type == 1) {
@@ -1806,6 +1811,7 @@ class Video extends Component {
1806
1811
  // }
1807
1812
  // }
1808
1813
  else if (Mival.typeId == 3002) { // app进入后台
1814
+ this.saveLog('IM TYPE ' + Mival.typeId)
1809
1815
  if (Mival.data.sessionId == this.state.sessionId) {
1810
1816
  for(let i=1;i<=12;i++){
1811
1817
  if(Mival.data.userId == (document.getElementById("feedId"+i).innerText ? this.seeList(this.state.roomCustomerList, 'feedId', document.getElementById("feedId"+i).innerText).uid : '')) {
@@ -1821,6 +1827,7 @@ class Video extends Component {
1821
1827
  }
1822
1828
  }
1823
1829
  else if (Mival.typeId == 3003) { // app进入前台
1830
+ this.saveLog('IM TYPE ' + Mival.typeId)
1824
1831
  if (Mival.data.sessionId == this.state.sessionId) {
1825
1832
  for(let i=1;i<=12;i++){
1826
1833
  if(Mival.data.userId == (document.getElementById("feedId"+i).innerText ? this.seeList(this.state.roomCustomerList, 'feedId', document.getElementById("feedId"+i).innerText).uid : '')) {
@@ -1835,6 +1842,7 @@ class Video extends Component {
1835
1842
  }
1836
1843
  }
1837
1844
  else if (Mival.typeId == 5001) { // 客户端离框
1845
+ this.saveLog('IM TYPE ' + Mival.typeId)
1838
1846
  let TITLE = '客户'
1839
1847
  if (Mival.data && Mival.data.userId) {
1840
1848
  if (Mival.data.userId.includes(IPAD_SUFFIX)) {
@@ -1847,6 +1855,7 @@ class Video extends Component {
1847
1855
  // this.saveVideoPoint('ffd', '客户人脸离框');
1848
1856
  }
1849
1857
  else if (Mival.typeId == 5002) { // 客户端背光
1858
+ this.saveLog('IM TYPE ' + Mival.typeId)
1850
1859
  let TITLE = '客户'
1851
1860
  if (Mival.data && Mival.data.userId) {
1852
1861
  if (Mival.data.userId.includes(IPAD_SUFFIX)) {
@@ -1859,6 +1868,7 @@ class Video extends Component {
1859
1868
  // this.saveVideoPoint('env', '客户端背光、曝光过度');
1860
1869
  }
1861
1870
  else if (Mival.typeId == 5003) { // 客户端弱网
1871
+ this.saveLog('IM TYPE ' + Mival.typeId)
1862
1872
  let TITLE = '客户'
1863
1873
  if (Mival.data && Mival.data.userId) {
1864
1874
  if (Mival.data.userId.includes(IPAD_SUFFIX)) {
@@ -1871,6 +1881,7 @@ class Video extends Component {
1871
1881
  // this.saveVideoPoint('wnd', '客户端弱网');
1872
1882
  }
1873
1883
  else if (Mival.typeId == 5004) { // ipad低电量
1884
+ this.saveLog('IM TYPE ' + Mival.typeId)
1874
1885
  this.messageClick('iPad电量过低', 'error', Mival.data.userId)
1875
1886
 
1876
1887
  this.setState({
@@ -1889,6 +1900,7 @@ class Video extends Component {
1889
1900
  setTimeout(this.ipadLowPowerPlay, 0);
1890
1901
  }
1891
1902
  else if (Mival.typeId == 5005) { // 客户端人脸数量变化
1903
+ this.saveLog('IM TYPE ' + Mival.typeId)
1892
1904
  let TITLE = '客户'
1893
1905
  if (Mival.data && Mival.data.userId) {
1894
1906
  if (Mival.data.userId.includes(IPAD_SUFFIX)) {
@@ -1900,15 +1912,18 @@ class Video extends Component {
1900
1912
  this.messageClick(TITLE+'人脸数量发生变化', 'error', Mival.data.userId)
1901
1913
  }
1902
1914
  else if (Mival.typeId == 5006) { // 内网pib检测到敏感词
1915
+ this.saveLog('IM TYPE ' + Mival.typeId)
1903
1916
  this.messageClick(Mival.content, 'error', Mival.data.userId)
1904
1917
  }
1905
1918
  else if (Mival.typeId == 5007) { // ipad充电状态
1919
+ this.saveLog('IM TYPE ' + Mival.typeId)
1906
1920
  if (Mival.type == '1') { // 1充电 2不在充电
1907
1921
  this.setState({ ipadLowPowerErrorModalVisible: false})
1908
1922
  clearTimeout(this.ipadLowPowerPlayTimer)
1909
1923
  }
1910
1924
  }
1911
1925
  else if (Mival.typeId == 1220) {
1926
+ this.saveLog('IM TYPE ' + Mival.typeId)
1912
1927
  // 一炒多的图片 1214
1913
1928
  if (Mival.sessionId == this.state.sessionId) {
1914
1929
  this.saveLog('imgCallback success, typeId=1220, type=' + Mival.data.type)
@@ -1921,9 +1936,11 @@ class Video extends Component {
1921
1936
  ) // 文字抄录和风险抄录,3--风险,,2--文字
1922
1937
  }
1923
1938
  } else if (Mival.typeId == 1321) {
1939
+ this.saveLog('IM TYPE ' + Mival.typeId)
1924
1940
  this.getBase64Image(Mival.fileName)
1925
1941
  this.saveLog('signCallback success, typeId=1321, fileName=' + Mival.fileName)
1926
1942
  } else if (Mival.typeId == 1216) {
1943
+ this.saveLog('IM TYPE ' + Mival.typeId)
1927
1944
  // 签字回调 1213
1928
1945
  if (Mival.sessionId == this.state.sessionId) {
1929
1946
  this.tabTitlesClick('customerScreen', 'delect')
@@ -1933,6 +1950,7 @@ class Video extends Component {
1933
1950
  })
1934
1951
  }
1935
1952
  } else if (Mival.typeId == 1218) {
1953
+ this.saveLog('IM TYPE ' + Mival.typeId)
1936
1954
  if (Mival.sessionId == this.state.sessionId) {
1937
1955
  // 1-开启,2-关闭
1938
1956
  if (Mival.type == 1) {
@@ -1975,6 +1993,7 @@ class Video extends Component {
1975
1993
  // this.state.branchName = Mival.salesBranchName;
1976
1994
  // }
1977
1995
  } else if (Mival.typeId == 3100) {
1996
+ this.saveLog('IM TYPE ' + Mival.typeId)
1978
1997
  if(Mival.data.sessionId == this.state.sessionId) {
1979
1998
  muteJson.set(Mival.data.userId, JSON.stringify(Mival))
1980
1999
  for(let i=1;i<=12;i++){
@@ -1999,6 +2018,7 @@ class Video extends Component {
1999
2018
  }
2000
2019
  }
2001
2020
  } else if (Mival.typeId == 1214) {
2021
+ this.saveLog('IM TYPE ' + Mival.typeId)
2002
2022
  if (Mival.sessionId == this.state.sessionId) {
2003
2023
  this.setState({
2004
2024
  moduleData: Mival,
@@ -2008,6 +2028,7 @@ class Video extends Component {
2008
2028
  })
2009
2029
  }
2010
2030
  } else if (Mival.typeId == 1213) {
2031
+ this.saveLog('IM TYPE ' + Mival.typeId)
2011
2032
  if (Mival.sessionId == this.state.sessionId) {
2012
2033
  this.setState({
2013
2034
  moduleData: Mival,
@@ -2017,6 +2038,7 @@ class Video extends Component {
2017
2038
  })
2018
2039
  }
2019
2040
  } else if (Mival.typeId == 121305) {
2041
+ this.saveLog('IM TYPE ' + Mival.typeId)
2020
2042
  if (Mival.sessionId == this.state.sessionId) {
2021
2043
  this.saveLog('signatureCallback fail, typeId=121305, ')
2022
2044
  this.props.signatureCallback({
@@ -2024,6 +2046,7 @@ class Video extends Component {
2024
2046
  })
2025
2047
  }
2026
2048
  } else if (Mival.typeId == 121405) {
2049
+ this.saveLog('IM TYPE ' + Mival.typeId)
2027
2050
  if (Mival.sessionId == this.state.sessionId) {
2028
2051
  console.log('imgCallback')
2029
2052
  this.saveLog('imgCallback fail, typeId=121405, ')
@@ -2034,11 +2057,13 @@ class Video extends Component {
2034
2057
  })
2035
2058
  }
2036
2059
  } else if (Mival.typeId == 4001) {
2060
+ this.saveLog('IM TYPE ' + Mival.typeId)
2037
2061
  // 手机端停止投屏
2038
2062
  this.tabTitlesClick('customerScreen', 'delect')
2039
2063
  this.saveLog('app stop sharing screen, typeId=4001, ')
2040
2064
 
2041
2065
  } else if (Mival.typeId == 4004) {
2066
+ this.saveLog('IM TYPE ' + Mival.typeId)
2042
2067
  // 线下demo静音处理
2043
2068
  if (Mival.data.sessionId == this.state.sessionId && this.isFileSuccuse()) {
2044
2069
  if (!this.state.voiceStatue) {
@@ -2072,6 +2097,7 @@ class Video extends Component {
2072
2097
  }, 1000);
2073
2098
  }
2074
2099
  } else if (Mival.typeId == 1401) {
2100
+ this.saveLog('IM TYPE ' + Mival.typeId)
2075
2101
  // 用户修改名字
2076
2102
  if (Mival.sessionId == this.state.sessionId) {
2077
2103
  for(let i=1;i<=12;i++){
@@ -2087,6 +2113,7 @@ class Video extends Component {
2087
2113
  }
2088
2114
  }
2089
2115
  } else if (Mival.typeId == 10020) {
2116
+ this.saveLog('IM TYPE ' + Mival.typeId)
2090
2117
  // 录制中断(模拟测试)
2091
2118
  const recordId = Mival.recordId;
2092
2119
 
@@ -2131,12 +2158,14 @@ class Video extends Component {
2131
2158
  // }
2132
2159
 
2133
2160
  } else if (Mival.typeId == 33001 && this.state.sessionId == Mival.data.sessionId) {
2161
+ this.saveLog('IM TYPE ' + Mival.typeId)
2134
2162
  if (Mival.type == 1) {
2135
2163
  this.saveAuthorize(Mival.data.userId)
2136
2164
  this.customerFaceClick(this.state.customerList[this.state.customerSelect - 1])
2137
2165
  }
2138
2166
  console.log('33001 done')
2139
2167
  } else if (Mival.typeId == 2210 && this.state.sessionId == Mival.sessionId) {
2168
+ this.saveLog('IM TYPE ' + Mival.typeId)
2140
2169
  if (Mival.status == 1) {
2141
2170
  // 开启了业务录制
2142
2171
  console.log('业务录制开启')
@@ -2188,10 +2217,13 @@ class Video extends Component {
2188
2217
  if(this.state.isAsrStart) this.stopASR();
2189
2218
  }
2190
2219
  } else if (Mival.typeId == 2002 && this.state.sessionId == Mival.sessionId) {
2220
+ this.saveLog('IM TYPE ' + Mival.typeId)
2191
2221
  // 会议到时间
2192
2222
  console.log('会议超过时间限制')
2223
+ this.saveVideoPoint('leaveTheRoom', 'RM退出-会议超过时间限制')
2193
2224
  this.endSessionValue();
2194
2225
  } else if (Mival.typeId == 990002 && this.state.sessionId == Mival.sessionId) {
2226
+ this.saveLog('IM TYPE ' + Mival.typeId)
2195
2227
  this.props.closePdfCallback({
2196
2228
  step: Mival.data.step
2197
2229
  })
@@ -2415,7 +2447,7 @@ class Video extends Component {
2415
2447
  }
2416
2448
  }
2417
2449
  console.log(objList, objList1, objList2)
2418
- this.saveLog('devicesInfo:' + JSON.stringify(obj1))
2450
+ this.saveLog('devicesInfo:' + JSON.stringify(objList1))
2419
2451
  const cameraList = objList.filter(el => !el.actionname.includes(RECORD_DEVICE_NAME))
2420
2452
  const recorderDevice = objList.find(el => el.actionname.includes(RECORD_DEVICE_NAME))
2421
2453
  this.setState({
@@ -2437,9 +2469,15 @@ class Video extends Component {
2437
2469
  // 麦克风设置默认
2438
2470
  objList1.forEach((item, index) => {
2439
2471
  console.log('audioinputNameList', this.props.audioinputNameList)
2440
- if(this.props.audioinputNameList.indexOf(item.actionname) != -1) {
2441
- microId = index
2442
- }
2472
+ // if(this.props.audioinputNameList.indexOf(item.actionname) != -1) {
2473
+ // microId = index
2474
+ // }
2475
+ this.props.audioinputNameList.forEach((item1, index1) => {
2476
+ if(item.actionname.indexOf(item1) || item1.actionname.indexOf(item)){
2477
+ microId = index
2478
+ }
2479
+
2480
+ })
2443
2481
  console.log(microId)
2444
2482
  // if (item.actionname.indexOf('Microphone Array (Realtek High Definition Audio(SST))') != -1) {
2445
2483
  // microId = index
@@ -2686,7 +2724,7 @@ class Video extends Component {
2686
2724
 
2687
2725
  this.roomCallBack(1, '', 0)
2688
2726
  this.saveLog('mrtc join room success')
2689
-
2727
+ this.saveVideoPoint('joinRoom', 'RM加入房间成功')
2690
2728
  this.state.imStatus = true
2691
2729
  this.saveLog('Join im room')
2692
2730
  console.log('加入IM房间')
@@ -2697,6 +2735,7 @@ class Video extends Component {
2697
2735
  // 加入房间失败
2698
2736
  this.test_controller.OnJoinRoomFailed = (err_code, err_msg) => {
2699
2737
  this.saveLog('mrtc join room failed,' + err_code)
2738
+ this.saveVideoPoint('joinRoom', 'RM加入房间失败')
2700
2739
  console.log('加入房间失败', err_code, err_msg)
2701
2740
  // this.setState({
2702
2741
  // sessionType: false,
@@ -2878,6 +2917,7 @@ class Video extends Component {
2878
2917
  this.setSharedScreenState(true)
2879
2918
  this.setSharedScreenTimer(true)
2880
2919
  this.saveLog('Share success')
2920
+ this.saveVideoPoint('screenCasting', 'RM发布媒体流成功-投屏')
2881
2921
  this.sendMessage({
2882
2922
  'typeId': 2030,
2883
2923
  'sessionId': this.state.sessionId,
@@ -2891,6 +2931,7 @@ class Video extends Component {
2891
2931
  this.videoInfo = this.generateMediaInfo(document.getElementById("video20").name);
2892
2932
  }
2893
2933
  if (sid == document.getElementById('publish_streamId1').name) {
2934
+ this.saveVideoPoint('releaseStream', 'RM发布媒体流成功-摄像头')
2894
2935
  this.state.publishSid = document.getElementById('publish_streamId1').name
2895
2936
  this.setState({
2896
2937
 
@@ -2949,6 +2990,7 @@ class Video extends Component {
2949
2990
  transcribeErrorModalVisible: true
2950
2991
  })
2951
2992
  this.roomCallBack(2, '发布失败', '4-' + err_code)
2993
+ this.saveVideoPoint('releaseStream', 'RM发布媒体流失败-摄像头')
2952
2994
  } else {
2953
2995
  this.test_controller.UnPublish(sid)
2954
2996
  let message = '投屏失败请重新投屏'
@@ -2966,6 +3008,7 @@ class Video extends Component {
2966
3008
  this.setSharedScreenState(false)
2967
3009
  this.setSharedScreenTimer(false)
2968
3010
  this.saveLog('Share fail, code=' + err_code)
3011
+ this.saveVideoPoint('screenCasting', 'RM发布媒体流失败-投屏')
2969
3012
  }
2970
3013
 
2971
3014
  };
@@ -3477,31 +3520,37 @@ class Video extends Component {
3477
3520
  this.state.recordId = record_id
3478
3521
  this.videoRecordCallback('1', true)
3479
3522
  this.saveLog('mrtc OnStartRemoteRecordSucc')
3523
+ this.saveVideoPoint('recordingStatus', '开始录制成功_全局')
3480
3524
  } else if (String(record_third_id).includes('_ipad')){
3481
3525
  this.state.ipadRecordId = record_id
3482
3526
  const busId = Number(record_third_id.split('_')[0])
3483
3527
  this.ipadRecordCallback('1', true, busId)
3484
3528
  this.saveLog('mrtc OnStartIpadRecordSucc')
3529
+ this.saveVideoPoint('recordingStatus', '开始录制成功_ipad')
3485
3530
  } else if (String(record_third_id).includes('_presale')){
3486
3531
  // full录制的音频
3487
3532
  this.state.presaleRecordId = record_id
3488
3533
  this.audioPresaleRecordCallback('1', true)
3489
3534
  this.saveLog('mrtc OnStartPresaleRecordSucc')
3535
+ this.saveVideoPoint('recordingStatus', '开始录制成功_presale')
3490
3536
  } else if (String(record_third_id).includes('_sale')){
3491
3537
  // 业务录制的音频
3492
3538
  this.state.salePresaleRecordId = record_id
3493
3539
  this.audioSalePresaleRecordCallback('1', true)
3494
3540
  this.saveLog('mrtc OnStartSalePresaleRecordSucc')
3541
+ this.saveVideoPoint('recordingStatus', '开始录制成功_sale')
3495
3542
  } else if (String(record_third_id).includes('_supplesale')){
3496
3543
  // 补录业务录制的音频
3497
3544
  this.state.supplesalePresaleRecordId = record_id
3498
3545
  this.audiosuppleSalePresaleRecordCallback('1', true)
3499
3546
  this.saveLog('mrtc OnStartSuppleSalePresaleRecordSucc')
3547
+ this.saveVideoPoint('recordingStatus', '开始录制成功_supplesale')
3500
3548
  } else {
3501
3549
  // 业务录制
3502
3550
  this.state.businessRecordId = record_id
3503
3551
  this.businessRecordCallback('1', true, record_third_id)
3504
3552
  this.saveLog('mrtc OnStartRemoteBusinessRecordSucc, businessId=' + record_third_id)
3553
+ this.saveVideoPoint('recordingStatus', '开始录制成功_业务')
3505
3554
  }
3506
3555
  // 判断是否是开启的音频录制 调用后台接口多isAudio --0否1是
3507
3556
  if (this.state.isRecordingeErrorModalVisible) {
@@ -3521,28 +3570,34 @@ class Video extends Component {
3521
3570
  if (!record_third_id) {
3522
3571
  this.videoRecordCallback('1', false)
3523
3572
  this.saveLog('mrtc OnStartRemoteRecordFailed, code='+err_code)
3573
+ this.saveVideoPoint('recordingStatus', '开始录制失败_全局')
3524
3574
  } else if (String(record_third_id).includes('_ipad')){
3525
3575
  const busId = Number(record_third_id.split('_')[0])
3526
3576
  this.ipadRecordCallback('1', false, busId)
3527
3577
  this.saveLog('mrtc OnStartIpadRecordFailed, code='+err_code)
3578
+ this.saveVideoPoint('recordingStatus', '开始录制失败_ipad')
3528
3579
  } else if (String(record_third_id).includes('_presale')){
3529
3580
  // full录制的音频
3530
3581
  this.state.presaleRecordId = ''
3531
3582
  this.audioPresaleRecordCallback('1', false)
3532
3583
  this.saveLog('mrtc OnStartPresaleRecordFailed, code=' + err_code)
3584
+ this.saveVideoPoint('recordingStatus', '开始录制失败_presale')
3533
3585
  } else if (String(record_third_id).includes('_sale')){
3534
3586
  // 业务录制的音频
3535
3587
  this.state.salePresaleRecordId = ''
3536
3588
  this.audioSalePresaleRecordCallback('1', false)
3537
3589
  this.saveLog('mrtc OnStartSalePresaleRecordFailed, code=' + err_code)
3590
+ this.saveVideoPoint('recordingStatus', '开始录制失败_sale')
3538
3591
  } else if (String(record_third_id).includes('_supplesale')){
3539
3592
  // 补录业务录制的音频
3540
3593
  this.state.supplesalePresaleRecordId = ''
3541
3594
  this.audiosuppleSalePresaleRecordCallback('1', false)
3542
3595
  this.saveLog('mrtc OnStartSuppleSalePresaleRecordFailed, code=' + err_code)
3596
+ this.saveVideoPoint('recordingStatus', '开始录制失败_supplesale')
3543
3597
  } else {
3544
3598
  this.businessRecordCallback('1', false, record_third_id)
3545
3599
  this.saveLog('mrtc OnStartRemoteBusinessRecordFailed, code='+err_code + ',businessId=' + record_third_id)
3600
+ this.saveVideoPoint('recordingStatus', '开始录制失败_业务录制')
3546
3601
  }
3547
3602
  this.roomCallBack(2, '开始服务端录制失败', 'record-' + err_code)
3548
3603
  };
@@ -3557,30 +3612,36 @@ class Video extends Component {
3557
3612
  if (!record_third_id) {
3558
3613
  this.videoRecordCallback('2', true)
3559
3614
  this.saveLog('mrtc OnStopRemoteRecordSucc, recordId='+recordId)
3615
+ this.saveVideoPoint('recordingStatus', '结束录制成功_业务')
3560
3616
  this.state.recordId = '';
3561
3617
  } else if (String(record_third_id).includes('_ipad')){
3562
3618
  const busId = Number(record_third_id.split('_')[0])
3563
3619
  this.ipadRecordCallback('2', true, busId)
3564
3620
  this.saveLog('mrtc OnStopIpadRecordSucc, recordId='+recordId)
3621
+ this.saveVideoPoint('recordingStatus', '结束录制成功_ipad')
3565
3622
  this.state.ipadRecordId = '';
3566
3623
  } else if (String(record_third_id).includes('_presale')){
3567
3624
  // full录制的音频
3568
3625
  this.state.presaleRecordId = ''
3569
3626
  this.audioPresaleRecordCallback('2', true)
3570
3627
  this.saveLog('mrtc OnStopPresaleRecordSucc, recordId='+recordId)
3628
+ this.saveVideoPoint('recordingStatus', '结束录制成功_presale')
3571
3629
  } else if (String(record_third_id).includes('_sale')){
3572
3630
  // 业务录制的音频
3573
3631
  this.state.salePresaleRecordId = ''
3574
3632
  this.audioSalePresaleRecordCallback('2', true)
3575
3633
  this.saveLog('mrtc OnStopSalePresaleSucc, recordId='+recordId)
3634
+ this.saveVideoPoint('recordingStatus', '结束录制成功_sale')
3576
3635
  } else if (String(record_third_id).includes('_supplesale')){
3577
3636
  // 补录业务录制的音频
3578
3637
  this.state.supplesalePresaleRecordId = ''
3579
3638
  this.audiosuppleSalePresaleRecordCallback('2', true)
3580
3639
  this.saveLog('mrtc OnStopSuppleSalePresaleRecordSucc, recordId='+recordId)
3640
+ this.saveVideoPoint('recordingStatus', '结束录制成功_supplesale')
3581
3641
  } else {
3582
3642
  this.businessRecordCallback('2', true, record_third_id)
3583
3643
  this.saveLog('mrtc OnStopRemoteBusinessRecordSucc, recordId='+recordId + ',businessId=' + record_third_id)
3644
+ this.saveVideoPoint('recordingStatus', '结束录制成功_业务')
3584
3645
  this.state.businessRecordId = '';
3585
3646
  }
3586
3647
  // 获取服务端录制结果
@@ -3600,27 +3661,33 @@ class Video extends Component {
3600
3661
  if (!record_third_id) {
3601
3662
  this.videoRecordCallback('2', false)
3602
3663
  this.saveLog('mrtc OnStopRemoteRecordFailed, err_code='+err_code)
3664
+ this.saveVideoPoint('recordingStatus', '结束录制失败_全局')
3603
3665
  } else if (String(record_third_id).includes('_ipad')){
3604
3666
  const busId = Number(record_third_id.split('_')[0])
3605
3667
  this.ipadRecordCallback('2', false, busId)
3606
3668
  this.saveLog('mrtc OnStopIpadRecordFailed, err_code='+err_code)
3669
+ this.saveVideoPoint('recordingStatus', '结束录制失败_ipad')
3607
3670
  } else if (String(record_third_id).includes('_presale')){
3608
3671
  // full录制的音频
3609
3672
  this.state.presaleRecordId = ''
3610
3673
  this.audioPresaleRecordCallback('2', false)
3611
3674
  this.saveLog('mrtc OnStopPresaleRecordFailed, err_code='+err_code)
3675
+ this.saveVideoPoint('recordingStatus', '结束录制失败_presale')
3612
3676
  } else if (String(record_third_id).includes('_sale')){
3613
3677
  // 业务录制的音频
3614
3678
  this.state.salePresaleRecordId = ''
3615
3679
  this.audioSalePresaleRecordCallback('2', false)
3616
3680
  this.saveLog('mrtc OnStopSalePresaleFailed, err_code='+err_code)
3681
+ this.saveVideoPoint('recordingStatus', '结束录制失败_sale')
3617
3682
  } else if (String(record_third_id).includes('_supplesale')){
3618
3683
  // 补录业务录制的音频
3619
3684
  this.state.supplesalePresaleRecordId = ''
3620
3685
  this.audiosuppleSalePresaleRecordCallback('2', false)
3621
3686
  this.saveLog('mrtc OnStopSuppleSalePresaleRecordFailed, err_code='+err_code)
3687
+ this.saveVideoPoint('recordingStatus', '结束录制失败_supplesale')
3622
3688
  } else {
3623
3689
  this.businessRecordCallback('2', false, record_third_id)
3690
+ this.saveVideoPoint('recordingStatus', '结束录制失败_业务录制')
3624
3691
  this.saveLog('mrtc OnStopRemoteBusinessRecordFailed, err_code='+err_code+',businessId=' + record_third_id)
3625
3692
  }
3626
3693
 
@@ -3864,6 +3931,7 @@ class Video extends Component {
3864
3931
  console.log('服务端录制初始化成功', record_id, record_third_id)
3865
3932
  };
3866
3933
  this.test_controller.OnVolumeAnalyser = (sid, analyser) => {
3934
+ console.log('analyser',analyser)
3867
3935
  clearInterval(this.state.OnVolumeAnalyserMap.get(sid))
3868
3936
  let publish_sid = (document.getElementById('publish_video1') ? document.getElementById('publish_video1').name : '') || (document.getElementById('publish_streamId1') ? document.getElementById('publish_streamId1').name : '');
3869
3937
  let subscribe_sid1 = (document.getElementById('video1') ? document.getElementById('video1').name : '') || (document.getElementById('audio1') ? document.getElementById('audio1').name : '');
@@ -3881,9 +3949,17 @@ class Video extends Component {
3881
3949
  let subscribe_sid12 = (document.getElementById('video12') ? document.getElementById('video12').name : '') || (document.getElementById('audio12') ? document.getElementById('audio12').name : '');
3882
3950
 
3883
3951
  let volumeView;
3952
+ // RM音量处理:新增提示,当rm非静音的情况下,音量为0,提示 voiceStatue--为false RM端是非静音的状态
3884
3953
  switch (sid) {
3885
3954
  case publish_sid:
3886
3955
  volumeView = "publish_volumeView";
3956
+ if (!this.volumeFunctionTimer && this.state.voiceStatue == false && this.state.analyserHeight.get(sid) == 0) {
3957
+ this.volumeFunctionTimer = setTimeout(this.volumeFunction.bind(this, sid), 15000)
3958
+ }
3959
+ if (this.volumeFunctionTimer && this.state.voiceStatue == false && this.state.analyserHeight.get(sid) != 0) {
3960
+ clearTimeout(this.volumeFunctionTimer)
3961
+ this.volumeFunctionTimer = null
3962
+ }
3887
3963
  break;
3888
3964
  case subscribe_sid1:
3889
3965
  volumeView = "subscribe_volumeView1";
@@ -3961,6 +4037,7 @@ class Video extends Component {
3961
4037
  this.state.analyserHeight = this.state.analyserHeight
3962
4038
  }
3963
4039
  }
4040
+ console.log('this.state.analyserHeight', this.state.analyserHeight, this.state.analyserHeight.get(sid))
3964
4041
  this.state.OnVolumeAnalyserMap.set(sid, setInterval(
3965
4042
  this.test_controller.OnVolumeAnalyser.bind(this, sid, analyser),
3966
4043
  300
@@ -4278,6 +4355,8 @@ class Video extends Component {
4278
4355
  clearTimeout(this.ipadLowPowerPlayTimer)
4279
4356
  clearTimeout(this.mediaErrorPlayTimer)
4280
4357
  clearTimeout(this.screenSharedTimer)
4358
+ clearTimeout(this.volumeFunctionTimer)
4359
+ clearTimeout(this.volumePlayTimer)
4281
4360
  clearInterval(this.state.drawCanvasInterval)
4282
4361
  clearInterval(this.state.faceDetectionTimer);
4283
4362
  clearInterval(this.state.imageDetectionTimer);
@@ -5177,6 +5256,7 @@ class Video extends Component {
5177
5256
  })
5178
5257
  };
5179
5258
  handleOkEnd = () => {
5259
+ this.saveVideoPoint('leaveTheRoom', 'RM退出-结束按钮')
5180
5260
  this.endSessionValue();
5181
5261
  this.setState({
5182
5262
  isModalVisibleEnd: false
@@ -7177,6 +7257,41 @@ class Video extends Component {
7177
7257
  gainNodeVolumeNew: value
7178
7258
  })
7179
7259
  }
7260
+ // RM音量处理
7261
+ volumeFunction(sid) {
7262
+ console.log('this.state.analyserHeight', this.state.analyserHeight, this.state.analyserHeight.get(sid))
7263
+ if (this.state.voiceStatue == false && this.state.analyserHeight.get(sid) == 0) {
7264
+ // this.messageClick('当前音量为0,请检查设备', 'error')
7265
+ this.setState({
7266
+ isModalVisibleVolume: true,
7267
+ })
7268
+ clearTimeout(this.volumePlayTimer)
7269
+ this.volumePlay = () => {
7270
+ if (this.state.isModalVisibleVolume) {
7271
+ if (this.volumeAudio) this.volumeAudio.pause()
7272
+ this.volumeAudio = new Audio(volumeError)
7273
+ this.volumeAudio.play()
7274
+ this.volumePlayTimer = setTimeout(this.volumePlay, 3000);
7275
+ console.log('this.state.analyserHeight111', this.volumePlayTimer)
7276
+ }
7277
+ }
7278
+ setTimeout(this.volumePlay, 0);
7279
+ }
7280
+ }
7281
+ // RM音量异常弹框取消
7282
+ handleCancelVolume = () => {
7283
+ clearTimeout(this.volumePlayTimer)
7284
+ clearTimeout(this.volumeFunctionTimer)
7285
+ this.volumeFunctionTimer = null
7286
+ this.setState({isModalVisibleVolume: false})
7287
+ }
7288
+ //RM音量异常弹框刷新
7289
+ handleOkVolume = () => {
7290
+ clearTimeout(this.volumePlayTimer)
7291
+ clearTimeout(this.volumeFunctionTimer)
7292
+ this.volumeFunctionTimer = null
7293
+ location.reload(false);
7294
+ }
7180
7295
  render() {
7181
7296
  const { meetingInfo, isTranscribing } = this.props
7182
7297
  var pdfChildren
@@ -8070,6 +8185,7 @@ class Video extends Component {
8070
8185
  key="5" className={this.state.envInfo.networkResult=='不合格'? 'panel-error':''} >
8071
8186
  <p className='envClass'>网络状态:{this.state.envInfo.networkStatus}</p>
8072
8187
  {this.state.envInfo.networkInfo?<p className='envClass'>{this.state.envInfo.networkInfo}</p>:null}
8188
+ <p className='envClass'>检测标准:预估下行速度/带宽应大于0.2Mb/s</p>
8073
8189
  </Panel>
8074
8190
  <Panel header={<span>设备电量 - {this.state.envInfo.batteryResult} {this.state.envInfo.batteryResult=='不合格'? <img src={IconFail} />: <img src={IconSuccess} />} </span>}
8075
8191
  key="2" className={this.state.envInfo.batteryResult=='不合格'? 'panel-error':''}>
@@ -8147,6 +8263,15 @@ class Video extends Component {
8147
8263
  </Panel>
8148
8264
  </Collapse>
8149
8265
  </Modal>
8266
+ {/* RM音量处理,当为0的时候弹窗处理*/}
8267
+ <Modal closable={false} centered={true} visible={this.state.isModalVisibleVolume} maskClosable={false} footer={[
8268
+ <div key='end'>
8269
+ <Button className="modelButtonCancel" onClick={this.handleCancelVolume}>取消</Button>
8270
+ <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkVolume}>刷新</Button>
8271
+ </div>
8272
+ ]}>
8273
+ <div className='endModal'>当前设备音量为0,请检查设备</div>
8274
+ </Modal>
8150
8275
  <video className="mixedvideo" id="mixedvideo" autoPlay muted={true} width="0" height="0"></video>
8151
8276
  <video className="mixedvideo" id="manedvideo" autoPlay width="0" height="0"></video>
8152
8277
  <video className="mixedvideo" id="video30" autoPlay width="0" height="0"></video>