react_hsbc_teller 2.0.69 → 2.0.71
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.
|
@@ -46,11 +46,13 @@ import IpadLeaveAudio from '../../assets/mp3/ipad_leave_error.mp3';
|
|
|
46
46
|
import IpadLowPowerAudio from '../../assets/mp3/ipad_low_power.mp3';
|
|
47
47
|
import ipadMediaCloseAudio from '../../assets/mp3/ipad_media_close.mp3';
|
|
48
48
|
import MediaErrorAudio from '../../assets/mp3/media_error.mp3';
|
|
49
|
+
import startMediaError from '../../assets/mp3/startMedia_error.mp3'
|
|
49
50
|
import internalJoin from '../../assets/mp3/internalJoin.mp3'
|
|
50
51
|
import internalLeft from '../../assets/mp3/internalLeft.mp3'
|
|
51
52
|
import leftMetting from '../../assets/mp3/leftmeeting.mp3'
|
|
52
53
|
import networkWeakAudio from '../../assets/mp3/networkweak.mp3'
|
|
53
54
|
import PIPictureClosedAudio from '../../assets/mp3/pip_close.mp3'
|
|
55
|
+
import connectErrorAudio from '../../assets/mp3/connect_error.mp3'
|
|
54
56
|
import screenSharedIntervalAudio from '../../assets/mp3/share_stop_audio.mp3'
|
|
55
57
|
import errorPng from '../../assets/img/tooltips2_fail.png'
|
|
56
58
|
import styled from 'styled-components';
|
|
@@ -61,7 +63,7 @@ import MultiModule from '../multiModule/multiModule'//签字、抄录
|
|
|
61
63
|
import axios from 'axios';
|
|
62
64
|
import CryptoJS from "crypto-js";
|
|
63
65
|
|
|
64
|
-
const SDK_VERISON = '2.0.
|
|
66
|
+
const SDK_VERISON = '2.0.71'
|
|
65
67
|
const IDtypeFront = '请客户在其设备后置摄像头下展示证件正面(如:身份证照片页面)'
|
|
66
68
|
const IDtypeBack = '请在后置摄像头下展示证件反面(如:身份证国徽页)'
|
|
67
69
|
const { Option } = Select;
|
|
@@ -344,6 +346,14 @@ class Video extends Component {
|
|
|
344
346
|
certificateValidityType: true,
|
|
345
347
|
drawCanvasInterval: null,
|
|
346
348
|
faceDetectionTimer: null, // 人脸检测定时器
|
|
349
|
+
mediaErrorModalMessage: '',
|
|
350
|
+
transcribeErrorModalVisible: false, // 双录异常
|
|
351
|
+
transcribeErrorCode: '',
|
|
352
|
+
presaleRecordId: '',
|
|
353
|
+
ipadsaleRecordId: '',
|
|
354
|
+
salePresaleRecordId: '',
|
|
355
|
+
supplesalePresaleRecordId: ''
|
|
356
|
+
|
|
347
357
|
};
|
|
348
358
|
// eslint-disable-next-line no-undef
|
|
349
359
|
test_controller = '';
|
|
@@ -401,7 +411,7 @@ class Video extends Component {
|
|
|
401
411
|
publish_config.video_profile_diy = { width: 640, height: 360, frameRate: 15, bitrate: 400 }
|
|
402
412
|
publish_config.publish_video_id = 'publish_video1'
|
|
403
413
|
publish_config.publish_streamId_id = 'publish_streamId1'
|
|
404
|
-
publish_config.publish_tag = '
|
|
414
|
+
publish_config.publish_tag = 'tag1customer'
|
|
405
415
|
if (this.props.recordMode == 2) {
|
|
406
416
|
// 分行模式,只收音 不发布摄像头
|
|
407
417
|
publish_config.media_type = 2
|
|
@@ -555,7 +565,7 @@ class Video extends Component {
|
|
|
555
565
|
{
|
|
556
566
|
publish_video_id: 'publish_video1',
|
|
557
567
|
publish_streamId_id: 'publish_streamId1',
|
|
558
|
-
publish_tag: '
|
|
568
|
+
publish_tag: 'tag1customer'
|
|
559
569
|
},
|
|
560
570
|
// {
|
|
561
571
|
// publish_video_id: 'publish_video2',
|
|
@@ -624,6 +634,187 @@ class Video extends Component {
|
|
|
624
634
|
return data
|
|
625
635
|
}
|
|
626
636
|
}
|
|
637
|
+
// 开启音频录制
|
|
638
|
+
enableAudioRecording = (record_business_id, type) => {
|
|
639
|
+
console.log('enableAudioRecording', record_business_id, type)
|
|
640
|
+
// true开启
|
|
641
|
+
console.log(this.props.needPreSale, type == 'presale' && !this.props.needPreSale)
|
|
642
|
+
if(!(type == 'presale' && !this.props.needPreSale)){
|
|
643
|
+
const that = this
|
|
644
|
+
const SCALE = 1.5
|
|
645
|
+
this.rateAll().then((res) => {
|
|
646
|
+
console.log('开启音频录制', res)
|
|
647
|
+
let list = [
|
|
648
|
+
{
|
|
649
|
+
tag: 'projectionWhiteboard',
|
|
650
|
+
xPosition: 0,
|
|
651
|
+
yPosition: 175 * SCALE,
|
|
652
|
+
width: 1280,
|
|
653
|
+
height: 720
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
tag: 'tag1customer',
|
|
657
|
+
xPosition: 0,
|
|
658
|
+
yPosition: 0,
|
|
659
|
+
width: 213 * SCALE,
|
|
660
|
+
height: 175 * SCALE
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
tag: 'customer1',
|
|
664
|
+
xPosition: 213 * SCALE,
|
|
665
|
+
yPosition: 0,
|
|
666
|
+
width: 213 * SCALE,
|
|
667
|
+
height: 175 * SCALE
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
tag: 'customer2',
|
|
671
|
+
xPosition: 426 * SCALE,
|
|
672
|
+
yPosition: 0,
|
|
673
|
+
width: 213 * SCALE,
|
|
674
|
+
height: 175 * SCALE
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
tag: 'customer3',
|
|
678
|
+
xPosition: 639 * SCALE,
|
|
679
|
+
yPosition: 0,
|
|
680
|
+
width: 213 * SCALE,
|
|
681
|
+
height: 175 * SCALE
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
tag: 'customer4',
|
|
685
|
+
xPosition: 852 * SCALE,
|
|
686
|
+
yPosition: 0,
|
|
687
|
+
width: 213 * SCALE,
|
|
688
|
+
height: 175 * SCALE
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
tag: 'customer5',
|
|
692
|
+
xPosition: 1065 * SCALE,
|
|
693
|
+
yPosition: 0,
|
|
694
|
+
width: 213 * SCALE,
|
|
695
|
+
height: 175 * SCALE
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
tag: 'customer6',
|
|
699
|
+
xPosition: 1278 * SCALE,
|
|
700
|
+
yPosition: 0,
|
|
701
|
+
width: 213 * SCALE,
|
|
702
|
+
height: 175 * SCALE
|
|
703
|
+
},
|
|
704
|
+
]
|
|
705
|
+
Array.isArray(res) ?
|
|
706
|
+
res.map((item) => {
|
|
707
|
+
list.push({
|
|
708
|
+
tag: item.tag,
|
|
709
|
+
xPosition: 860 * SCALE,
|
|
710
|
+
yPosition: 235 * SCALE,
|
|
711
|
+
width: (420 * SCALE),
|
|
712
|
+
height: (420 * SCALE)
|
|
713
|
+
})
|
|
714
|
+
}) :
|
|
715
|
+
list.push({
|
|
716
|
+
tag: 'VIDEO_SOURCE_SCREEN',
|
|
717
|
+
xPosition: 860 * SCALE,
|
|
718
|
+
yPosition: 235 * SCALE,
|
|
719
|
+
width: (420 * SCALE),
|
|
720
|
+
height: (420 * SCALE)
|
|
721
|
+
})
|
|
722
|
+
// 开启业务录制的时候type传值,在后面加标识,全局的不加
|
|
723
|
+
const filePath = 'recordId_' + new Date().valueOf() + type;
|
|
724
|
+
const recordParam = {};
|
|
725
|
+
recordParam.width = 1280 * SCALE;
|
|
726
|
+
recordParam.height = 720 * SCALE;
|
|
727
|
+
recordParam.recordTotalStream = 0;
|
|
728
|
+
recordParam.startTimeout = 10;
|
|
729
|
+
recordParam.splitType = 1;
|
|
730
|
+
recordParam.endType = 1;
|
|
731
|
+
recordParam.crf = 26
|
|
732
|
+
recordParam.overlaps = [
|
|
733
|
+
{
|
|
734
|
+
tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
|
|
735
|
+
type: 2, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
736
|
+
id: 2, // ⽔印 ID
|
|
737
|
+
enable: true,
|
|
738
|
+
xPosition: 16 * SCALE, // x 轴位置
|
|
739
|
+
yPosition: 8 * SCALE, // y 轴位置
|
|
740
|
+
text: `${this.props.recordMode ==1 ?'远程录制' :'网点录制'} ${this.props.salesBranchCode || ''} ${this.state.branchName || ''} ${this.props.financialOffice || ''}`,
|
|
741
|
+
fontSize: 16 * SCALE, // 字体⼤⼩
|
|
742
|
+
url: '' // ⽔印图⽚ HTTP 地址
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
|
|
746
|
+
type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
747
|
+
id: 1, // ⽔印 ID
|
|
748
|
+
enable: true,
|
|
749
|
+
xPosition: 1080 * SCALE, // x 轴位置
|
|
750
|
+
yPosition: 10 * SCALE, // y 轴位置
|
|
751
|
+
text: '', // ⽔印⽂字
|
|
752
|
+
fontSize: 16 * SCALE, // 字体⼤⼩
|
|
753
|
+
url: '' // ⽔印图⽚ HTTP 地址
|
|
754
|
+
},
|
|
755
|
+
];
|
|
756
|
+
recordParam.tagPositions = list
|
|
757
|
+
recordParam.tagFilter = 'customer'
|
|
758
|
+
console.log('recordParam', recordParam);
|
|
759
|
+
// 开启音频录制,如果有业务id用,没用sessionid 用于在成功回调里去区分是音频还是正常
|
|
760
|
+
that.test_controller.StartRemoteRecord(filePath, recordParam, record_business_id ? record_business_id + '_' + type : this.state.sessionId + '_' + type)
|
|
761
|
+
|
|
762
|
+
})
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
}
|
|
766
|
+
// 开启ipad音频录制
|
|
767
|
+
enableIpadAudioRecording = (record_business_id) => {
|
|
768
|
+
const that = this
|
|
769
|
+
const filePath = 'recordId_' + new Date().valueOf() + '_ipadsale';
|
|
770
|
+
const recordParam = {};
|
|
771
|
+
recordParam.width = 1280;
|
|
772
|
+
recordParam.height = 720;
|
|
773
|
+
recordParam.recordTotalStream = 0;
|
|
774
|
+
recordParam.startTimeout = 10;
|
|
775
|
+
recordParam.splitType = 1;
|
|
776
|
+
recordParam.endType = 1;
|
|
777
|
+
recordParam.crf = 26
|
|
778
|
+
recordParam.overlaps = [
|
|
779
|
+
{
|
|
780
|
+
tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
|
|
781
|
+
type: 2, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
782
|
+
id: 2, // ⽔印 ID
|
|
783
|
+
enable: true,
|
|
784
|
+
xPosition: 16, // x 轴位置
|
|
785
|
+
yPosition: 8, // y 轴位置
|
|
786
|
+
text: `${this.props.recordMode ==1 ?'远程录制' :'网点录制'} ${this.props.salesBranchCode || ''} ${this.state.branchName || ''} ${this.props.financialOffice || ''}`,
|
|
787
|
+
fontSize: 16, // 字体⼤⼩
|
|
788
|
+
url: '' // ⽔印图⽚ HTTP 地址
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
tag: '', // 流 tag,如果不设置或为空,则为全局⽔印
|
|
792
|
+
type: 1, // 1 为时间戳⽔印;2 为⽂字⽔印;3 为图⽚⽔印
|
|
793
|
+
id: 1, // ⽔印 ID
|
|
794
|
+
enable: true,
|
|
795
|
+
xPosition: 1080, // x 轴位置
|
|
796
|
+
yPosition: 10, // y 轴位置
|
|
797
|
+
text: '', // ⽔印⽂字
|
|
798
|
+
fontSize: 16, // 字体⼤⼩
|
|
799
|
+
url: '' // ⽔印图⽚ HTTP 地址
|
|
800
|
+
},
|
|
801
|
+
];
|
|
802
|
+
recordParam.tagPositions = [{
|
|
803
|
+
tag: that.state.ipadTag,
|
|
804
|
+
xPosition: 0,
|
|
805
|
+
yPosition: 0,
|
|
806
|
+
width: 1280,
|
|
807
|
+
height: 720
|
|
808
|
+
},{
|
|
809
|
+
tag: 'tag1customer',
|
|
810
|
+
xPosition: 0,
|
|
811
|
+
yPosition: 0,
|
|
812
|
+
width: 0,
|
|
813
|
+
height: 0
|
|
814
|
+
}]
|
|
815
|
+
console.log('recordParam', recordParam);
|
|
816
|
+
that.test_controller.StartRemoteRecord(filePath, recordParam, record_business_id+'_ipadsale')
|
|
817
|
+
}
|
|
627
818
|
// 开启录制
|
|
628
819
|
enableServerRecording = (record_business_id, type) => {
|
|
629
820
|
const that = this
|
|
@@ -653,7 +844,7 @@ class Video extends Component {
|
|
|
653
844
|
// height: 350
|
|
654
845
|
// },
|
|
655
846
|
{
|
|
656
|
-
tag: '
|
|
847
|
+
tag: 'tag1customer',
|
|
657
848
|
xPosition: 0,
|
|
658
849
|
yPosition: 0,
|
|
659
850
|
width: 213 * SCALE,
|
|
@@ -778,7 +969,7 @@ class Video extends Component {
|
|
|
778
969
|
recordParam.height = 720;
|
|
779
970
|
recordParam.recordTotalStream = 0;
|
|
780
971
|
recordParam.startTimeout = 10;
|
|
781
|
-
recordParam.splitType =
|
|
972
|
+
recordParam.splitType = 1;
|
|
782
973
|
recordParam.endType = 1;
|
|
783
974
|
recordParam.crf = 26
|
|
784
975
|
recordParam.overlaps = [
|
|
@@ -812,7 +1003,7 @@ class Video extends Component {
|
|
|
812
1003
|
width: 1280,
|
|
813
1004
|
height: 720
|
|
814
1005
|
},{
|
|
815
|
-
tag: '
|
|
1006
|
+
tag: 'tag1customer',
|
|
816
1007
|
xPosition: 0,
|
|
817
1008
|
yPosition: 0,
|
|
818
1009
|
width: 0,
|
|
@@ -1577,7 +1768,7 @@ class Video extends Component {
|
|
|
1577
1768
|
})
|
|
1578
1769
|
this.saveLog('aborted code:' + code)
|
|
1579
1770
|
if (this.state.sessionId) {
|
|
1580
|
-
if (code == 'SYS-01' || code == 'SYS-02') {
|
|
1771
|
+
if (code == 'SYS-01' || code == 'SYS-02' || String(code).includes('record-')) {
|
|
1581
1772
|
this.props.joinRoomCallback({
|
|
1582
1773
|
type: type,
|
|
1583
1774
|
errorManage: manege,
|
|
@@ -1594,7 +1785,7 @@ class Video extends Component {
|
|
|
1594
1785
|
}
|
|
1595
1786
|
|
|
1596
1787
|
} else {
|
|
1597
|
-
if (code == 'SYS-01' || code == 'SYS-02') {
|
|
1788
|
+
if (code == 'SYS-01' || code == 'SYS-02' || String(code).includes('record-')) {
|
|
1598
1789
|
this.props.createRoomCallback({
|
|
1599
1790
|
type: type,
|
|
1600
1791
|
errorManage: manege,
|
|
@@ -1645,6 +1836,7 @@ class Video extends Component {
|
|
|
1645
1836
|
// 开启录制
|
|
1646
1837
|
this.saveLog('Start recording')
|
|
1647
1838
|
this.enableServerRecording()
|
|
1839
|
+
this.enableAudioRecording('','presale')
|
|
1648
1840
|
} else if (Mival.type == 2) {
|
|
1649
1841
|
// 关闭录制
|
|
1650
1842
|
this.saveLog('stop recording')
|
|
@@ -1995,9 +2187,22 @@ class Video extends Component {
|
|
|
1995
2187
|
this.state.businessId = Mival.id;
|
|
1996
2188
|
this.saveLog('Start business recording')
|
|
1997
2189
|
this.enableServerRecording(Mival.id, 'startBusinessRecording')
|
|
2190
|
+
// supplement 1 代表补录
|
|
2191
|
+
if(Mival.supplement == 1) {
|
|
2192
|
+
this.state.supplementWithRoomId = Mival.supplementWithRoomId
|
|
2193
|
+
this.enableAudioRecording(Mival.id,'supplesale')
|
|
2194
|
+
} else {
|
|
2195
|
+
// 开启业务录制的基础上关闭full录制音频,并开启业务录制音频
|
|
2196
|
+
if(this.state.presaleRecordId) {
|
|
2197
|
+
this.test_controller.StopRemoteRecord(this.state.presaleRecordId)
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
this.enableAudioRecording(Mival.id,'sale')
|
|
2201
|
+
}
|
|
1998
2202
|
// 这里加定时1秒后触发Ipad录制--阿里的胡子老师要求加的,解决录制的问题
|
|
1999
2203
|
setTimeout(() => {
|
|
2000
2204
|
if (this.state.ipadTag) this.enableIpadRecording(Mival.id)
|
|
2205
|
+
if (this.state.ipadTag) this.enableIpadAudioRecording(Mival.id)
|
|
2001
2206
|
}, 1000);
|
|
2002
2207
|
|
|
2003
2208
|
if (this.props.whetherDetectFace && this.props.recordMode != 2){
|
|
@@ -2297,7 +2502,7 @@ class Video extends Component {
|
|
|
2297
2502
|
this.saveLog('Failed to get device, code='+code)
|
|
2298
2503
|
this.state.sessionType = false
|
|
2299
2504
|
this.messageClick('获取设备失败,请检查摄像头设备是否可用或是否禁用摄像头', 'error')
|
|
2300
|
-
this.roomCallBack(2, '获取设备失败', 1)
|
|
2505
|
+
this.roomCallBack(2, '获取设备失败', '1-' + code)
|
|
2301
2506
|
this.showEnvDetection()
|
|
2302
2507
|
};
|
|
2303
2508
|
// 建立连接成功
|
|
@@ -2306,10 +2511,21 @@ class Video extends Component {
|
|
|
2306
2511
|
this.ConnectMRTC()
|
|
2307
2512
|
};
|
|
2308
2513
|
this.test_controller.OnConnectFailed = (code, msg) => {
|
|
2514
|
+
// -101:初始化超时-102/-1004:初始化失败 (MTC close) 30001: 信令连接失败 transcribeError
|
|
2309
2515
|
console.log('建立连接失败', code, msg)
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2516
|
+
if(code == 30001) {
|
|
2517
|
+
this.setState({
|
|
2518
|
+
transcribeErrorCode: 30001,
|
|
2519
|
+
transcribeErrorModalVisible: true
|
|
2520
|
+
})
|
|
2521
|
+
} else {
|
|
2522
|
+
|
|
2523
|
+
this.saveLog('Failed to establish connection,' + code)
|
|
2524
|
+
this.messageClick('建立连接失败', 'error')
|
|
2525
|
+
this.state.sessionType = false
|
|
2526
|
+
this.roomCallBack(2, '连接失败', '2-'+code)
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2313
2529
|
};
|
|
2314
2530
|
// 断开连接回调
|
|
2315
2531
|
this.test_controller.OnConnectClose = (code, msg) => {
|
|
@@ -2325,7 +2541,7 @@ class Video extends Component {
|
|
|
2325
2541
|
console.log('初始化房间失败', err_code, err_msg)
|
|
2326
2542
|
this.saveLog('Failed to initialize room,' + err_code)
|
|
2327
2543
|
this.state.sessionType = false
|
|
2328
|
-
this.roomCallBack(2, '初始化失败', 3)
|
|
2544
|
+
this.roomCallBack(2, '初始化失败', '3-' + err_code)
|
|
2329
2545
|
};
|
|
2330
2546
|
// 初始化成功回调
|
|
2331
2547
|
this.test_controller.OnInitRoomConfigOK = () => {
|
|
@@ -2357,7 +2573,7 @@ class Video extends Component {
|
|
|
2357
2573
|
console.log('创建房间失败', err_code, err_msg)
|
|
2358
2574
|
this.saveLog('Failed to create room,' + err_code)
|
|
2359
2575
|
this.state.sessionType = false
|
|
2360
|
-
this.roomCallBack(2, '创建房间失败', 7)
|
|
2576
|
+
this.roomCallBack(2, '创建房间失败', '7-' + err_code)
|
|
2361
2577
|
};
|
|
2362
2578
|
// 初始化⾳视频成功
|
|
2363
2579
|
this.test_controller.OnMediaCallSucc = (sid) => {
|
|
@@ -2370,8 +2586,13 @@ class Video extends Component {
|
|
|
2370
2586
|
this.saveLog('OnMediaCallFail, code=' + err_code)
|
|
2371
2587
|
};
|
|
2372
2588
|
|
|
2373
|
-
const playAudioTip = () => {
|
|
2374
|
-
this.messageClick('
|
|
2589
|
+
const playAudioTip = (code) => {
|
|
2590
|
+
this.messageClick('媒体流服务异常断开,请刷新', 'error')
|
|
2591
|
+
if(code == 5003) {
|
|
2592
|
+
this.state.mediaErrorModalMessage = '媒体流服务异常,请刷新('+ code + ')'
|
|
2593
|
+
} else {
|
|
2594
|
+
this.state.mediaErrorModalMessage = '媒体流服务异常,请刷新('+ code + ')'
|
|
2595
|
+
}
|
|
2375
2596
|
this.setState({
|
|
2376
2597
|
mediaErrorModalVisible: true,
|
|
2377
2598
|
})
|
|
@@ -2380,7 +2601,11 @@ class Video extends Component {
|
|
|
2380
2601
|
this.mediaErrorPlay = () => {
|
|
2381
2602
|
if(this.state.mediaErrorModalVisible){
|
|
2382
2603
|
if (this.mediaErrorAudio) this.mediaErrorAudio.pause()
|
|
2383
|
-
|
|
2604
|
+
if(code == 5003) {
|
|
2605
|
+
this.mediaErrorAudio = new Audio(startMediaError)
|
|
2606
|
+
} else {
|
|
2607
|
+
this.mediaErrorAudio = new Audio(MediaErrorAudio)
|
|
2608
|
+
}
|
|
2384
2609
|
this.mediaErrorAudio.play()
|
|
2385
2610
|
this.mediaErrorPlayTimer = setTimeout(this.mediaErrorPlay, 3000);
|
|
2386
2611
|
}
|
|
@@ -2391,12 +2616,17 @@ class Video extends Component {
|
|
|
2391
2616
|
this.test_controller.OnMediaClose = (code, sid) => {
|
|
2392
2617
|
console.log('OnMediaClose',code, sid)
|
|
2393
2618
|
if (code == 5003 || code == 5004 || code == 5005 || code == 5007 || code == 5009 || code == 5010 || code == 5011 || code == 5012) {
|
|
2394
|
-
if (sid == this.state.publishSid) {
|
|
2619
|
+
if (sid == this.state.publishSid) {
|
|
2395
2620
|
this.saveLog('Audio and video close notification,' + code)
|
|
2396
|
-
this.roomCallBack(2, '音视频异常关闭', 8)
|
|
2621
|
+
this.roomCallBack(2, '音视频异常关闭', '8-' + code)
|
|
2397
2622
|
if (code == 5007 || code == 5007 || code == 5009 || code == 5010 || code == 5011) {
|
|
2398
2623
|
this.saveVideoPoint('conFail', `RM端媒体链路断开, err_code=${code}`)
|
|
2399
|
-
playAudioTip();
|
|
2624
|
+
playAudioTip(code);
|
|
2625
|
+
}
|
|
2626
|
+
//5003:启动流失败(信令阶段)
|
|
2627
|
+
if (code == 5003) {
|
|
2628
|
+
this.saveVideoPoint('conFail', `RM端启动流失败, err_code=${code}`)
|
|
2629
|
+
playAudioTip(code);
|
|
2400
2630
|
}
|
|
2401
2631
|
} else if (sid == this.state.publishScreenSid) {
|
|
2402
2632
|
this.state.isScreenSwitching = false
|
|
@@ -2404,7 +2634,12 @@ class Video extends Component {
|
|
|
2404
2634
|
this.setSharedScreenTimer(false)
|
|
2405
2635
|
if (code == 5007 || code == 5007 || code == 5009 || code == 5010 || code == 5011) {
|
|
2406
2636
|
this.saveVideoPoint('conFail', `RM投屏媒体链路断开, err_code=${code}`)
|
|
2407
|
-
playAudioTip();
|
|
2637
|
+
playAudioTip(code);
|
|
2638
|
+
}
|
|
2639
|
+
//5003:启动流失败(信令阶段)
|
|
2640
|
+
if (code == 5003) {
|
|
2641
|
+
this.saveVideoPoint('conFail', `RM投屏启动流失败, err_code=${code}`)
|
|
2642
|
+
playAudioTip(code);
|
|
2408
2643
|
}
|
|
2409
2644
|
if (code == 5012) {
|
|
2410
2645
|
this.saveLog('Manual cancel share'); // 点了取消,拒绝系统授权
|
|
@@ -2429,7 +2664,7 @@ class Video extends Component {
|
|
|
2429
2664
|
publish_config.video_profile_diy = { width: 640, height: 360, frameRate: 15, bitrate: 400 }
|
|
2430
2665
|
publish_config.publish_video_id = 'publish_video1'
|
|
2431
2666
|
publish_config.publish_streamId_id = 'publish_streamId1'
|
|
2432
|
-
publish_config.publish_tag = '
|
|
2667
|
+
publish_config.publish_tag = 'tag1customer'
|
|
2433
2668
|
if (this.props.recordMode == 2) {
|
|
2434
2669
|
// 分行模式,只收音 不发布摄像头
|
|
2435
2670
|
publish_config.media_type = 2
|
|
@@ -2459,7 +2694,7 @@ class Video extends Component {
|
|
|
2459
2694
|
// sessionType: false,
|
|
2460
2695
|
// isJoinRoom: true
|
|
2461
2696
|
// })
|
|
2462
|
-
|
|
2697
|
+
this.roomCallBack(2, '加入失败','5-' + err_code)
|
|
2463
2698
|
this.state.channelId = '',
|
|
2464
2699
|
this.state.rtoken = '',
|
|
2465
2700
|
this.state.sessionId = '',
|
|
@@ -2507,8 +2742,8 @@ class Video extends Component {
|
|
|
2507
2742
|
// if (publish_device != 2) {
|
|
2508
2743
|
// return stream
|
|
2509
2744
|
// }
|
|
2510
|
-
if (publish_tag == '
|
|
2511
|
-
console.log('
|
|
2745
|
+
if (publish_tag == 'tag1customer') {
|
|
2746
|
+
console.log('tag1customer', stream)
|
|
2512
2747
|
let newStream = stream;
|
|
2513
2748
|
if (stream.getVideoTracks()[0]) {
|
|
2514
2749
|
if (this.state.beautyType || isSuccuseHs){
|
|
@@ -2679,7 +2914,11 @@ class Video extends Component {
|
|
|
2679
2914
|
console.log('Publishing media stream failed,', sid, err_code, err_msg)
|
|
2680
2915
|
if (sid == document.getElementById('publish_streamId1').name) {
|
|
2681
2916
|
this.state.sessionType = false
|
|
2682
|
-
this.
|
|
2917
|
+
this.setState({
|
|
2918
|
+
transcribeErrorCode: err_code,
|
|
2919
|
+
transcribeErrorModalVisible: true
|
|
2920
|
+
})
|
|
2921
|
+
this.roomCallBack(2, '发布失败', '4-' + err_code)
|
|
2683
2922
|
} else {
|
|
2684
2923
|
this.messageClick('投屏失败请重新投屏', 'error')
|
|
2685
2924
|
this.setSharedScreenState(false)
|
|
@@ -2924,6 +3163,7 @@ class Video extends Component {
|
|
|
2924
3163
|
// 如果已经开启了业务录制且ipad未在录制,立即开启ipad录制(ipad后加入)
|
|
2925
3164
|
if (this.state.businessId && !this.state.ipadRecordId) {
|
|
2926
3165
|
this.enableIpadRecording(this.state.businessId)
|
|
3166
|
+
this.enableIpadAudioRecording(this.state.businessId)
|
|
2927
3167
|
}
|
|
2928
3168
|
}
|
|
2929
3169
|
};
|
|
@@ -3201,13 +3441,33 @@ class Video extends Component {
|
|
|
3201
3441
|
const busId = Number(record_third_id.split('_')[0])
|
|
3202
3442
|
this.ipadRecordCallback('1', true, busId)
|
|
3203
3443
|
this.saveLog('mrtc OnStartIpadRecordSucc')
|
|
3444
|
+
} else if (String(record_third_id).includes('_presale')){
|
|
3445
|
+
// full录制的音频
|
|
3446
|
+
this.state.presaleRecordId = record_id
|
|
3447
|
+
this.audioPresaleRecordCallback('1', true)
|
|
3448
|
+
this.saveLog('mrtc OnStartPresaleRecordSucc')
|
|
3449
|
+
} else if (String(record_third_id).includes('_ipadsale')){
|
|
3450
|
+
// full录制的ipad音频
|
|
3451
|
+
this.state.ipadsaleRecordId = record_id
|
|
3452
|
+
this.audioIpadsaleRecordCallback('1', true)
|
|
3453
|
+
this.saveLog('mrtc OnStartIpadsaleRecordSucc')
|
|
3454
|
+
} else if (String(record_third_id).includes('_sale')){
|
|
3455
|
+
// 业务录制的音频
|
|
3456
|
+
this.state.salePresaleRecordId = record_id
|
|
3457
|
+
this.audioSalePresaleRecordCallback('1', true)
|
|
3458
|
+
this.saveLog('mrtc OnStartSalePresaleRecordSucc')
|
|
3459
|
+
} else if (String(record_third_id).includes('_supplesale')){
|
|
3460
|
+
// 补录业务录制的音频
|
|
3461
|
+
this.state.supplesalePresaleRecordId = record_id
|
|
3462
|
+
this.audiosuppleSalePresaleRecordCallback('1', true)
|
|
3463
|
+
this.saveLog('mrtc OnStartSuppleSalePresaleRecordSucc')
|
|
3204
3464
|
} else {
|
|
3205
3465
|
// 业务录制
|
|
3206
3466
|
this.state.businessRecordId = record_id
|
|
3207
3467
|
this.businessRecordCallback('1', true, record_third_id)
|
|
3208
3468
|
this.saveLog('mrtc OnStartRemoteBusinessRecordSucc, businessId=' + record_third_id)
|
|
3209
3469
|
}
|
|
3210
|
-
|
|
3470
|
+
// 判断是否是开启的音频录制 调用后台接口多isAudio --0否1是
|
|
3211
3471
|
if (this.state.isRecordingeErrorModalVisible) {
|
|
3212
3472
|
this.setState({
|
|
3213
3473
|
isRecordingeErrorModalVisible: false
|
|
@@ -3229,10 +3489,31 @@ class Video extends Component {
|
|
|
3229
3489
|
const busId = Number(record_third_id.split('_')[0])
|
|
3230
3490
|
this.ipadRecordCallback('1', false, busId)
|
|
3231
3491
|
this.saveLog('mrtc OnStartIpadRecordFailed, code='+err_code)
|
|
3492
|
+
} else if (String(record_third_id).includes('_presale')){
|
|
3493
|
+
// full录制的音频
|
|
3494
|
+
this.state.presaleRecordId = ''
|
|
3495
|
+
this.audioPresaleRecordCallback('1', false)
|
|
3496
|
+
this.saveLog('mrtc OnStartPresaleRecordFailed, code=' + err_code)
|
|
3497
|
+
} else if (String(record_third_id).includes('_ipadsale')){
|
|
3498
|
+
// 录制的ipad音频
|
|
3499
|
+
this.state.ipadsaleRecordId = ''
|
|
3500
|
+
this.audioIpadsaleRecordCallback('1', false)
|
|
3501
|
+
this.saveLog('mrtc OnStartIpadsaleRecordFailed, code=' + err_code)
|
|
3502
|
+
} else if (String(record_third_id).includes('_sale')){
|
|
3503
|
+
// 业务录制的音频
|
|
3504
|
+
this.state.salePresaleRecordId = ''
|
|
3505
|
+
this.audioSalePresaleRecordCallback('1', false)
|
|
3506
|
+
this.saveLog('mrtc OnStartSalePresaleRecordFailed, code=' + err_code)
|
|
3507
|
+
} else if (String(record_third_id).includes('_supplesale')){
|
|
3508
|
+
// 补录业务录制的音频
|
|
3509
|
+
this.state.supplesalePresaleRecordId = ''
|
|
3510
|
+
this.audiosuppleSalePresaleRecordCallback('1', false)
|
|
3511
|
+
this.saveLog('mrtc OnStartSuppleSalePresaleRecordFailed, code=' + err_code)
|
|
3232
3512
|
} else {
|
|
3233
3513
|
this.businessRecordCallback('1', false, record_third_id)
|
|
3234
3514
|
this.saveLog('mrtc OnStartRemoteBusinessRecordFailed, code='+err_code + ',businessId=' + record_third_id)
|
|
3235
3515
|
}
|
|
3516
|
+
this.roomCallBack(2, '开始服务端录制失败', 'record-' + err_code)
|
|
3236
3517
|
};
|
|
3237
3518
|
// 结束服务端录制成功
|
|
3238
3519
|
this.test_controller.OnStopRemoteRecordSucc = (recordId, record_third_id) => {
|
|
@@ -3251,6 +3532,26 @@ class Video extends Component {
|
|
|
3251
3532
|
this.ipadRecordCallback('2', true, busId)
|
|
3252
3533
|
this.saveLog('mrtc OnStopIpadRecordSucc, recordId='+recordId)
|
|
3253
3534
|
this.state.ipadRecordId = '';
|
|
3535
|
+
} else if (String(record_third_id).includes('_presale')){
|
|
3536
|
+
// full录制的音频
|
|
3537
|
+
this.state.presaleRecordId = ''
|
|
3538
|
+
this.audioPresaleRecordCallback('2', true)
|
|
3539
|
+
this.saveLog('mrtc OnStopPresaleRecordSucc, recordId='+recordId)
|
|
3540
|
+
} else if (String(record_third_id).includes('_ipadsale')){
|
|
3541
|
+
// 录制的ipad音频
|
|
3542
|
+
this.state.ipadsaleRecordId = ''
|
|
3543
|
+
this.audioIpadsaleRecordCallback('2', true)
|
|
3544
|
+
this.saveLog('mrtc OnStopIpadsaleRecordSucc, recordId='+recordId)
|
|
3545
|
+
} else if (String(record_third_id).includes('_sale')){
|
|
3546
|
+
// 业务录制的音频
|
|
3547
|
+
this.state.salePresaleRecordId = ''
|
|
3548
|
+
this.audioSalePresaleRecordCallback('2', true)
|
|
3549
|
+
this.saveLog('mrtc OnStopSalePresaleSucc, recordId='+recordId)
|
|
3550
|
+
} else if (String(record_third_id).includes('_supplesale')){
|
|
3551
|
+
// 补录业务录制的音频
|
|
3552
|
+
this.state.supplesalePresaleRecordId = ''
|
|
3553
|
+
this.audiosuppleSalePresaleRecordCallback('2', true)
|
|
3554
|
+
this.saveLog('mrtc OnStopSuppleSalePresaleRecordSucc, recordId='+recordId)
|
|
3254
3555
|
} else {
|
|
3255
3556
|
this.businessRecordCallback('2', true, record_third_id)
|
|
3256
3557
|
this.saveLog('mrtc OnStopRemoteBusinessRecordSucc, recordId='+recordId + ',businessId=' + record_third_id)
|
|
@@ -3277,6 +3578,26 @@ class Video extends Component {
|
|
|
3277
3578
|
const busId = Number(record_third_id.split('_')[0])
|
|
3278
3579
|
this.ipadRecordCallback('2', false, busId)
|
|
3279
3580
|
this.saveLog('mrtc OnStopIpadRecordFailed, err_code='+err_code)
|
|
3581
|
+
} else if (String(record_third_id).includes('_presale')){
|
|
3582
|
+
// full录制的音频
|
|
3583
|
+
this.state.presaleRecordId = ''
|
|
3584
|
+
this.audioPresaleRecordCallback('2', false)
|
|
3585
|
+
this.saveLog('mrtc OnStopPresaleRecordFailed, err_code='+err_code)
|
|
3586
|
+
} else if (String(record_third_id).includes('_ipadsale')){
|
|
3587
|
+
// 录制的ipad音频
|
|
3588
|
+
this.state.ipadsaleRecordId = ''
|
|
3589
|
+
this.audioIpadsaleRecordCallback('2', false)
|
|
3590
|
+
this.saveLog('mrtc OnStopIpadsaleRecordFailed, err_code='+err_code)
|
|
3591
|
+
} else if (String(record_third_id).includes('_sale')){
|
|
3592
|
+
// 业务录制的音频
|
|
3593
|
+
this.state.salePresaleRecordId = ''
|
|
3594
|
+
this.audioSalePresaleRecordCallback('2', false)
|
|
3595
|
+
this.saveLog('mrtc OnStopSalePresaleFailed, err_code='+err_code)
|
|
3596
|
+
} else if (String(record_third_id).includes('_supplesale')){
|
|
3597
|
+
// 补录业务录制的音频
|
|
3598
|
+
this.state.supplesalePresaleRecordId = ''
|
|
3599
|
+
this.audiosuppleSalePresaleRecordCallback('2', false)
|
|
3600
|
+
this.saveLog('mrtc OnStopSuppleSalePresaleRecordFailed, err_code='+err_code)
|
|
3280
3601
|
} else {
|
|
3281
3602
|
this.businessRecordCallback('2', false, record_third_id)
|
|
3282
3603
|
this.saveLog('mrtc OnStopRemoteBusinessRecordFailed, err_code='+err_code+',businessId=' + record_third_id)
|
|
@@ -3690,6 +4011,91 @@ class Video extends Component {
|
|
|
3690
4011
|
// duration: 10
|
|
3691
4012
|
})
|
|
3692
4013
|
}
|
|
4014
|
+
// full音频录制
|
|
4015
|
+
audioPresaleRecordCallback = async (type, status) => {
|
|
4016
|
+
try {
|
|
4017
|
+
let result = await API.videoRecordCallback({
|
|
4018
|
+
activityId: this.props.businessNumber,
|
|
4019
|
+
sessionId: this.state.sessionId,
|
|
4020
|
+
roomId: this.state.channelId + '',
|
|
4021
|
+
appId: this.state.appId,
|
|
4022
|
+
recordId: this.state.presaleRecordId,
|
|
4023
|
+
customerId: this.props.customerId,
|
|
4024
|
+
type: type,
|
|
4025
|
+
status: status,
|
|
4026
|
+
isAudio: '1'
|
|
4027
|
+
});
|
|
4028
|
+
console.log(result);
|
|
4029
|
+
} catch (err) {
|
|
4030
|
+
console.error(err);
|
|
4031
|
+
if (err.status == 502 || err.status == 404) {
|
|
4032
|
+
}
|
|
4033
|
+
}
|
|
4034
|
+
}
|
|
4035
|
+
// 业务音频录制
|
|
4036
|
+
audioIpadsaleRecordCallback = async (type, status) => {
|
|
4037
|
+
try {
|
|
4038
|
+
let result = await API.videoRecordCallback({
|
|
4039
|
+
activityId: this.props.businessNumber,
|
|
4040
|
+
sessionId: this.state.sessionId,
|
|
4041
|
+
roomId: this.state.channelId + '',
|
|
4042
|
+
appId: this.state.appId,
|
|
4043
|
+
recordId: this.state.ipadsaleRecordId,
|
|
4044
|
+
customerId: this.props.customerId,
|
|
4045
|
+
type: type,
|
|
4046
|
+
status: status,
|
|
4047
|
+
isAudio: '1'
|
|
4048
|
+
});
|
|
4049
|
+
console.log(result);
|
|
4050
|
+
} catch (err) {
|
|
4051
|
+
console.error(err);
|
|
4052
|
+
if (err.status == 502 || err.status == 404) {
|
|
4053
|
+
}
|
|
4054
|
+
}
|
|
4055
|
+
}
|
|
4056
|
+
// ipad音频录制
|
|
4057
|
+
audioSalePresaleRecordCallback = async (type, status) => {
|
|
4058
|
+
try {
|
|
4059
|
+
let result = await API.videoRecordCallback({
|
|
4060
|
+
activityId: this.props.businessNumber,
|
|
4061
|
+
sessionId: this.state.sessionId,
|
|
4062
|
+
roomId: this.state.channelId + '',
|
|
4063
|
+
appId: this.state.appId,
|
|
4064
|
+
recordId: this.state.salePresaleRecordId,
|
|
4065
|
+
customerId: this.props.customerId,
|
|
4066
|
+
type: type,
|
|
4067
|
+
status: status,
|
|
4068
|
+
isAudio: '1'
|
|
4069
|
+
});
|
|
4070
|
+
console.log(result);
|
|
4071
|
+
} catch (err) {
|
|
4072
|
+
console.error(err);
|
|
4073
|
+
if (err.status == 502 || err.status == 404) {
|
|
4074
|
+
}
|
|
4075
|
+
}
|
|
4076
|
+
}
|
|
4077
|
+
// 补录业务录制
|
|
4078
|
+
audiosuppleSalePresaleRecordCallback = async (type, status) => {
|
|
4079
|
+
try {
|
|
4080
|
+
let result = await API.videoRecordCallback({
|
|
4081
|
+
activityId: this.props.businessNumber,
|
|
4082
|
+
sessionId: this.state.sessionId,
|
|
4083
|
+
roomId: this.state.channelId + '',
|
|
4084
|
+
appId: this.state.appId,
|
|
4085
|
+
recordId: this.state.supplesalePresaleRecordId,
|
|
4086
|
+
customerId: this.props.customerId,
|
|
4087
|
+
type: type,
|
|
4088
|
+
status: status,
|
|
4089
|
+
isAudio: '1',
|
|
4090
|
+
supplementWithRoomId: this.state.supplementWithRoomId
|
|
4091
|
+
});
|
|
4092
|
+
console.log(result);
|
|
4093
|
+
} catch (err) {
|
|
4094
|
+
console.error(err);
|
|
4095
|
+
if (err.status == 502 || err.status == 404) {
|
|
4096
|
+
}
|
|
4097
|
+
}
|
|
4098
|
+
}
|
|
3693
4099
|
// 全局录制
|
|
3694
4100
|
videoRecordCallback = async (type, status) => {
|
|
3695
4101
|
if (status) {
|
|
@@ -3710,7 +4116,8 @@ class Video extends Component {
|
|
|
3710
4116
|
recordId: this.state.recordId,
|
|
3711
4117
|
customerId: this.props.customerId,
|
|
3712
4118
|
type: type,
|
|
3713
|
-
status: status
|
|
4119
|
+
status: status,
|
|
4120
|
+
isFull: 1
|
|
3714
4121
|
});
|
|
3715
4122
|
console.log(result);
|
|
3716
4123
|
} catch (err) {
|
|
@@ -4654,7 +5061,9 @@ class Video extends Component {
|
|
|
4654
5061
|
}
|
|
4655
5062
|
this.saveLog('Start business recording')
|
|
4656
5063
|
if (!this.state.businessRecordId) this.enableServerRecording(this.state.businessId)
|
|
5064
|
+
if (!this.state.businessRecordId) this.enableAudioRecording(this.state.businessId,'presale')
|
|
4657
5065
|
if (!this.state.ipadRecordId && this.state.ipadTag) this.enableIpadRecording(this.state.businessId)
|
|
5066
|
+
if (!this.state.ipadRecordId && this.state.ipadTag) this.enableIpadAudioRecording(this.state.businessId)
|
|
4658
5067
|
clearTimeout(this.recordLoopPlayTimer)
|
|
4659
5068
|
}
|
|
4660
5069
|
handleOkLowPowerConfirm = () => {
|
|
@@ -4706,7 +5115,11 @@ class Video extends Component {
|
|
|
4706
5115
|
handleOkMediaErrorConfirm = () => {
|
|
4707
5116
|
// 刷新重试
|
|
4708
5117
|
clearTimeout(this.mediaErrorPlayTimer)
|
|
4709
|
-
|
|
5118
|
+
location.reload(false);
|
|
5119
|
+
// this.handleOkEnd()
|
|
5120
|
+
}
|
|
5121
|
+
handleOktranscribeErrorConfirm = () => {
|
|
5122
|
+
location.reload(false);
|
|
4710
5123
|
}
|
|
4711
5124
|
handleCancelMediaError = () => {
|
|
4712
5125
|
clearTimeout(this.mediaErrorPlayTimer)
|
|
@@ -7241,11 +7654,19 @@ class Video extends Component {
|
|
|
7241
7654
|
{/* 媒体流断开提示 */}
|
|
7242
7655
|
<Modal closable={false} centered={true} visible={this.state.mediaErrorModalVisible} maskClosable={false} footer={[
|
|
7243
7656
|
<div key='end'>
|
|
7244
|
-
<Button className="modelButtonCancel" onClick={this.handleCancelMediaError}>取消</Button>
|
|
7657
|
+
{/* <Button className="modelButtonCancel" onClick={this.handleCancelMediaError}>取消</Button> */}
|
|
7245
7658
|
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOkMediaErrorConfirm}>确定</Button>
|
|
7246
7659
|
</div>
|
|
7247
7660
|
]}>
|
|
7248
|
-
<div className='endModal'
|
|
7661
|
+
<div className='endModal'>{this.state.mediaErrorModalMessage}</div>
|
|
7662
|
+
</Modal>
|
|
7663
|
+
{/* 30001(在信令链接失败回调中)/发布失败/音视频异常回调 相关事件印象双录失败提示 */}
|
|
7664
|
+
<Modal closable={false} centered={true} visible={this.state.transcribeErrorModalVisible} maskClosable={false} footer={[
|
|
7665
|
+
<div key='end'>
|
|
7666
|
+
<Button className="modelButtonOk" type="primary" danger onClick={this.handleOktranscribeErrorConfirm}>确定</Button>
|
|
7667
|
+
</div>
|
|
7668
|
+
]}>
|
|
7669
|
+
<div className='endModal'>{'系统异常请刷新('+ this.state.transcribeErrorCode + ')'}</div>
|
|
7249
7670
|
</Modal>
|
|
7250
7671
|
{/* 是否退出会议*/}
|
|
7251
7672
|
<Modal closable={false} centered={true} visible={this.state.isModalVisibleEnd} maskClosable={false} footer={[
|
|
@@ -7745,7 +8166,7 @@ Video.defaultProps = {
|
|
|
7745
8166
|
lightSensitivity: 1, // 光线敏感度系数,默认1
|
|
7746
8167
|
userSide: 2,
|
|
7747
8168
|
meetingDuration: null, // 会议时长,单位小时
|
|
7748
|
-
recordMode: 1, // 录制模式 1远程录制 2网点录制
|
|
8169
|
+
recordMode: 1, // 录制模式 1远程录制 2网点录制 在开启单独音频流的时候1-会有多个音频流单独录制,2-只需要RM
|
|
7749
8170
|
defaultBranchCode: "",// 员工网点缩写
|
|
7750
8171
|
customerId: "", //客户号
|
|
7751
8172
|
customerType: "", // 客户类型
|
|
@@ -7755,6 +8176,7 @@ Video.defaultProps = {
|
|
|
7755
8176
|
audioinputNameList: ['Microphone Array (Realtek High Definition Audio(SST))'], // 默认匹配的麦克风的名称列表
|
|
7756
8177
|
echoCancellation: true,
|
|
7757
8178
|
noiseSuppression: true,
|
|
8179
|
+
needPreSale: true, // 是否开启音频录制 默认true--只控制售前full
|
|
7758
8180
|
logUrl: 'http://hsbc.cn-shanghai.log.aliyuncs.com/logstores/hsbc/track?APIVersion=0.6.0&app=meeting-ui',
|
|
7759
8181
|
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'
|
|
7760
8182
|
}
|