AlexWang

全局及自有禁言状态

/*
* 全局数据管理
* */
* 全局数据管理
* */
import Loger from 'Loger';
import ApeConsts from "apes/ApeConsts";
... ... @@ -8,458 +8,457 @@ let loger = Loger.getLoger('GlobalConfig');
import EngineUtils from 'EngineUtils';
class GlobalConfig {
constructor () {
constructor() {
}
_currentStatus = null;
static getCurrentStatus() {
if (this._currentStatus == null) {
this._currentStatus = this.statusCode_0;
}
return this._currentStatus;
}
static setCurrentStatus(_data) {
this._currentStatus = _data;
}
static getClassDetail() {
return this.classDetail;
}
static setClassDetail(_data) {
this.classDetail = _data;
}
static getClassInfo() {
let classInfo = {};
classInfo.siteId = this.siteId;
classInfo.classId = this.classId;
classInfo.className = this.className;
classInfo.h5Module = this.h5Module;
classInfo.nodeId = this.nodeId;
classInfo.topNodeID = this.topNodeID;
classInfo.userRole = this.userRole;
classInfo.role = this.role;
classInfo.isHost = this.isHost;
classInfo.userId = this.userId;
classInfo.userName = this.userName;
classInfo.password = this.password;
classInfo.userType = this.userType;
classInfo.passwordRequired = this.passwordRequired;
classInfo.md5 = this.md5;
classInfo.msType = this.msType;
classInfo.portal = this.portal;
classInfo.mcuDelay = this.mcuDelay;
classInfo.MCUServerIP = this.MCUServerIP;
classInfo.MCUServerPort = this.MCUServerPort;
classInfo.maxVideoChannels = this.maxVideoChannels;
classInfo.maxAudioChannels = this.maxAudioChannels;
classInfo.maxMediaChannels = this.maxMediaChannels;
classInfo.fps = this.fps;
classInfo.gop = this.gop;
classInfo.videoQuality = this.videoQuality;
classInfo.ssTunnelAppURL = this.ssTunnelAppURL;
classInfo.currentSceneTableId = this.currentSceneTableId; //文档区域的模块显示
return classInfo;
}
//获取当前的课堂状态的信息
static get classStatusInfo() {
let classStatusInfo = {};
classStatusInfo.siteId = this.siteId; //站点号
classStatusInfo.classId = this.classId;
classStatusInfo.className = this.className;
classStatusInfo.classType = this.classType; //课堂类型
classStatusInfo.classStatus = this.classStatus; //课堂的状态
classStatusInfo.classStartTime = this.classStartTime; //课堂点击开始时间
classStatusInfo.classStopTime = this.classStopTime; //最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
classStatusInfo.classTimestamp = this.classTimestamp; //相对于点开始课堂的时间戳
classStatusInfo.recordPlaybackMaxTime = this.recordPlaybackMaxTime; //相对于点开始课堂的时间戳
classStatusInfo.classBeginTime = this.classBeginTime; //课堂创建的时间,这个是Sass返回的
classStatusInfo.classEndTime = this.classEndTime; //课堂结束的时间,这个是Sass返回的
classStatusInfo.recordStatus = this.recordStatus; //当前录制状态
classStatusInfo.silence = this.silence; //当前课堂禁言状态
classStatusInfo.selfSilence = this.selfSilence; //当前自由禁言状态
classStatusInfo.recordTimestamp = this.recordTimestamp; //相对于首次开始录制的时间戳
classStatusInfo.recordFileName = this.recordFileName; //录制的文件名
classStatusInfo.recordDownloadUrl = this.recordDownloadUrl; //下载地址
classStatusInfo.serverTimestamp = this.serverTimestamp; //当前的系统时间戳
classStatusInfo.activeDocId = this.activeDocId; //当前激活的文档ID
classStatusInfo.activeDocCurPage = this.activeDocCurPage; //当前激活的文档的当前页
classStatusInfo.currentSceneTableId = this.currentSceneTableId; //文档区域的模块显示
return classStatusInfo;
}
_currentStatus=null;
static getCurrentStatus(){
if(this._currentStatus==null){
this._currentStatus=this.statusCode_0;
}
return this._currentStatus;
//设置当前的课堂状态的信息
static setClassStatusInfo(_data) {
loger.log("setClassStatusInfo");
if (_data == null) {
loger.warn("classStatusInfo error,_data:", _data);
return;
}
static setCurrentStatus(_data){
this._currentStatus=_data;
let data = _data;
//下列的信息以从Sass获取的最新的为准
if (!this.siteId) {
this.siteId = data.siteId; //站点号
}
static getClassDetail(){
return this.classDetail;
if (!this.classId) {
this.classId = data.classId;
}
static setClassDetail(_data){
this.classDetail=_data;
if (!this.className) {
this.className = data.className;
}
static getClassInfo (){
let classInfo={};
classInfo.siteId= this.siteId;
classInfo.classId= this.classId;
classInfo.className=this.className;
classInfo.h5Module= this.h5Module;
classInfo.nodeId=this.nodeId;
classInfo.topNodeID=this.topNodeID;
classInfo.userRole=this.userRole;
classInfo.role= this.role;
classInfo.isHost= this.isHost;
classInfo.userId= this.userId;
classInfo.userName= this.userName;
classInfo.password= this.password;
classInfo.userType= this.userType;
classInfo.passwordRequired= this.passwordRequired;
classInfo.md5=this.md5;
classInfo.msType= this.msType;
classInfo.portal= this.portal;
classInfo.mcuDelay=this.mcuDelay;
classInfo.MCUServerIP=this.MCUServerIP;
classInfo.MCUServerPort=this.MCUServerPort;
classInfo.maxVideoChannels= this.maxVideoChannels;
classInfo.maxAudioChannels=this.maxAudioChannels;
classInfo.maxMediaChannels=this.maxMediaChannels;
classInfo.fps=this.fps;
classInfo.gop=this.gop;
classInfo.videoQuality=this.videoQuality;
classInfo.ssTunnelAppURL = this.ssTunnelAppURL;
classInfo.currentSceneTableId=this.currentSceneTableId;//文档区域的模块显示
return classInfo;
if (!this.classType) {
this.classType = data.classType;
}
//获取当前的课堂状态的信息
static get classStatusInfo(){
let classStatusInfo={};
classStatusInfo.siteId=this.siteId;//站点号
classStatusInfo.classId=this.classId;
classStatusInfo.className=this.className;
classStatusInfo.classType=this.classType;//课堂类型
classStatusInfo.classStatus=this.classStatus;//课堂的状态
classStatusInfo.classStartTime=this.classStartTime;//课堂点击开始时间
classStatusInfo.classStopTime=this.classStopTime;//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
classStatusInfo.classTimestamp=this.classTimestamp;//相对于点开始课堂的时间戳
classStatusInfo.recordPlaybackMaxTime=this.recordPlaybackMaxTime;//相对于点开始课堂的时间戳
classStatusInfo.classBeginTime=this.classBeginTime;//课堂创建的时间,这个是Sass返回的
classStatusInfo.classEndTime=this.classEndTime;//课堂结束的时间,这个是Sass返回的
classStatusInfo.recordStatus=this.recordStatus;//当前录制状态
classStatusInfo.recordTimestamp=this.recordTimestamp;//相对于首次开始录制的时间戳
classStatusInfo.recordFileName=this.recordFileName;//录制的文件名
classStatusInfo.recordDownloadUrl=this.recordDownloadUrl;//下载地址
classStatusInfo.serverTimestamp=this.serverTimestamp;//当前的系统时间戳
classStatusInfo.activeDocId=this.activeDocId;//当前激活的文档ID
classStatusInfo.activeDocCurPage=this.activeDocCurPage;//当前激活的文档的当前页
classStatusInfo.currentSceneTableId=this.currentSceneTableId;//文档区域的模块显示
return classStatusInfo;
if (!this.classBeginTime) {
this.classBeginTime = data.classBeginTime; //课堂创建的时间,这个是Sass返回的
}
if (!this.classEndTime) {
this.classEndTime = data.classEndTime; //课堂结束的时间,这个是Sass返回的
}
//设置当前的课堂状态的信息
static setClassStatusInfo(_data){
loger.log("setClassStatusInfo");
if(_data==null){
loger.warn("classStatusInfo error,_data:",_data);
return;
}
let data=_data;
//下列的信息以从Sass获取的最新的为准
if(!this.siteId){
this.siteId=data.siteId;//站点号
}
if(!this.classId){
this.classId=data.classId;
}
if(!this.className){
this.className=data.className;
}
if(!this.classType){
this.classType=data.classType;
}
if(!this.classBeginTime){
this.classBeginTime=data.classBeginTime;//课堂创建的时间,这个是Sass返回的
}
if(!this.classEndTime){
this.classEndTime=data.classEndTime;//课堂结束的时间,这个是Sass返回的
}
//下面的信息Sass和mcu都会更新
this.classStatus = data.classStatus || this.classStatus; //课堂的状态
this.classStartTime = data.classStartTime || this.classStartTime; //课堂点击开始时间
this.classStopTime = data.classStopTime || this.classStopTime; //最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
this.classTimestamp = data.classTimestamp || this.classTimestamp; //相对于点开始课堂的时间戳
//下面的信息Sass和mcu都会更新
this.classStatus=data.classStatus||this.classStatus;//课堂的状态
this.classStartTime=data.classStartTime||this.classStartTime;//课堂点击开始时间
this.classStopTime=data.classStopTime||this.classStopTime;//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
this.classTimestamp=data.classTimestamp||this.classTimestamp;//相对于点开始课堂的时间戳
this.recordStatus=data.recordStatus||this.recordStatus;//当前录制状态
this.recordTimestamp=data.recordTimestamp||this.recordTimestamp;//相对于首次开始录制的时间戳
this.recordFileName=data.recordFileName||this.recordFileName;//录制的文件名
this.recordDownloadUrl=data.recordDownloadUrl||this.recordDownloadUrl;//下载地址
this.currentSceneTableId=data.currentSceneTableId||0;//文档区域的模块显示
}
// 全局禁言状态
this.silence = data.silence || false;
// 自有禁言状态
this.selfSilence = data.selfSilence || '';
this.recordStatus = data.recordStatus || this.recordStatus; //当前录制状态
this.recordTimestamp = data.recordTimestamp || this.recordTimestamp; //相对于首次开始录制的时间戳
this.recordFileName = data.recordFileName || this.recordFileName; //录制的文件名
this.recordDownloadUrl = data.recordDownloadUrl || this.recordDownloadUrl; //下载地址
this.currentSceneTableId = data.currentSceneTableId || 0; //文档区域的模块显示
}
// 判断自己是否主持人角色
static get isHost(){
if(this.userRole ==ApeConsts.host){
return true;
}
return false;
// 判断自己是否主持人角色
static get isHost() {
if (this.userRole == ApeConsts.host) {
return true;
}
return false;
}
// 判断自己是否助教角色
static get isAssistant()
{
if(this.userRole ==ApeConsts.assistant){
return true;
}
return false;
// 判断自己是否助教角色
static get isAssistant() {
if (this.userRole == ApeConsts.assistant) {
return true;
}
return false;
}
// 判断自己是否主讲人角色
static get isPresenter()
{
if(this.userRole ==ApeConsts.presenter){
return true;
}
return false;
// 判断自己是否主讲人角色
static get isPresenter() {
if (this.userRole == ApeConsts.presenter) {
return true;
}
return false;
}
// 判断自己是否普通角色
static get isNormal()
{
if(this.userRole ==ApeConsts.normal) {
return true;
}
return false;
// 判断自己是否普通角色
static get isNormal() {
if (this.userRole == ApeConsts.normal) {
return true;
}
return false;
}
// 判断自己是否是隐身用户
static get isInvisible(){
if(this.userRole == ApeConsts.invisible){
return true;
}
return false;
// 判断自己是否是隐身用户
static get isInvisible() {
if (this.userRole == ApeConsts.invisible) {
return true;
}
return false;
}
static get serverTimestamp(){
return EngineUtils.creatTimestamp();
static get serverTimestamp() {
return EngineUtils.creatTimestamp();
}
//储存已经提前上传的文档列表
static setDocListPrepare(_data){
if(_data==null) return;
this.docListPrepare=_data;
}
static getDocListPrepare(){
return this.docListPrepare;
static setDocListPrepare(_data) {
if (_data == null) return;
this.docListPrepare = _data;
}
static getDocListPrepare() {
return this.docListPrepare;
}
//储存已经提前上传的媒体共享文件列表
static setMediaShareList(_data){
if(_data==null) return;
this.sharedMediaList=_data;
}
static getMediaShareList(){
return this.sharedMediaList;
}
//储存录制列表
static setRecordList(_data){
if(_data==null) return;
this.recordList=_data;
}
static getRecordList(){
return this.recordList;
}
//文档服务器列表
static setDocList(_data){
if(_data==null) return;
this.docList=_data;
}
static getDocList(){
return this.docList;
static setMediaShareList(_data) {
if (_data == null) return;
this.sharedMediaList = _data;
}
static getMediaShareList() {
return this.sharedMediaList;
}
//储存录制列表
static setRecordList(_data) {
if (_data == null) return;
this.recordList = _data;
}
static getRecordList() {
return this.recordList;
}
//文档服务器列表
static setDocList(_data) {
if (_data == null) return;
this.docList = _data;
}
static getDocList() {
return this.docList;
}
//ms列表
static setMsList(_data){
if(_data==null) return;
//MSlist列表中的地址需要进行筛选,目前有的站点播流和推流需要分开
if(GlobalConfig.siteId==GlobalConfig.siteId_letv){
this.msList=[];
this.pullRtmpList=[];
this.hlsList=[];
let len=_data.length;
for(let i=0;i<len;i++){
let item=_data[i];
if(item&&item.ip){
if(item.ip.indexOf('pull.')>=0){
this.pullRtmpList.push(item);
}else if(item.ip.indexOf('lehls.')>=0){
this.hlsList.push(item);
}else {
this.msList.push(item);
}
}
}
loger.log("msListAll->",_data);
loger.log("msList->",this.msList);
loger.log("pullList->",this.pullRtmpList);
loger.log("hlsList->",this.hlsList);
}else {
this.msList=_data;
static setMsList(_data) {
if (_data == null) return;
//MSlist列表中的地址需要进行筛选,目前有的站点播流和推流需要分开
if (GlobalConfig.siteId == GlobalConfig.siteId_letv) {
this.msList = [];
this.pullRtmpList = [];
this.hlsList = [];
let len = _data.length;
for (let i = 0; i < len; i++) {
let item = _data[i];
if (item && item.ip) {
if (item.ip.indexOf('pull.') >= 0) {
this.pullRtmpList.push(item);
} else if (item.ip.indexOf('lehls.') >= 0) {
this.hlsList.push(item);
} else {
this.msList.push(item);
}
}
}
static getMsList(){
return this.msList;
}
//mcu列表
static setMcuList(_data){
if(_data==null) return;
this.mcuList=_data;
}
static getMcuList(){
return this.mcuList;
}
//声音列表
static setMusicList(_data){
if(_data==null) return;
this.musicList=_data;
}
static getMusicList(){
return this.musicList;
}
loger.log("msListAll->", _data);
loger.log("msList->", this.msList);
loger.log("pullList->", this.pullRtmpList);
loger.log("hlsList->", this.hlsList);
} else {
this.msList = _data;
}
}
static getMsList() {
return this.msList;
}
//mcu列表
static setMcuList(_data) {
if (_data == null) return;
this.mcuList = _data;
}
static getMcuList() {
return this.mcuList;
}
//声音列表
static setMusicList(_data) {
if (_data == null) return;
this.musicList = _data;
}
static getMusicList() {
return this.musicList;
}
//已经上传的声音列表
static setMusicListPrepare(_data){
if(_data==null) return;
this.musicListPrepare=_data;
}
static getMusicListPrepare(){
return this.musicListPrepare;
}
//rs列表
static setRsList(_data){
if(_data==null) return;
this.rsList=_data;
}
static getRsList(){
return this.rsList;
}
//CDN加速的 拉流地址 rtmp 和hls(m3u8)
static setVideoCDNAddr(_data){
if(_data==null) return;
//ideoCDNAddr中的地址需要进行筛选,里面包含hls开头和rtmppush开头的地址
this.videoCDNAddr=_data||'';
if(this.videoCDNAddr){
this.videoCDNAddrList=this.videoCDNAddr.split(';');
}
loger.log("videoCDNAddrList->",this.videoCDNAddrList);
}
static setMusicListPrepare(_data) {
if (_data == null) return;
this.musicListPrepare = _data;
}
static getMusicListPrepare() {
return this.musicListPrepare;
}
//rs列表
static setRsList(_data) {
if (_data == null) return;
this.rsList = _data;
}
static getRsList() {
return this.rsList;
}
//CDN加速的 拉流地址 rtmp 和hls(m3u8)
static setVideoCDNAddr(_data) {
if (_data == null) return;
//ideoCDNAddr中的地址需要进行筛选,里面包含hls开头和rtmppush开头的地址
this.videoCDNAddr = _data || '';
if (this.videoCDNAddr) {
this.videoCDNAddrList = this.videoCDNAddr.split(';');
}
loger.log("videoCDNAddrList->", this.videoCDNAddrList);
}
}
GlobalConfig.statusCode_0={"code":0,message:"SDK 未初始化"};
GlobalConfig.statusCode_1={"code":1,message:"未加入课堂"};
GlobalConfig.statusCode_2={"code":2,message:"已经加入课堂"};
GlobalConfig.statusCode_3={"code":3,message:"已经离开课堂"};
GlobalConfig.statusCode_4={"code":4,message:"未知状态"};
GlobalConfig.statusCode_0 = { "code": 0, message: "SDK 未初始化" };
GlobalConfig.statusCode_1 = { "code": 1, message: "未加入课堂" };
GlobalConfig.statusCode_2 = { "code": 2, message: "已经加入课堂" };
GlobalConfig.statusCode_3 = { "code": 3, message: "已经离开课堂" };
GlobalConfig.statusCode_4 = { "code": 4, message: "未知状态" };
GlobalConfig.screenWidth=1024;
GlobalConfig.screenHeight=768;
GlobalConfig.screenWidth = 1024;
GlobalConfig.screenHeight = 768;
GlobalConfig.md5="";
GlobalConfig.msType=1;//目前固定用这个
GlobalConfig.messageDelay=false;//是否启用消息延迟
GlobalConfig.mcuDelay=0;//默认的延迟时间(单位-秒)
GlobalConfig.md5 = "";
GlobalConfig.msType = 1; //目前固定用这个
GlobalConfig.messageDelay = false; //是否启用消息延迟
GlobalConfig.mcuDelay = 0; //默认的延迟时间(单位-秒)
GlobalConfig.docDelay=1600;//文档模块加入成功之后延迟发送送成功的消息给主模块(sdk内部使用)
GlobalConfig.portal="112.126.80.182:80";//Sass IP
GlobalConfig.docDelay = 1600; //文档模块加入成功之后延迟发送送成功的消息给主模块(sdk内部使用)
GlobalConfig.portal = "112.126.80.182:80"; //Sass IP
//GlobalConfig.ip="112.126.80.182";
//GlobalConfig.port="80";
//连接MCU的IP+端口
GlobalConfig.MCUServerIP="";
GlobalConfig.MCUServerPort='';
GlobalConfig.MCUServerIP = "";
GlobalConfig.MCUServerPort = '';
//推流地址+端口
GlobalConfig.MS_PUBLISH_IP = "";
GlobalConfig.MS_PUBLISH_PORT ="";
GlobalConfig.MS_PUBLISH_PORT = "";
//rtmp 拉流地址+端口(rtmp)
GlobalConfig.MS_PLAY_RTMP_IP="";
GlobalConfig.MS_PLAY_RTMP_PORT="";
GlobalConfig.MS_PLAY_RTMP_IP = "";
GlobalConfig.MS_PLAY_RTMP_PORT = "";
//HLS 拉流地址+端口 (m3u8)
GlobalConfig.MS_PLAY_HLS_IP="";
GlobalConfig.MS_PLAY_HLS_PORT="";
GlobalConfig.MS_PLAY_HLS_IP = "";
GlobalConfig.MS_PLAY_HLS_PORT = "";
//录制回放 m3u8播流地址()
GlobalConfig.RS_RECORD_PLAY_IP ="";
GlobalConfig.RS_RECORD_PLAY_PORT ="";
GlobalConfig.RS_RECORD_PLAY_IP = "";
GlobalConfig.RS_RECORD_PLAY_PORT = "";
//DOC
GlobalConfig.DOCServerIP ="";
GlobalConfig.DOCServerPort ="";
GlobalConfig.RecordServerIP ="";
GlobalConfig.RecordServerPort ="";
GlobalConfig.maxVideoChannels=0;//最大视频路数
GlobalConfig.maxAudioChannels=0;//最大音频路数
GlobalConfig.maxMediaChannels=0;//最大音视频路数,以音视频路数中的最大值为准
GlobalConfig.hasCamera=false;//摄像头是否可用
GlobalConfig.hasMicrophone=false;//麦克风是否可用
GlobalConfig.deviceType=0; //设备类型 0:电脑 1:安卓 2:ios
GlobalConfig.userIp="";//用户当前IP
GlobalConfig.userId=0;
GlobalConfig.userName="";
GlobalConfig.handUpTime=0;
GlobalConfig.level=0;
GlobalConfig.openCamera=0;
GlobalConfig.openMicrophones=0;
GlobalConfig.DOCServerIP = "";
GlobalConfig.DOCServerPort = "";
GlobalConfig.RecordServerIP = "";
GlobalConfig.RecordServerPort = "";
GlobalConfig.maxVideoChannels = 0; //最大视频路数
GlobalConfig.maxAudioChannels = 0; //最大音频路数
GlobalConfig.maxMediaChannels = 0; //最大音视频路数,以音视频路数中的最大值为准
GlobalConfig.hasCamera = false; //摄像头是否可用
GlobalConfig.hasMicrophone = false; //麦克风是否可用
GlobalConfig.deviceType = 0; //设备类型 0:电脑 1:安卓 2:ios
GlobalConfig.userIp = ""; //用户当前IP
GlobalConfig.userId = 0;
GlobalConfig.userName = "";
GlobalConfig.handUpTime = 0;
GlobalConfig.level = 0;
GlobalConfig.openCamera = 0;
GlobalConfig.openMicrophones = 0;
//视频质量相关设置
GlobalConfig.fps=15;//帧频
GlobalConfig.gop=3;//关键帧间隔(秒)
GlobalConfig.videoQuality=2;//画面质量 0-低;1-中;2-高;
GlobalConfig.curVideoQuality=2;//当前分辨率
GlobalConfig.cameras=[];//摄像头列表
GlobalConfig.microphones=[];//麦克风列表
GlobalConfig.curCamera="";//当前选择的摄像头
GlobalConfig.curMicrophone='';//当前选择的麦克风
GlobalConfig.micGain=50;//音量(0-80)
GlobalConfig.speakerVolume=50;//扬声器音量(0-80)
GlobalConfig.micCode=0;//麦克风模式
GlobalConfig.audioRecords=[];
GlobalConfig.videoRecords=[];
GlobalConfig.status=0
GlobalConfig.mobileDirection=0;
GlobalConfig.nodeId=0;//随机生成 mcu中的唯一ID
GlobalConfig.passwordRequired=false;
GlobalConfig.password="";
GlobalConfig.userType=8;//默认是8
GlobalConfig.userRole=ApeConsts.normal;//用户的身份,5种类型:
GlobalConfig.role=ApeConsts.NR_NORMAL;//课堂角色身份
GlobalConfig.h5Module=1;//是否支持H5
GlobalConfig.topNodeID=101;//现在固定值,还不知道是做什么用
GlobalConfig.siteId="";//站点号
GlobalConfig.className= ""; // 课程名称
GlobalConfig.classId=0;//课堂号=classId=meetingNumber 之后统一修改为classId
GlobalConfig.classType=ApeConsts.CLASS_TYPE_1;//课堂类型
GlobalConfig.classStatus=ApeConsts.CLASS_STATUS_WAIT;// 0;//课堂还未开始 1;//直播中 2 //课间休息 3已经停止
GlobalConfig.classStartTime="";//课堂点击开始时间
GlobalConfig.classStopTime="";//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
GlobalConfig.classBeginTime="";//课堂创建的时间,这个是Sass返回的
GlobalConfig.classEndTime="";//课堂结束的时间,这个是Sass返回的
GlobalConfig.classTimestamp=0;//从课堂开始到现在的时
GlobalConfig.classJoinSuccess=false;//是否已经加入课堂
GlobalConfig.recordPlaybackMaxTime=0;//录制回放的总时间
GlobalConfig.recordStatus=false;//当前录制状态
GlobalConfig.recordTimestamp=0;//相对于首次开始录制的进行时间
GlobalConfig.recordFileName="";//录制的文件名,如 果为空就创建一个
GlobalConfig.recordDownloadUrl="";//下载地址
GlobalConfig.recordReplaytickValues={}; // 滚动条关键点,用于快进快退
GlobalConfig.isAutoStartClass=0;//是否自动开始上课 0-否 ;1 是
GlobalConfig.updateClassInfoDelay=30;//(秒),每隔30秒同步一次课堂状态的并保存到Sass
GlobalConfig.msDynamicChooseIpDelay=15;//(秒)MS动态选点的间隔
GlobalConfig.fps = 15; //帧频
GlobalConfig.gop = 3; //关键帧间隔(秒)
GlobalConfig.videoQuality = 2; //画面质量 0-低;1-中;2-高;
GlobalConfig.curVideoQuality = 2; //当前分辨率
GlobalConfig.cameras = []; //摄像头列表
GlobalConfig.microphones = []; //麦克风列表
GlobalConfig.curCamera = ""; //当前选择的摄像头
GlobalConfig.curMicrophone = ''; //当前选择的麦克风
GlobalConfig.micGain = 50; //音量(0-80)
GlobalConfig.speakerVolume = 50; //扬声器音量(0-80)
GlobalConfig.micCode = 0; //麦克风模式
GlobalConfig.audioRecords = [];
GlobalConfig.videoRecords = [];
GlobalConfig.status = 0
GlobalConfig.mobileDirection = 0;
GlobalConfig.nodeId = 0; //随机生成 mcu中的唯一ID
GlobalConfig.passwordRequired = false;
GlobalConfig.password = "";
GlobalConfig.userType = 8; //默认是8
GlobalConfig.userRole = ApeConsts.normal; //用户的身份,5种类型:
GlobalConfig.role = ApeConsts.NR_NORMAL; //课堂角色身份
GlobalConfig.h5Module = 1; //是否支持H5
GlobalConfig.topNodeID = 101; //现在固定值,还不知道是做什么用
GlobalConfig.siteId = ""; //站点号
GlobalConfig.className = ""; // 课程名称
GlobalConfig.classId = 0; //课堂号=classId=meetingNumber 之后统一修改为classId
GlobalConfig.classType = ApeConsts.CLASS_TYPE_1; //课堂类型
GlobalConfig.classStatus = ApeConsts.CLASS_STATUS_WAIT; // 0;//课堂还未开始 1;//直播中 2 //课间休息 3已经停止
GlobalConfig.classStartTime = ""; //课堂点击开始时间
GlobalConfig.classStopTime = ""; //最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
GlobalConfig.classBeginTime = ""; //课堂创建的时间,这个是Sass返回的
GlobalConfig.classEndTime = ""; //课堂结束的时间,这个是Sass返回的
GlobalConfig.classTimestamp = 0; //从课堂开始到现在的时
GlobalConfig.classJoinSuccess = false; //是否已经加入课堂
GlobalConfig.recordPlaybackMaxTime = 0; //录制回放的总时间
GlobalConfig.recordStatus = false; //当前录制状态
GlobalConfig.silence = false; //当前课堂禁言状态
GlobalConfig.selfSilence = ''; //当前课堂禁言状态
GlobalConfig.recordTimestamp = 0; //相对于首次开始录制的进行时间
GlobalConfig.recordFileName = ""; //录制的文件名,如 果为空就创建一个
GlobalConfig.recordDownloadUrl = ""; //下载地址
GlobalConfig.recordReplaytickValues = {}; // 滚动条关键点,用于快进快退
GlobalConfig.isAutoStartClass = 0; //是否自动开始上课 0-否 ;1 是
GlobalConfig.updateClassInfoDelay = 30; //(秒),每隔30秒同步一次课堂状态的并保存到Sass
GlobalConfig.msDynamicChooseIpDelay = 15; //(秒)MS动态选点的间隔
//GlobalConfig.serverTimestamp=0;//当前的系统时间戳 用get set 获取
GlobalConfig.activeDocId = 0; //当前激活的文档ID
GlobalConfig.activeDocCurPage = 1; //当前激活的文档的当前页
GlobalConfig.activeDocId=0;//当前激活的文档ID
GlobalConfig.activeDocCurPage=1;//当前激活的文档的当前页
GlobalConfig.activeMediaId = 0; //当前显示的媒体文件的id
GlobalConfig.activeMediaSeek = 1; //当前的媒体文件的播放进度seek点
GlobalConfig.activeMediaId=0;//当前显示的媒体文件的id
GlobalConfig.activeMediaSeek=1;//当前的媒体文件的播放进度seek点
GlobalConfig.currentSceneTableId = 0; //文档区域的当前模块id显示的模块 0=文档模块、1=屏幕共享、2=媒体共享
GlobalConfig.currentSceneTableId=0;//文档区域的当前模块id显示的模块 0=文档模块、1=屏幕共享、2=媒体共享
GlobalConfig.classAllParam={};//Sass直接返回的所有课堂信息(最全)
GlobalConfig.classDetail={};//Sass直接返回的当前课堂基本信息
GlobalConfig.classAllParam = {}; //Sass直接返回的所有课堂信息(最全)
GlobalConfig.classDetail = {}; //Sass直接返回的当前课堂基本信息
//从Sass获取的
GlobalConfig.sharedMediaList=[]; // 已经提前上传的媒体文件列表,进入课堂后需要自动加载
GlobalConfig.docListPrepare=[]; // 已经提前上传的文档,进入课堂后需要自动加载
GlobalConfig.recordList=[];//录制服务器地址集合
GlobalConfig.docList=[];//文档服务器地址集合
GlobalConfig.mcuList=[];//录制服务器地址集合
GlobalConfig.msList=[];//ms服务器地址集合
GlobalConfig.musicList=[];//music服务器地址集合
GlobalConfig.musicListPrepare=[];//提提前上传的music集合
GlobalConfig.rsList=[];//录制回放中视频点播地址
GlobalConfig.videoCDNAddr='';
GlobalConfig.videoCDNAddrList=[];//从videoCDNAddr转换来的,videoCDNAddr字符串用分号隔开了多个ip
GlobalConfig.sharedMediaList = []; // 已经提前上传的媒体文件列表,进入课堂后需要自动加载
GlobalConfig.docListPrepare = []; // 已经提前上传的文档,进入课堂后需要自动加载
GlobalConfig.recordList = []; //录制服务器地址集合
GlobalConfig.docList = []; //文档服务器地址集合
GlobalConfig.mcuList = []; //录制服务器地址集合
GlobalConfig.msList = []; //ms服务器地址集合
GlobalConfig.musicList = []; //music服务器地址集合
GlobalConfig.musicListPrepare = []; //提提前上传的music集合
GlobalConfig.rsList = []; //录制回放中视频点播地址
GlobalConfig.videoCDNAddr = '';
GlobalConfig.videoCDNAddrList = []; //从videoCDNAddr转换来的,videoCDNAddr字符串用分号隔开了多个ip
//乐视的推流和播放需要分开
GlobalConfig.pullRtmpList=[];//rtmp播流地址集合(推流和播流地址需要区分的站点使用)
GlobalConfig.hlsList=[];//hls播流地址集合(推流和播流地址需要区分的站点使用)
GlobalConfig.pullRtmpList = []; //rtmp播流地址集合(推流和播流地址需要区分的站点使用)
GlobalConfig.hlsList = []; //hls播流地址集合(推流和播流地址需要区分的站点使用)
//根据IP从server获取
GlobalConfig.mcuListFromServer=[];//根据userIP从server获取的mcu列表
GlobalConfig.msListFromServer=[];//根据userIP从server获取的ms列表
GlobalConfig.country ="";//国家
GlobalConfig.city ="";//城市
GlobalConfig.province = "";//服务商
GlobalConfig.isp ="";//服务商
GlobalConfig.mcuListAll=[];//所有MCU集合(sass+server)
GlobalConfig.msListAll=[];//所有MS集合(sass+server)
GlobalConfig.mcuListFromServer = []; //根据userIP从server获取的mcu列表
GlobalConfig.msListFromServer = []; //根据userIP从server获取的ms列表
GlobalConfig.country = ""; //国家
GlobalConfig.city = ""; //城市
GlobalConfig.province = ""; //服务商
GlobalConfig.isp = ""; //服务商
GlobalConfig.isRecordPlayBack=false;//是否是录制回放,默认是否
GlobalConfig.allowRecordMaxTime=14400;//(秒)允许录制的最长时间,默认是4小时
GlobalConfig.mcuListAll = []; //所有MCU集合(sass+server)
GlobalConfig.msListAll = []; //所有MS集合(sass+server)
GlobalConfig.siteId_letv='shchuanbao';//乐视,MS不需要动态选点的站点
GlobalConfig.ssTunnelAppURL='';//屏幕共享插件的地址
GlobalConfig.isRecordPlayBack = false; //是否是录制回放,默认是否
GlobalConfig.allowRecordMaxTime = 14400; //(秒)允许录制的最长时间,默认是4小时
GlobalConfig.siteId_letv = 'shchuanbao'; //乐视,MS不需要动态选点的站点
GlobalConfig.ssTunnelAppURL = ''; //屏幕共享插件的地址
export default GlobalConfig;
export default GlobalConfig;
... ...