Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
李勇
/
McuClient
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
李勇
2017-03-01 10:25:06 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
c14e9f29efccde3f4f34e83aa487fa43a16e514a
c14e9f29
1 parent
ff5cc31c
1.修改3个接口的回调方法,改为事件监听:初始化课堂成功、加入课堂成功、ERROR异常 3个事件监听
2.修改定义MessageType中的事件id定义,统一为数字的String
隐藏空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
102 行增加
和
95 行删除
src/EngineEntrance.js
src/MessageTypes.js
src/apes/Ape.js
src/mcu.js
src/EngineEntrance.js
查看文件 @
c14e9f2
...
...
@@ -71,7 +71,7 @@ export default class MessageEntrance extends Emiter {
// 底层MCU消息层
_mcu
=
Mcu
;
_mcu
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
_mcu
.
on
(
MessageTypes
.
CLASS_JOIN_
SUCCESS
,
this
.
_mcuJoin
ClassSuccessHandler
.
bind
(
this
));
//加入MCU会议完成
_mcu
.
on
(
MessageTypes
.
CLASS_JOIN_
MCU_SUCCESS
,
this
.
_mcuJoinMCU
ClassSuccessHandler
.
bind
(
this
));
//加入MCU会议完成
// 注册所有应用Ape
...
...
@@ -89,11 +89,11 @@ export default class MessageEntrance extends Emiter {
_video_ape
=
new
VideoApe
();
_video_ape
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
_video_ape
.
on
(
MessageTypes
.
VIDEO_UPDATE
,
this
.
videoUpdate
.
bind
(
this
));
//
_video_ape.on(MessageTypes.VIDEO_UPDATE, this.videoUpdate.bind(this));
_audio_ape
=
new
AudioApe
();
_audio_ape
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
_audio_ape
.
on
(
MessageTypes
.
AUDIO_UPDATE
,
this
.
audioUpdate
.
bind
(
this
));
//
_audio_ape.on(MessageTypes.AUDIO_UPDATE, this.audioUpdate.bind(this));
_whiteboard_ape
=
new
WhiteBoardApe
();
_whiteboard_ape
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
...
...
@@ -159,12 +159,15 @@ export default class MessageEntrance extends Emiter {
//mcu异常监听
_mcuErrorHandler
(
_data
,
_option
)
{
if
(
_mcuErrorCallBackFun
)
{
let
option
=
_option
||
""
;
let
errorMessage
=
{
"code"
:
_data
,
"reson"
:
MessageTypes
.
ErrorReson
[
_data
]
+
" "
+
option
};
loger
.
error
(
"MCU_ERROR"
,
errorMessage
);
let
option
=
_option
||
""
;
let
errorMessage
=
{
"code"
:
_data
,
"reson"
:
MessageTypes
.
ErrorReson
[
_data
]
+
" "
+
option
};
loger
.
error
(
"MCU_ERROR"
,
errorMessage
);
this
.
_emit
(
MessageTypes
.
ERROR
,
errorMessage
);
/* if (_mcuErrorCallBackFun) {
_mcuErrorCallBackFun(errorMessage);
}
}
*/
}
//获取当前的状态
...
...
@@ -253,7 +256,7 @@ export default class MessageEntrance extends Emiter {
_mcuErrorCallBackFun
=
_mcuErrorCallBack
;
//{"classId":"1653304953","portal":"112.126.80.182:80","userRole":"normal","userId":0}
//判断传入的参数是否存在
if
(
_param
==
null
||
EngineUtils
.
isEmptyObject
(
_param
)
||
_onSuccess
==
null
||
_mcuErrorCallBack
==
null
)
{
if
(
_param
==
null
||
EngineUtils
.
isEmptyObject
(
_param
))
{
loger
.
error
(
'init初始化失败,参数错误'
);
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_CLASS_INIT_PARAM
);
return
;
...
...
@@ -283,7 +286,7 @@ export default class MessageEntrance extends Emiter {
_joinClass
(
_param
,
_onSuccess
)
{
_joinClassSuccessCallBackFun
=
_onSuccess
;
//{"userName":"名字","password":""}
if
(
_param
==
null
||
EngineUtils
.
isEmptyObject
(
_param
)
||
_onSuccess
==
null
)
{
if
(
_param
==
null
||
EngineUtils
.
isEmptyObject
(
_param
))
{
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_CLASS_JOIN_PARAM
);
loger
.
log
(
'不能进入会议,传递的参数不对.'
,
_param
);
return
;
...
...
@@ -324,25 +327,27 @@ export default class MessageEntrance extends Emiter {
//设置当前的会议状态
GlobalConfig
.
setCurrentStatus
(
GlobalConfig
.
statusCode_1
);
//返回给客户端初始化成功的数据
let
initSuccessCallBackData
=
{};
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
;
//host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的
if
(
GlobalConfig
.
userRole
==
ApeConsts
.
host
)
{
initSuccessCallBackData
.
passwordRequired
=
true
;
}
else
{
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
}
if
(
_initSuccessCallBackFun
)
{
//返回给客户端初始化成功的数据
let
initSuccessCallBackData
=
{};
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
;
//host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的
if
(
GlobalConfig
.
userRole
==
ApeConsts
.
host
)
{
initSuccessCallBackData
.
passwordRequired
=
true
;
}
else
{
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
}
this
.
_emit
(
MessageTypes
.
CLASS_INIT_SUCCESS
,
initSuccessCallBackData
);
/* if (_initSuccessCallBackFun) {
_initSuccessCallBackFun(initSuccessCallBackData);
}
}*/
}
// 通过SASS平台验证(密码和MD5)
...
...
@@ -566,50 +571,54 @@ export default class MessageEntrance extends Emiter {
}
// MCU 会议成功
_mcuJoinClassSuccessHandler
(
_data
)
{
_mcuJoin
MCU
ClassSuccessHandler
(
_data
)
{
loger
.
log
(
'MCU 会议成功.'
);
GlobalConfig
.
setCurrentStatus
(
GlobalConfig
.
statusCode_2
);
//返回给客户数据
//返回给客户端初始化成功的数据
let
initSuccessCallBackData
=
{};
initSuccessCallBackData
.
DOCServerIP
=
GlobalConfig
.
DOCServerIP
;
initSuccessCallBackData
.
DOCServerPort
=
GlobalConfig
.
DOCServerPort
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
className
=
GlobalConfig
.
className
;
initSuccessCallBackData
.
h5Module
=
GlobalConfig
.
h5Module
;
initSuccessCallBackData
.
isHost
=
GlobalConfig
.
isHost
;
initSuccessCallBackData
.
maxAudioChannels
=
GlobalConfig
.
maxAudioChannels
;
initSuccessCallBackData
.
maxVideoChannels
=
GlobalConfig
.
maxVideoChannels
;
initSuccessCallBackData
.
mcuDelay
=
GlobalConfig
.
mcuDelay
;
initSuccessCallBackData
.
msType
=
GlobalConfig
.
msType
;
initSuccessCallBackData
.
nodeId
=
GlobalConfig
.
nodeId
;
initSuccessCallBackData
.
password
=
GlobalConfig
.
password
;
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
// 老师的默认是true
//GlobalConfig.passwordRequired 老师的默认是true
//GlobalConfig.portal=_data.portal;
initSuccessCallBackData
.
role
=
GlobalConfig
.
role
;
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
topNodeID
=
GlobalConfig
.
topNodeID
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
userName
=
GlobalConfig
.
userName
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userType
=
GlobalConfig
.
userType
;
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
initSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_INTERACT
;
loger
.
log
(
'加入会议成功'
);
console
.
log
(
initSuccessCallBackData
);
//加入会议成功,广播消息
this
.
_emit
(
MessageTypes
.
CLASS_JOIN_SUCCESS
,
initSuccessCallBackData
);
/* //返回给客户数据
if (_joinClassSuccessCallBackFun) {
//返回给客户端初始化成功的数据
let
initSuccessCallBackData
=
{};
initSuccessCallBackData
.
DOCServerIP
=
GlobalConfig
.
DOCServerIP
;
initSuccessCallBackData
.
DOCServerPort
=
GlobalConfig
.
DOCServerPort
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
className
=
GlobalConfig
.
className
;
initSuccessCallBackData
.
h5Module
=
GlobalConfig
.
h5Module
;
initSuccessCallBackData
.
isHost
=
GlobalConfig
.
isHost
;
initSuccessCallBackData
.
maxAudioChannels
=
GlobalConfig
.
maxAudioChannels
;
initSuccessCallBackData
.
maxVideoChannels
=
GlobalConfig
.
maxVideoChannels
;
initSuccessCallBackData
.
mcuDelay
=
GlobalConfig
.
mcuDelay
;
initSuccessCallBackData
.
msType
=
GlobalConfig
.
msType
;
initSuccessCallBackData
.
nodeId
=
GlobalConfig
.
nodeId
;
initSuccessCallBackData
.
password
=
GlobalConfig
.
password
;
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
// 老师的默认是true
//GlobalConfig.passwordRequired 老师的默认是true
//GlobalConfig.portal=_data.portal;
initSuccessCallBackData
.
role
=
GlobalConfig
.
role
;
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
topNodeID
=
GlobalConfig
.
topNodeID
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
userName
=
GlobalConfig
.
userName
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userType
=
GlobalConfig
.
userType
;
initSuccessCallBackData
.
siteId
=
GlobalConfig
.
siteId
;
initSuccessCallBackData
.
classId
=
GlobalConfig
.
classId
;
initSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
initSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
initSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
initSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_INTERACT
;
loger
.
log
(
'加入会议成功'
);
console
.
log
(
initSuccessCallBackData
);
_joinClassSuccessCallBackFun(initSuccessCallBackData);
}
}
*/
}
//Sass删除文档数据
...
...
src/MessageTypes.js
查看文件 @
c14e9f2
...
...
@@ -6,49 +6,50 @@ function MessageTypes() {}
//--------------------事件相关的定义--------------------------------------
//初始化相关事件定义
//MessageTypes.CLASS_INIT_SUCCESS=
'class.init.success';//初始化成功
MessageTypes
.
CLASS_INIT_SUCCESS
=
"100"
;
//
'class.init.success';//初始化成功
//MessageTypes.CLASS_INIT_FAILED='class.init.failed';//初始化失败
//加入会议相关事件定义
MessageTypes
.
CLASS_JOIN_
SUCCESS
=
'join.class
.success'
;
MessageTypes
.
CLASS_JOIN_
MCU_SUCCESS
=
"210"
// 'join.mcu
.success';
//MessageTypes.CLASS_JOIN_FAILED = 'join.class.failed';
//会议信息和操作事件定义
//MessageTypes.CLASS_SHOW_DETAIL = 'class_detail.message';
MessageTypes
.
CLASS_SHOW_ROSTER_NUM
=
'roster_num.message'
;
MessageTypes
.
CLASS_INSERT_ROSTER
=
'roster.insert.message'
;
MessageTypes
.
CLASS_DELETE_ROSTER
=
'roster.delete.message'
;
MessageTypes
.
CLASS_NONENTITY_ROSTER
=
'roster.nonentity.message'
;
MessageTypes
.
CLASS_JOIN_SUCCESS
=
"200"
// 'join.class.success';
MessageTypes
.
CLASS_SHOW_ROSTER_NUM
=
"201"
;
// 'roster_num.message';
MessageTypes
.
CLASS_INSERT_ROSTER
=
"202"
;
// 'roster.insert.message';
MessageTypes
.
CLASS_DELETE_ROSTER
=
"203"
// 'roster.delete.message';
MessageTypes
.
CLASS_NONENTITY_ROSTER
=
"204"
;
// 'roster.nonentity.message';
MessageTypes
.
CLASS_EXIT
=
'class.exit'
;
//退出 关闭会议
MessageTypes
.
CLASS_UPTATE_STATUS
=
'class.update.status'
;
//更新会议状态信息
MessageTypes
.
CLASS_STATUS_INFO_CHANGE
=
'class.status.info.change'
;
//会议状态信息发生改变,需要保存数据到sass和同步MCU
MessageTypes
.
CLASS_EXIT
=
"205"
;
// 'class.exit';//退出 关闭会议
MessageTypes
.
CLASS_UPTATE_STATUS
=
"206"
;
// 'class.update.status';//更新会议状态信息
MessageTypes
.
CLASS_STATUS_INFO_CHANGE
=
"207"
;
// 'class.status.info.change';//会议状态信息发生改变,需要保存数据到sass和同步MCU
MessageTypes
.
CLASS_UPDATE_TIMER
=
'class.update.timer'
;
//更新当前上课的时间
MessageTypes
.
CLASS_UPDATE_TIMER
=
"208"
;
//
'class.update.timer';//更新当前上课的时间
MessageTypes
.
CLASS_RECORD_START
=
'class.record.start'
;
//开始录制
MessageTypes
.
CLASS_RECORD_START
=
"209"
;
//
'class.record.start';//开始录制
//聊天模块事件定义
MessageTypes
.
CHAT_RECEIVE
=
'chat.receive'
;
MessageTypes
.
CHAT_RECEIVE
=
"300"
;
//
'chat.receive';
//视频模块事件定义
MessageTypes
.
VIDEO_PLAY
=
'video.play'
;
//播放视频
MessageTypes
.
VIDEO_STOP
=
'video.stop'
;
//停止视频
MessageTypes
.
VIDEO_UPDATE
=
'video.update'
;
MessageTypes
.
VIDEO_BROADCAST
=
'video.broadcast'
;
MessageTypes
.
VIDEO_PLAY
=
"400"
;
// 'video.play';//播放视频
MessageTypes
.
VIDEO_STOP
=
"401"
;
//'video.stop';//停止视频
MessageTypes
.
VIDEO_UPDATE
=
"402"
;
// 'video.update';//废弃,400、401取代
MessageTypes
.
VIDEO_BROADCAST
=
"403"
;
//'video.broadcast';
//音频模块事件定义
MessageTypes
.
AUDIO_PLAY
=
'audio.play'
;
//播放
MessageTypes
.
AUDIO_STOP
=
'audio.stop'
;
//停止
MessageTypes
.
AUDIO_UPDATE
=
'audio.update'
;
MessageTypes
.
AUDIO_BROADCAST
=
'audio.broadcast'
;
MessageTypes
.
AUDIO_PLAY
=
"500"
;
// 'audio.play';//播放
MessageTypes
.
AUDIO_STOP
=
"501"
;
//'audio.stop';//停止
MessageTypes
.
AUDIO_UPDATE
=
"502"
;
//'audio.update';
MessageTypes
.
AUDIO_BROADCAST
=
"503"
;
//'audio.broadcast';
//文档模块事件定义
MessageTypes
.
DOC_DELETE
=
'document.delete'
;
//删除文档
MessageTypes
.
DOC_UPDATE
=
'document.update'
;
//更新文档(添加、变更)
MessageTypes
.
DOC_DELETE
=
"600"
;
//'document.delete';//删除文档
MessageTypes
.
DOC_UPDATE
=
"601"
;
// 'document.update';//更新文档(添加、变更)
//MessageTypes.DOC_SHOW = 'document.show';
//MessageTypes.DOC_UPLOAD='document.upload';//上传文档
//MessageTypes.DOC_COMMAND='document.command';//操作文档
...
...
@@ -59,18 +60,15 @@ MessageTypes.DOC_UPDATE = 'document.update';//更新文档(添加、变更)
//白板笔记事件定义
MessageTypes
.
WHITEBOARD_ANNOTATION_UPDATE
=
'whiteboard.annotation.update'
;
MessageTypes
.
WHITEBOARD_ANNOTATION_UPDATE
=
"700"
;
//
'whiteboard.annotation.update';
//MessageTypes.WHITEBOARD_ANNOTAION_INSERT = 'whiteboard.annotation.insert';
//MessageTypes.WHITEBOARD_ANNOTAION_DELETE = 'whiteboard.annotation.delete';
//MessageTypes.WHITEBOARD_ANNOTATION_CLEAR = 'whiteboard.annotation.clear';
//音频
MessageTypes
.
AUDIO_RECEIVE
=
'audio.receive'
;
//错误事件定义
MessageTypes
.
MCU_ERROR
=
"mcuError"
;
//MCU错误
MessageTypes
.
MCU_ERROR
=
"1000"
;
//"mcuError";//MCU错误(内部使用)
MessageTypes
.
ERROR
=
"1100"
;
//外部监听错误的消息ID(外部使用)
//---------------错误消息 ErrorCode 定义-------------------------------------------------
...
...
src/apes/Ape.js
查看文件 @
c14e9f2
...
...
@@ -54,7 +54,7 @@ export default class Ape extends Emiter {
// 监听底层MCU会议
this
.
mcu
=
mcu
;
this
.
mcu
.
on
(
MessageTypes
.
CLASS_JOIN_SUCCESS
,
this
.
_mcuConferenceJoinSuccessHandler
.
bind
(
this
));
this
.
mcu
.
on
(
MessageTypes
.
CLASS_JOIN_
MCU_
SUCCESS
,
this
.
_mcuConferenceJoinSuccessHandler
.
bind
(
this
));
this
.
mcu
.
registerApe
(
this
);
}
...
...
src/mcu.js
查看文件 @
c14e9f2
...
...
@@ -98,7 +98,7 @@ class MCU extends Emiter {
case
PduConsts
.
RET_SUCCESS
:
//加入成功
this
.
_updateMCUConfInfoDescription
(
joinConfPdu
.
classDescription
);
this
.
_emit
(
MessageTypes
.
CLASS_JOIN_SUCCESS
,
this
.
classInfo
);
this
.
_emit
(
MessageTypes
.
CLASS_JOIN_
MCU_
SUCCESS
,
this
.
classInfo
);
break
;
case
PduConsts
.
RET_FULL_CAPACITY
:
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_CLASS_JOIN_FULL
);
...
...
请
注册
或
登录
后发表评论