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-08-11 11:32:57 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
24f98399e1cf99da20e129bfc657f68129b6900b
24f98399
1 parent
07efe631
1.增加开启是否可以使用标注功能的接口;2.答题卡模块修改查询结果的间隔;
隐藏空白字符变更
内嵌
并排对比
正在显示
11 个修改的文件
包含
73 行增加
和
33 行删除
src/EngineEntrance.js
src/GlobalConfig.js
src/LogManager.js
src/apes/Ape.js
src/apes/ConferApe.js
src/apes/DocApe.js
src/apes/MediaSharedApe.js
src/apes/MusicSharedApe.js
src/apes/QuestionApe.js
src/apes/WhiteBoardApe.js
src/pdus/pro.js
src/EngineEntrance.js
查看文件 @
24f9839
...
...
@@ -58,7 +58,7 @@ export default class MessageEntrance extends Emiter {
constructor
()
{
super
();
//sdk 信息
GlobalConfig
.
sdkVersion
=
"v1.6
6.1.20170809
"
;
GlobalConfig
.
sdkVersion
=
"v1.6
7.2.20170811
"
;
loger
.
warn
(
"sdkVersion:"
+
GlobalConfig
.
sdkVersion
);
//获取设备和系统信息
...
...
@@ -171,10 +171,9 @@ export default class MessageEntrance extends Emiter {
this
.
controlSilenceStatus
=
this
.
_controlSilenceStatus
.
bind
(
this
);
//改变禁言状态
this
.
sceneTableChange
=
this
.
_sceneTableChange
.
bind
(
this
);
//切换模块显示
this
.
kickOutRosterFormNodeId
=
this
.
_kickOutRosterFormNodeId
.
bind
(
this
);
//把指定nodeId的人踢出课堂
this
.
sendThridChannelMessage
=
this
.
_sendThridChannelMessage
.
bind
(
this
);
//通道第三方消息通道发送消息
this
.
changeDrawStatus
=
this
.
_changeDrawStatus
.
bind
(
this
);
//切换绘制状态
//录制回放
this
.
initRecordPlayback
=
this
.
_initRecordPlayback
.
bind
(
this
);
...
...
@@ -1329,6 +1328,17 @@ export default class MessageEntrance extends Emiter {
}
}
//控制课堂全局是否可绘制的状态
_changeDrawStatus
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
changeDrawStatus
(
_param
);
}
}
//暂停上课
_sendPauseClass
(
_param
)
{
if
(
!
_mcu
.
connected
)
{
...
...
@@ -2192,7 +2202,7 @@ export default class MessageEntrance extends Emiter {
//音乐共享模块加入频道成功,同步到MCU服务器上的数据
musicShareApeJoinChannelSuccess
()
{
loger
.
log
(
"伴音MUSIC模块加入频道成功->isHost="
,
GlobalConfig
.
isHost
,
"length="
,
GlobalConfig
.
musicListPrepare
.
length
);
console
.
log
(
"伴音MUSIC模块共享模数据->"
,
GlobalConfig
.
musicListPrepare
);
//
console.log("伴音MUSIC模块共享模数据->", GlobalConfig.musicListPrepare);
//如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传
if
(
GlobalConfig
.
isHost
&&
GlobalConfig
.
musicListPrepare
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
GlobalConfig
.
musicListPrepare
.
length
;
i
++
)
{
...
...
@@ -2218,7 +2228,7 @@ export default class MessageEntrance extends Emiter {
//媒体共享模块加入频道成功,同步到MCU服务器上的数据
mediaShareApeJoinChannelSuccess
()
{
loger
.
log
(
"媒体共享模块加入频道成功->isHost="
,
GlobalConfig
.
isHost
,
"length="
,
GlobalConfig
.
sharedMediaList
.
length
);
console
.
log
(
"媒体共享模数据->"
,
GlobalConfig
.
sharedMediaList
);
//
console.log("媒体共享模数据->", GlobalConfig.sharedMediaList);
//如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传
if
(
GlobalConfig
.
isHost
&&
GlobalConfig
.
sharedMediaList
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
GlobalConfig
.
sharedMediaList
.
length
;
i
++
)
{
...
...
src/GlobalConfig.js
查看文件 @
24f9839
...
...
@@ -81,6 +81,7 @@ class GlobalConfig {
classStatusInfo
.
classBeginTime
=
this
.
classBeginTime
;
//课堂创建的时间,这个是Sass返回的
classStatusInfo
.
classEndTime
=
this
.
classEndTime
;
//课堂结束的时间,这个是Sass返回的
classStatusInfo
.
isEnableDraw
=
this
.
isEnableDraw
;
//当前是否开启绘制权限
classStatusInfo
.
recordStatus
=
this
.
recordStatus
;
//当前录制状态
classStatusInfo
.
silence
=
this
.
silence
;
//当前课堂禁言状态
classStatusInfo
.
silenceUsers
=
this
.
silenceUsers
;
//当前课堂禁言状态
...
...
@@ -140,6 +141,7 @@ class GlobalConfig {
this
.
recordDownloadUrl
=
data
.
recordDownloadUrl
||
this
.
recordDownloadUrl
;
//下载地址
this
.
currentSceneTableId
=
data
.
currentSceneTableId
||
0
;
//文档区域的模块显示
this
.
isEnableDraw
=
data
.
isEnableDraw
||
false
;
//是否开启所有人的绘制权限
// 全局禁言状态
this
.
silence
=
data
.
silence
||
false
;
this
.
silenceUsers
=
data
.
silenceUsers
||
{};
...
...
@@ -486,6 +488,7 @@ GlobalConfig.classTimestamp = 0; //从课堂开始到现在的时
GlobalConfig
.
classJoinSuccess
=
false
;
//是否已经加入课堂
GlobalConfig
.
recordPlaybackMaxTime
=
0
;
//录制回放的总时间
GlobalConfig
.
recordStatus
=
false
;
//当前录制状态
GlobalConfig
.
isEnableDraw
=
false
;
//当前所有人是否开启绘制状态(老师除外)
GlobalConfig
.
silence
=
false
;
//当前课堂禁言状态
GlobalConfig
.
silenceUsers
=
{};
//当前课堂用户禁言状态
GlobalConfig
.
selfSilence
=
{};
//当前课堂禁言状态
...
...
src/LogManager.js
查看文件 @
24f9839
...
...
@@ -118,7 +118,7 @@ class LogManager {
let
item
=
this
.
allLogList
.
shift
();
if
(
item
)
{
tempArr
.
push
(
item
);
msgData
+=
item
+
"
\n "
;
msgData
+=
item
+
"\n "
;
}
}
...
...
@@ -164,11 +164,16 @@ class LogManager {
//计算当前服务器时间
static
getCurrentDateTime
()
{
let
currentServerTime
=
new
Date
().
getTime
()
-
this
.
serverAndLoacTimeDistanc
*
1000
;
//计算当前服务器时间
/*
let currentServerTime = new Date().getTime() - this.serverAndLoacTimeDistanc * 1000;//计算当前服务器时间
let timeStr = new Date(currentServerTime).toLocaleString();
if (timeStr) {
timeStr = timeStr.replace(/年|月/g, "-").replace(/日/g, " ");
}
return timeStr;*/
let
currentServerTime
=
new
Date
().
getTime
()
-
this
.
serverAndLoacTimeDistanc
*
1000
;
//计算当前服务器时间
let
time
=
new
Date
(
currentServerTime
);
//显示格式20170729 16:42:00 INFO _msg
let
timeStr
=
time
.
getFullYear
()
+
"-"
+
(
time
.
getMonth
()
+
1
)
+
"-"
+
time
.
getDate
()
+
" "
+
time
.
getHours
()
+
":"
+
time
.
getMinutes
()
+
":"
+
time
.
getSeconds
();
return
timeStr
;
}
}
...
...
src/apes/Ape.js
查看文件 @
24f9839
...
...
@@ -69,7 +69,7 @@ export default class Ape extends Emiter {
//停止APE一切操作
stopApe
()
{
loger
.
log
(
"stopApe=============================="
);
//
loger.log("stopApe==============================");
}
// 消息处理
...
...
@@ -243,23 +243,23 @@ export default class Ape extends Emiter {
_joinChannelHandler
(
data
)
{
let
joinedChannel
=
pdu
[
'RCChannelJoinResponsePdu'
].
decode
(
data
);
if
(
joinedChannel
.
result
===
pdu
.
RET_SUCCESS
)
{
loger
.
log
(
this
.
_session_name
,
' -> 加入Channel成功. ChannelId'
,
joinedChannel
.
requestedChannelId
);
//
loger.log(this._session_name, ' -> 加入Channel成功. ChannelId', joinedChannel.requestedChannelId);
this
.
_session_channels
[
joinedChannel
.
requestedChannelId
]
=
ApeConsts
.
CJS_JOINNED
;
this
.
onJoinChannelHandlerSuccess
();
}
else
{
loger
.
log
(
this
.
_session_name
,
' -> 加入Channel失败.'
,
joinedChannel
);
loger
.
warn
(
this
.
_session_name
,
' -> 加入Channel失败.'
,
joinedChannel
);
}
}
// 依赖的课堂创建完毕 - 发起Ape加入
_mcuConferenceJoinSuccessHandler
(
_data
)
{
loger
.
log
(
'创建Ape->'
,
'SessionId'
,
this
.
_session_id
,
'SessionName'
,
this
.
_session_name
,
'SessionTag'
,
this
.
_session_tag
);
//loger.log('创建Ape->',
// 'SessionId',
// this._session_id,
// 'SessionName',
// this._session_name,
// 'SessionTag',
// this._session_tag);
// 课堂依赖底层课堂信息
//this._classInfo = classInfo;
...
...
src/apes/ConferApe.js
查看文件 @
24f9839
...
...
@@ -355,10 +355,23 @@ class ConferApe extends Ape {
}
this
.
sendUpdaterClassStatusInfo
(
params
);
}
else
{
loger
.
warn
(
'老师/监客拥有改权限'
);
loger
.
warn
(
'学生没有开启禁言的权限'
);
}
}
//全局绘制权限控制
changeDrawStatus
(
params
){
if
(
!
GlobalConfig
.
isNormal
)
{
//同步禁言状态
if
(
params
&&
params
.
isEnableDraw
==
true
)
{
GlobalConfig
.
isEnableDraw
=
true
;
}
else
{
GlobalConfig
.
isEnableDraw
=
false
;
}
this
.
sendUpdaterClassStatusInfo
(
params
);
}
else
{
loger
.
warn
(
'学生没有开启绘制的权限'
);
}
}
//开始上课
startClass
(
_param
)
{
if
(
GlobalConfig
.
isHost
)
{
...
...
@@ -1070,6 +1083,7 @@ class ConferApe extends Ape {
classStatusInfo
.
currentSceneTableId
=
GlobalConfig
.
currentSceneTableId
;
classStatusInfo
.
silence
=
GlobalConfig
.
silence
;
classStatusInfo
.
silenceUsers
=
JSON
.
stringify
(
GlobalConfig
.
silenceUsers
);
classStatusInfo
.
isEnableDraw
=
GlobalConfig
.
isEnableDraw
;
//loger.log("classStatusInfo--->", classStatusInfo);
/*
...
...
src/apes/DocApe.js
查看文件 @
24f9839
...
...
@@ -296,7 +296,7 @@ class DocApe extends Ape {
_docPackFullInfo
(
_itemDataInfo
){
let
itemDataInfo
=
_itemDataInfo
;
let
getDocAddress
=
this
.
getDocFullAddress
(
_itemDataInfo
);
loger
.
log
(
'docPackFullInfo->'
,
itemDataInfo
);
//
loger.log('docPackFullInfo->', itemDataInfo);
if
(
getDocAddress
.
code
==
ApeConsts
.
RETURN_SUCCESS
){
itemDataInfo
.
images
=
getDocAddress
.
docFullAddress
.
images
||
[];
itemDataInfo
.
pdf
=
getDocAddress
.
docFullAddress
.
pdf
||
""
;
...
...
@@ -545,9 +545,10 @@ class DocApe extends Ape {
if
(
itemDataInfo
.
visible
==
"true"
||
itemDataInfo
.
visible
==
true
)
{
GlobalConfig
.
activeDocId
=
itemDataInfo
.
itemIdx
;
//当前激活的文档ID
GlobalConfig
.
activeDocCurPage
=
itemDataInfo
.
curPageNo
;
//当前激活的文档的当前页
loger
.
log
(
'添加文档->设置当前激活的文档id'
);
//
loger.log('添加文档->设置当前激活的文档id');
}
let
getdocPackFullInfo
=
this
.
_docPackFullInfo
(
itemDataInfo
);
loger
.
log
(
'添加文档->'
,
getdocPackFullInfo
);
this
.
_emit
(
MessageTypes
.
DOC_UPDATE
,
getdocPackFullInfo
);
//用添加和更新都统一DOC_UPDATE
}
else
{
loger
.
warn
(
'文档数据解析失败->删除->itemIdx:'
+
insertItem
.
itemIdx
);
...
...
@@ -681,7 +682,7 @@ class DocApe extends Ape {
for
(
let
key
in
this
.
docList
)
{
let
item
=
this
.
docList
[
key
];
if
(
item
&&
item
.
docId
==
_docId
)
{
loger
.
log
(
'查找文档->已经存在->'
,
_docId
);
//
loger.log('查找文档->已经存在->',_docId);
return
true
;
}
}
...
...
src/apes/MediaSharedApe.js
查看文件 @
24f9839
...
...
@@ -149,7 +149,7 @@ class MediaSharedApe extends Ape {
adapterPdu
.
type
=
pdu
.
RCPDU_REG_ADAPTER
;
adapterPdu
.
item
.
push
(
adapterItemPdu
);
loger
.
log
(
"发送更新媒体文件.itemIdx="
+
tableItemPdu
.
itemIdx
);
//
loger.log("发送更新媒体文件.itemIdx=" + tableItemPdu.itemIdx);
this
.
sendUniform
(
adapterPdu
,
true
);
}
...
...
@@ -159,7 +159,7 @@ class MediaSharedApe extends Ape {
if
(
!
itemDataInfo
.
seek
){
itemDataInfo
.
seek
=
1
;
}
loger
.
log
(
'mediaPackFullInfo->'
,
itemDataInfo
);
//
loger.log('mediaPackFullInfo->', itemDataInfo);
return
itemDataInfo
;
}
//更新媒体文件模块的录制信息,每次开启录制的时候需要把当前媒体文件的信息更新一次
...
...
@@ -399,7 +399,7 @@ class MediaSharedApe extends Ape {
if
(
itemDataInfo
&&
itemDataInfo
.
status
==
1
)
{
GlobalConfig
.
activeMediaId
=
itemDataInfo
.
itemIdx
;
//当前激活的媒体文件ID
GlobalConfig
.
activeMediaSeek
=
itemDataInfo
.
seek
;
loger
.
log
(
'更新媒体文件->设置当前激活的媒体文件id->'
,
GlobalConfig
.
activeMediaId
,
"curPageNum->"
,
GlobalConfig
.
activeMediaSeek
);
//
loger.log('更新媒体文件->设置当前激活的媒体文件id->', GlobalConfig.activeMediaId, "curPageNum->", GlobalConfig.activeMediaSeek);
}
let
getMediaPackFullInfo
=
this
.
_mediaSharedPackFullInfo
(
itemDataInfo
);
...
...
@@ -492,7 +492,7 @@ class MediaSharedApe extends Ape {
for
(
let
key
in
this
.
mediaSharedList
)
{
let
item
=
this
.
mediaSharedList
[
key
];
if
(
item
&&
item
.
fileId
==
_fileId
)
{
loger
.
log
(
'查找媒体文件->已经存在->'
,
_fileId
);
//
loger.log('查找媒体文件->已经存在->',_fileId);
return
true
;
}
}
...
...
src/apes/MusicSharedApe.js
查看文件 @
24f9839
...
...
@@ -148,7 +148,7 @@ class MusicSharedApe extends Ape {
adapterPdu
.
type
=
pdu
.
RCPDU_REG_ADAPTER
;
adapterPdu
.
item
.
push
(
adapterItemPdu
);
loger
.
log
(
"发送更新伴音文件.itemIdx="
+
tableItemPdu
.
itemIdx
);
//
loger.log("发送更新伴音文件.itemIdx=" + tableItemPdu.itemIdx);
this
.
sendUniform
(
adapterPdu
,
true
);
}
...
...
@@ -158,7 +158,7 @@ class MusicSharedApe extends Ape {
if
(
!
itemDataInfo
.
seek
)
{
itemDataInfo
.
seek
=
1
;
}
loger
.
log
(
'musicPackFullInfo->'
,
itemDataInfo
);
//
loger.log('musicPackFullInfo->', itemDataInfo);
return
itemDataInfo
;
}
...
...
@@ -398,7 +398,7 @@ class MusicSharedApe extends Ape {
if
(
itemDataInfo
&&
itemDataInfo
.
status
==
1
)
{
GlobalConfig
.
activeMusicId
=
itemDataInfo
.
itemIdx
;
//当前激活的伴音文件ID
GlobalConfig
.
activeMusicSeek
=
itemDataInfo
.
seek
;
loger
.
log
(
'更新伴音文件->设置当前激活的伴音文件id->'
,
GlobalConfig
.
activeMusicId
,
"curPageNum->"
,
GlobalConfig
.
activeMusicSeek
);
//
loger.log('更新伴音文件->设置当前激活的伴音文件id->', GlobalConfig.activeMusicId, "curPageNum->", GlobalConfig.activeMusicSeek);
}
let
getMusicPackFullInfo
=
this
.
_musicSharedPackFullInfo
(
itemDataInfo
);
...
...
@@ -488,7 +488,7 @@ class MusicSharedApe extends Ape {
for
(
let
key
in
this
.
musicSharedList
)
{
let
item
=
this
.
musicSharedList
[
key
];
if
(
item
&&
item
.
fileId
==
_fileId
)
{
loger
.
log
(
'查找伴音伴音文件->已经存在->'
,
_fileId
);
//
loger.log('查找伴音伴音文件->已经存在->', _fileId);
return
true
;
}
}
...
...
src/apes/QuestionApe.js
查看文件 @
24f9839
...
...
@@ -23,6 +23,7 @@ class QuestionApe extends Ape {
ApeConsts
.
QUESTION_SESSION_NAME
,
ApeConsts
.
QUESTION_SESSION_TAG
);
this
.
getResultTimer
=
0
;
this
.
isShow
=
{};
//已经显示过的题目
this
.
questionList
=
{};
//MCU同步的题目数据
this
.
questionTimer
=
new
TimerCounter
();
//答题卡计时器
...
...
@@ -168,10 +169,14 @@ class QuestionApe extends Ape {
case
4
:
case
100
:
//停止答题
loger
.
log
(
"更新答题数据"
);
//
loger.log("更新答题数据");
if
(
GlobalConfig
.
isHost
){
////老师,只统计数据,不答题
this
.
getQuestionResult
(
model
);
clearTimeout
(
this
.
getResultTimer
);
//防止同一瞬间高并发请求,加一个间隔
this
.
getResultTimer
=
setTimeout
(()
=>
{
this
.
getQuestionResult
(
model
);
},
600
);
}
else
if
(
GlobalConfig
.
isNormal
)
{
//学生->如果自己已经提交过答案就不需要再显示
if
(
model
.
totalUserList
.
indexOf
(
GlobalConfig
.
userId
)
>=
0
){
...
...
@@ -373,6 +378,7 @@ class QuestionApe extends Ape {
loger
.
warn
(
"停止答题->参数错误"
,
_param
);
return
;
}
clearTimeout
(
this
.
getResultTimer
);
if
(
this
.
questionList
[
_param
.
itemIdx
]){
loger
.
log
(
"停止答题->"
,
_param
);
this
.
tableDelete
(
_param
);
...
...
src/apes/WhiteBoardApe.js
查看文件 @
24f9839
...
...
@@ -400,7 +400,7 @@ class WhiteBoardApe extends Ape {
"isFresh"
:
true
,
//清除现有显示的数据
"annotaionItems"
:
annotaionItems
//最新需要显示的数据
};
loger
.
log
(
"清除当前显示的标注---->重绘标注数量--->"
,
annotaionItems
.
length
,
"当前文档信息--->DocId->"
,
GlobalConfig
.
activeDocId
,
"curPageNo->"
,
GlobalConfig
.
activeDocCurPage
);
//
loger.log("清除当前显示的标注---->重绘标注数量--->", annotaionItems.length,"当前文档信息--->DocId->",GlobalConfig.activeDocId,"curPageNo->",GlobalConfig.activeDocCurPage);
this
.
_emit
(
MessageTypes
.
WHITEBOARD_ANNOTATION_UPDATE
,
updateObj
);
}
...
...
src/pdus/pro.js
查看文件 @
24f9839
...
...
@@ -1039,6 +1039,7 @@ message RCClassStatusInfoPdu {
optional
uint32
currentSceneTableId
=
23
;
//文档区域的当前模块id
optional
bool
silence
=
24
;
//课堂禁言
optional
string
silenceUsers
=
25
;
//课堂用户禁言状态列表
optional
bool
isEnableDraw
=
26
;
//课堂用户是否开启绘制权限
}
message
RCConferenceRecordRequestPdu
{
...
...
请
注册
或
登录
后发表评论