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
李勇
8 years ago
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
fdc5383c0a8b5ed84e6b7e2960935a73a55188c4
fdc5383c
1 parent
5b0172d1
1.Sass增加答题卡4个接口(创建,查询题目,查询结果,保存答案);2.会议模块增加对外控制的接口(5个接口)
隐藏空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
433 行增加
和
5 行删除
dist/McuClient.js
src/EngineEntrance.js
src/Sass.js
src/apes/ApeConsts.js
src/apes/ConferApe.js
src/apes/WhiteBoardApe.js
dist/McuClient.js
查看文件 @
fdc5383
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
fdc5383
...
...
@@ -31,7 +31,7 @@ import MediaSharedApe from 'apes/MediaSharedApe';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.31.
0.20170607
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.31.
3.20170609
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -77,6 +77,9 @@ export default class MessageEntrance extends Emiter {
_sass
.
on
(
_sass
.
DELETE_DOCUMENT_SUCCESS
,
this
.
_sassDeleteDocumentSuccess
.
bind
(
this
));
//sass删除文档成功
_sass
.
on
(
_sass
.
DELETE_MEDIASHARE_SUCCESS
,
this
.
_sassDeleteMediaShareSuccess
.
bind
(
this
));
//sass删除媒体文件成功
//选点模块
_ipManager
=
new
IpManager
();
...
...
@@ -208,6 +211,12 @@ export default class MessageEntrance extends Emiter {
this
.
mediaSharedStop
=
this
.
_sendMediaSharedStop
.
bind
(
this
);
//停止
this
.
mediaSharedUpdate
=
this
.
_sendMediaSharedUpdate
.
bind
(
this
);
//更新媒体的状态
//答题卡
this
.
creatQuestion
=
this
.
_creatQuestion
.
bind
(
this
);
this
.
getQuestion
=
this
.
_getQuestion
.
bind
(
this
);
this
.
getQuestionResult
=
this
.
_getQuestionResult
.
bind
(
this
);
this
.
sendAnswer
=
this
.
_sendAnswer
.
bind
(
this
);
this
.
setDeviceInfo
=
this
.
_setDeviceInfo
.
bind
(
this
);
//设置设备信息(麦克风,摄像头等等.....)
this
.
setMessageDelay
=
this
.
_setMessageDelay
.
bind
(
this
);
//设置是否延迟消息
this
.
switchServer
=
this
.
_switchMcuIpHandler
.
bind
(
this
);
//切换mcu服务器
...
...
@@ -1726,4 +1735,51 @@ export default class MessageEntrance extends Emiter {
this
.
_emit
(
MessageTypes
.
CLASS_JOIN_SUCCESS
,
joinClassSuccessCallBackData
);
}
// //答题卡
_creatQuestion
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
creatQuestion
(
_param
);
}
}
_getQuestion
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
getQuestion
(
_param
);
}
}
_getQuestionResult
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
getQuestionResult
(
_param
);
}
}
_stopQuestion
(){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
stopQuestion
(
_param
);
}
}
_sendAnswer
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_confer_ape
)
{
_confer_ape
.
sendAnswer
(
_param
);
}
}
}
...
...
src/Sass.js
查看文件 @
fdc5383
...
...
@@ -357,7 +357,7 @@ class Sass extends Emiter {
}
//保存课堂的当前信息-----------------------------------------------------
--------------------------------------------
//保存课堂的当前信息-----------------------------------------------------
/*保存课堂的当前信息,首次是插入,后面是更新
/api/meeting/saveInfo.do
参数(application/x-www-form-urlencoded):
...
...
@@ -474,6 +474,254 @@ class Sass extends Emiter {
loger
.
error
(
`保存开始录制信息异常
.
状态码
:
$
{
err
}
`
);
});
}
//答题卡-------------------------------------------------------
//创建答题数据
creatQuestion
(
_param
){
if
(
GlobalConfig
.
isRecordPlayBack
){
loger
.
log
(
'录制回放中->创建答题数据->不做操作'
);
return
;
}
/* {
"type": 1,//1单选,2多选,3判断,4点名
"content": "题目",//没有就传""
"timeLimit": 88,//有效时间(秒)
"correct": "[]",//正确答案,没有就传[]
"options": {},//选项数组,没有就传[]
"option": []//学生选择的答案,没有就传[]
}*/
if
(
!
_param
){
loger
.
warn
(
'创建答题数据->参数错误->param:'
,
_param
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_FAILED
);
return
;
}
let
classId
=
GlobalConfig
.
classId
;
//课堂号
var
timestamp
=
new
Date
().
getTime
();
let
authId
=
MD5
(
classId
+
""
+
timestamp
);
let
type
=
parseInt
(
_param
.
type
);
//1单选,2多选,3判断,4点名
let
content
=
_param
.
content
||
""
;
let
timeLimit
=
parseInt
(
_param
.
timeLimit
);
let
correct
=
_param
.
correct
.
toString
();
let
options
=
JSON
.
stringify
(
_param
.
options
);
let
url
=
`
http
:
//${GlobalConfig.portal}/3m/api/question/add.do`;
loger
.
log
(
'创建答题数据'
,
url
);
fetch
(
encodeURI
(
url
),
{
method
:
'POST'
,
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded; charset=utf-8"
},
//classId=1×tamp=2&authId=3&content=&options=["A","B","C","D"]&type=1&correct=0&timeLimit=60
body
:
`
classId
=
$
{
classId
}
&
timestamp
=
$
{
timestamp
}
&
authId
=
$
{
authId
}
&
content
=
$
{
content
}
&
options
=
$
{
options
}
&
type
=
$
{
type
}
&
correct
=
$
{
correct
}
&
timeLimit
=
$
{
timeLimit
}
`
,
timeout
:
5000
})
.
then
(
ret
=>
{
if
(
ret
.
ok
)
{
return
ret
.
json
();
}
else
{
loger
.
error
(
`创建答题数据
-
网络异常
.
状态码
:
$
{
ret
.
status
}
`
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_FAILED
);
throw
''
;
}
})
.
then
(
ret
=>
{
if
(
ret
.
code
==
0
)
{
//errorCode int 0 正常 1 没有指定的课堂 4 验证信息错误(authId)
// {"code":0,"id":1}
loger
.
log
(
'创建答题数据->完成'
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_SUCCESS
,
ret
);
}
else
{
loger
.
warn
(
'创建答题数据->失败.'
,
ret
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_FAILED
);
}
})
.
catch
(
err
=>
{
loger
.
error
(
`创建答题数据
->
状态码
:
$
{
err
}
`
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_FAILED
);
});
}
//保存答题数据
sendAnswer
(
_param
){
if
(
GlobalConfig
.
isRecordPlayBack
){
loger
.
log
(
'录制回放中->保存答题数据->不做操作'
);
return
;
}
if
(
!
_param
){
loger
.
warn
(
'保存答题数据->参数错误->param:'
,
_param
);
this
.
_emit
(
Sass
.
SASS_SEND_ANSWER_FAILED
);
return
;
}
/*classId String课堂号
timestamp 时间戳
authId String验证信息md5(classId+timestamp)
questionId long 题目id
answer String 选择的选项的索引,如果是多选,用英文逗号分隔。例如:'0,3'
userId String 用户id
userName String 用户名字*/
let
classId
=
GlobalConfig
.
classId
;
//课堂号
var
timestamp
=
new
Date
().
getTime
();
let
authId
=
MD5
(
classId
+
""
+
timestamp
);
let
type
=
parseInt
(
_param
.
type
);
//1单选,2多选,3判断,4点名
let
questionId
=
parseInt
(
_param
.
questionId
);
//题目id
let
answer
=
_param
.
answer
.
toString
();
let
userId
=
_param
.
userId
;
let
userName
=
_param
.
userName
;
let
url
=
`
http
:
//${GlobalConfig.portal}/3m/api/question/answer.do`;
loger
.
log
(
'保存答题数据'
,
url
);
fetch
(
encodeURI
(
url
),
{
method
:
'POST'
,
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded; charset=utf-8"
},
//classId=1×tamp=2&authId=3&questionId=1&answer=0&userId=111&userName=zhang3
body
:
`
classId
=
$
{
classId
}
&
timestamp
=
$
{
timestamp
}
&
authId
=
$
{
authId
}
&
questionId
=
$
{
questionId
}
&
answer
=
$
{
answer
}
&
userId
=
$
{
userId
}
&
userName
=
$
{
userName
}
`
,
timeout
:
5000
})
.
then
(
ret
=>
{
if
(
ret
.
ok
)
{
return
ret
.
json
();
}
else
{
loger
.
error
(
`保存答题数据
-
网络异常
.
状态码
:
$
{
ret
.
status
}
`
);
this
.
_emit
(
Sass
.
SASS_SEND_ANSWER_FAILED
);
throw
''
;
}
})
.
then
(
ret
=>
{
if
(
ret
.
code
==
0
)
{
// 0 正常 1 没有指定的课堂 4 验证信息错误(authId) 5 没有指定的题目 6 题目不属于该课堂
//{"code":0}
loger
.
log
(
'保存答题数据->完成'
);
this
.
_emit
(
Sass
.
SASS_SEND_ANSWER_SUCCESS
,
ret
);
}
else
{
loger
.
warn
(
'保存答题数据->失败.'
,
ret
);
this
.
_emit
(
Sass
.
SASS_SEND_ANSWER_FAILED
);
}
})
.
catch
(
err
=>
{
loger
.
error
(
`保存答题数据
->
状态码
:
$
{
err
}
`
);
this
.
_emit
(
Sass
.
SASS_SEND_ANSWER_FAILED
);
});
}
//查询题目数据
getQuestion
(
_param
){
if
(
GlobalConfig
.
isRecordPlayBack
){
loger
.
log
(
'录制回放中->查询题目数据->不做操作'
);
return
;
}
if
(
!
_param
){
loger
.
warn
(
'查询题目数据->参数错误->param:'
,
_param
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_FAILED
);
return
;
}
//questionId long 题目id
let
questionId
=
parseInt
(
_param
.
questionId
);
//题目id
let
url
=
`
http
:
//${GlobalConfig.portal}/3m/api/question/get.do`;
loger
.
log
(
'查询题目数据'
,
url
);
//接口中用的是GET
fetch
(
encodeURI
(
url
),
{
method
:
'POST'
,
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded; charset=utf-8"
},
body
:
`
questionId
=
$
{
questionId
}
`
,
timeout
:
5000
})
.
then
(
ret
=>
{
if
(
ret
.
ok
)
{
return
ret
.
json
();
}
else
{
loger
.
error
(
`查询题目数据
-
网络异常
.
状态码
:
$
{
ret
.
status
}
`
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_FAILED
);
throw
''
;
}
})
.
then
(
ret
=>
{
if
(
ret
.
code
==
0
)
{
//0 正常 5 没有指定的题目
//{"timeLimit":0,"content":"test question","id":11,"code":0,"type":3,"options":"["True", "False"]"}
loger
.
log
(
'查询题目数据->完成'
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_SUCCESS
,
ret
);
}
else
{
loger
.
warn
(
'查询题目数据->失败.'
,
ret
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_FAILED
);
}
})
.
catch
(
err
=>
{
loger
.
error
(
`查询题目数据
->
状态码
:
$
{
err
}
`
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_FAILED
);
});
}
//查询答题结果数据
getQuestionResult
(
_param
){
if
(
GlobalConfig
.
isRecordPlayBack
){
loger
.
log
(
'录制回放中->查询答题结果数据->不做操作'
);
return
;
}
if
(
!
_param
){
loger
.
warn
(
'查询答题结果数据->参数错误->param:'
,
_param
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
);
return
;
}
//questionId long 题目id
let
questionId
=
parseInt
(
_param
.
questionId
);
//题目id
let
url
=
`
http
:
//${GlobalConfig.portal}/3m/api/question/results.do`;
loger
.
log
(
'查询答题结果数据'
,
url
);
fetch
(
encodeURI
(
url
),
{
method
:
'POST'
,
headers
:
{
"Content-Type"
:
"application/x-www-form-urlencoded; charset=utf-8"
},
body
:
`
questionId
=
$
{
questionId
}
`
,
timeout
:
5000
})
.
then
(
ret
=>
{
if
(
ret
.
ok
)
{
return
ret
.
json
();
}
else
{
loger
.
error
(
`查询答题结果数据
-
网络异常
.
状态码
:
$
{
ret
.
status
}
`
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
);
throw
''
;
}
})
.
then
(
ret
=>
{
if
(
ret
.
code
==
0
)
{
//int 0 正常5 没有指定的题目
/* list array 数组
userId string 用户id
userName string 用户姓名
answer string 答案。选项的索引,多个时用逗号分隔
{"timeLimit":0,"content":"test question","id":11,"code":0,"type":3,"options":"["True", "False"]"}*/
loger
.
log
(
'查询答题结果数据->完成'
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_RESULT_SUCCESS
,
ret
);
}
else
{
loger
.
warn
(
'查询答题结果数据->失败.'
,
ret
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
);
}
})
.
catch
(
err
=>
{
loger
.
error
(
`查询答题结果数据
->
状态码
:
$
{
err
}
`
);
this
.
_emit
(
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
);
});
}
//点名---------------------------------------------------------
}
Sass
.
prototype
.
SUCCESS
=
Sass
.
SUCCESS
=
'Sass_success'
;
...
...
@@ -486,6 +734,18 @@ Sass.prototype.DELETE_MEDIASHARE_SUCCESS = Sass.DELETE_MEDIASHARE_SUCCESS = 'sas
Sass
.
prototype
.
CLASS_SAVE_STATUS_INFO_SUCCESS
=
Sass
.
CLASS_SAVE_STATUS_INFO_SUCCESS
=
'sass_class_saveClassStatusInfoSuccess_message'
;
//保存课堂状态信息
Sass
.
prototype
.
CLASS_SAVE_RECORD_INFO_SUCCESS
=
Sass
.
CLASS_SAVE_RECORD_INFO_SUCCESS
=
'sass_class_saveClassRecordInfoSuccess_message'
;
//保存录制课堂信息
//答题卡和点名
Sass
.
prototype
.
SASS_CREAT_QUESTION_SUCCESS
=
Sass
.
SASS_CREAT_QUESTION_SUCCESS
=
'sass_creat_question_success'
;
//创建答题卡问题成功
Sass
.
prototype
.
SASS_CREAT_QUESTION_FAILED
=
Sass
.
SASS_CREAT_QUESTION_FAILED
=
'sass_creat_question_failed'
;
//创建答题卡失败
Sass
.
prototype
.
SASS_GET_QUESTION_SUCCESS
=
Sass
.
SASS_GET_QUESTION_SUCCESS
=
'sass_get_question_success'
;
//获取问题成功
Sass
.
prototype
.
SASS_GET_QUESTION_FAILED
=
Sass
.
SASS_GET_QUESTION_FAILED
=
'sass_get_question_failed'
;
//获取问题失败
Sass
.
prototype
.
SASS_GET_QUESTION_RESULT_SUCCESS
=
Sass
.
SASS_GET_QUESTION_RESULT_SUCCESS
=
'sass_get_question_result_success'
;
//获取问题结果成功
Sass
.
prototype
.
SASS_GET_QUESTION_RESULT_FAILED
=
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
=
'sass_get_question_result_failed'
;
//获取问题结果失败
Sass
.
prototype
.
SASS_SEND_ANSWER_SUCCESS
=
Sass
.
SASS_SEND_ANSWER_SUCCESS
=
'sass_send_answer_success'
;
//保存答案成功
Sass
.
prototype
.
SASS_SEND_ANSWER_FAILED
=
Sass
.
SASS_SEND_ANSWER_FAILED
=
'sass_send_answer_failed'
;
//保存答案失败
export
default
new
Sass
;
...
...
src/apes/ApeConsts.js
查看文件 @
fdc5383
...
...
@@ -199,6 +199,12 @@ ApeConsts.CONFERENCE_OBJ_COUNTER_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) +
ApeConsts
.
CONFERENCE_OBJ_COUNTER_NAME
=
"id list"
;
ApeConsts
.
CONFERENCE_OBJ_COUNTER_TAG
=
"id list tag"
;
//答题卡
ApeConsts
.
CONFERENCE_OBJ_QUESTION_ID
=
((
ApeConsts
.
CONFERENCE_SESSION_ID
<<
16
)
+
5
);
ApeConsts
.
CONFERENCE_OBJ_QUESTION_NAME
=
"question list"
;
ApeConsts
.
CONFERENCE_OBJ_QUESTION_TAG
=
"question list tag"
;
// web sharing objects
ApeConsts
.
WEBSHARING_OBJ_TABLE_ID
=
((
ApeConsts
.
WEBSHARING_SESSION_ID
<<
16
)
+
1
);
ApeConsts
.
WEBSHARING_OBJ_TABLE_NAME
=
"web list"
;
...
...
src/apes/ConferApe.js
查看文件 @
fdc5383
...
...
@@ -7,12 +7,13 @@ import ApeConsts from './ApeConsts';
import
ThirdMessage
from
'./ThirdMessage'
;
import
MessageTypes
from
'MessageTypes'
;
import
pdu
from
'pdus'
;
import
{
Zlib
}
from
'zlibjs/bin/zlib.min'
;
//
import { Zlib } from 'zlibjs/bin/zlib.min';
import
UTF8
from
'utf-8'
;
import
Loger
from
'Loger'
;
import
GlobalConfig
from
'GlobalConfig'
;
import
EngineUtils
from
'EngineUtils'
;
import
TimerCounter
from
"TimerCounter"
;
import
Sass
from
'Sass'
;
let
loger
=
Loger
.
getLoger
(
'ConferApe'
);
let
itemIdx
=
0
;
//table插入新数据的计数id,目前用时间戳
...
...
@@ -24,6 +25,7 @@ class ConferApe extends Ape {
ApeConsts
.
CONFERENCE_SESSION_NAME
,
ApeConsts
.
CONFERENCE_SESSION_TAG
);
this
.
rosters
=
{};
//用户列表
this
.
timerCounter
=
new
TimerCounter
();
//计时器
...
...
@@ -31,6 +33,21 @@ class ConferApe extends Ape {
this
.
thirdMessage
=
new
ThirdMessage
();
this
.
thirdMessage
.
on
(
ThirdMessage
.
RECIVE_MESSAGE
,
this
.
onThirdReciveParentMessage
.
bind
(
this
));
//监听Sass事件
this
.
_sass
=
Sass
;
//创建答题卡
this
.
_sass
.
on
(
Sass
.
SASS_CREAT_QUESTION_SUCCESS
,
this
.
_sassCreatQuestionSuccessHandler
.
bind
(
this
));
this
.
_sass
.
on
(
Sass
.
SASS_CREAT_QUESTION_FAILED
,
this
.
_sassCreatQuestionFailedHandler
.
bind
(
this
));
//获取题目数据
this
.
_sass
.
on
(
Sass
.
SASS_GET_QUESTION_SUCCESS
,
this
.
_sassGetQuestionSuccessHandler
.
bind
(
this
));
this
.
_sass
.
on
(
Sass
.
SASS_GET_QUESTION_FAILED
,
this
.
_sassGetQuestionFailedHandler
.
bind
(
this
));
//获取答题结果
this
.
_sass
.
on
(
Sass
.
SASS_GET_QUESTION_RESULT_SUCCESS
,
this
.
_sassGetQuestionResultSuccessHandler
.
bind
(
this
));
this
.
_sass
.
on
(
Sass
.
SASS_GET_QUESTION_RESULT_FAILED
,
this
.
_sassGetQuestionResultFailedHandler
.
bind
(
this
));
//保存答题数据
this
.
_sass
.
on
(
Sass
.
SASS_SEND_ANSWER_SUCCESS
,
this
.
_sassSendAnswerSuccessHandler
.
bind
(
this
));
this
.
_sass
.
on
(
Sass
.
SASS_SEND_ANSWER_FAILED
,
this
.
_sassSendAnswerFailedHandler
.
bind
(
this
));
// Ape Models
this
.
registerKey
(
this
.
_session_id
,
this
.
_session_name
,
this
.
_session_tag
,
new
ArrayBuffer
);
...
...
@@ -433,7 +450,7 @@ class ConferApe extends Ape {
this
.
_emit
(
MessageTypes
.
MCU_ERROR
,
MessageTypes
.
ERR_APE_INTERFACE_PARAM_WRONG
);
return
;
}
itemIdx
=
ApeConsts
.
CONFERENCE_OBJ_TABLE_ID
;
// itemIdx=_param.itemIdx;
let
itemIdx
=
ApeConsts
.
CONFERENCE_OBJ_TABLE_ID
;
// itemIdx=_param.itemIdx;
let
modelPdu
=
this
.
packPdu
(
_param
,
itemIdx
);
loger
.
log
(
modelPdu
);
if
(
modelPdu
==
null
)
{
...
...
@@ -949,6 +966,95 @@ class ConferApe extends Ape {
}
return
null
;
}
//答题卡接口-------------------------------------------------------------------
creatQuestion
(
_param
){
if
(
!
_param
){
loger
.
warn
(
"创建答题卡->参数错误"
,
_param
);
return
;
}
loger
.
log
(
"创建答题卡->"
,
_param
);
if
(
this
.
_sass
){
/*{
"type": 1,//1单选,2多选,3判断,4点名
"content": "题目",//没有就传""
"timeLimit": 88,//有效时间(秒)
"correct": "[]",//正确答案,没有就传[]
"options": [],//选项数组,没有就传[]
"answer": []//学生选择的答案,没有就传[]
}*/
let
paramObj
=
_param
;
paramObj
.
classId
=
GlobalConfig
.
classId
;
this
.
_sass
.
creatQuestion
(
paramObj
);
}
}
getQuestion
(
_param
){
if
(
!
_param
){
loger
.
warn
(
"获取答题卡数据->参数错误"
,
_param
);
return
;
}
loger
.
log
(
"获取答题卡数据->."
,
_param
);
if
(
this
.
_sass
){
this
.
_sass
.
getQuestion
(
_param
);
}
}
getQuestionResult
(
_param
){
if
(
!
_param
){
loger
.
warn
(
"获取答题卡结果->参数错误"
,
_param
);
return
;
}
loger
.
log
(
"获取答题卡结果->"
,
_param
);
if
(
this
.
_sass
){
this
.
_sass
.
getQuestionResult
(
_param
);
}
}
stopQuestion
(
_param
){
if
(
!
_param
){
loger
.
warn
(
"停止答题->参数错误"
,
_param
);
return
;
}
loger
.
log
(
"停止答题->"
,
_param
);
}
sendAnswer
(
_param
){
if
(
!
_param
){
loger
.
warn
(
"保存答题答案->参数错误"
,
_param
);
return
;
}
loger
.
log
(
"保存答题答案->"
,
_param
);
if
(
this
.
_sass
){
let
paramObj
=
_param
;
paramObj
.
classId
=
GlobalConfig
.
classId
;
paramObj
.
userId
=
GlobalConfig
.
userId
;
paramObj
.
userName
=
GlobalConfig
.
userName
;
this
.
_sass
.
sendAnswer
(
_param
);
}
}
//Sass 事件监听
_sassCreatQuestionSuccessHandler
(
_data
){
loger
.
log
(
"创建答题卡成功"
,
_data
);
}
_sassCreatQuestionFailedHandler
(
_data
){
loger
.
log
(
"创建答题卡失败"
,
_data
);
}
_sassGetQuestionSuccessHandler
(
_data
){
loger
.
log
(
"获取答题卡数据成功"
,
_data
);
}
_sassGetQuestionFailedHandler
(
_data
){
loger
.
log
(
"获取答题卡数据失败"
,
_data
);
}
_sassGetQuestionResultSuccessHandler
(
_data
){
loger
.
log
(
"获取答题卡结果成功"
,
_data
);
}
_sassGetQuestionResultFailedHandler
(
_data
){
loger
.
log
(
"获取答题卡结果失败"
,
_data
);
}
_sassSendAnswerSuccessHandler
(
_data
){
loger
.
log
(
"保存答案成功"
,
_data
);
}
_sassSendAnswerFailedHandler
(
_data
){
loger
.
log
(
"保存答案失败"
,
_data
);
}
}
...
...
src/apes/WhiteBoardApe.js
查看文件 @
fdc5383
...
...
@@ -18,7 +18,7 @@ import ApeConsts from './ApeConsts';
import
pdu
from
'pdus'
;
import
Loger
from
'Loger'
;
import
MessageTypes
from
'MessageTypes'
;
import
{
Zlib
}
from
'zlibjs/bin/zlib.min'
;
//
import { Zlib } from 'zlibjs/bin/zlib.min';
import
UTF8
from
'utf-8'
;
import
GlobalConfig
from
'GlobalConfig'
;
import
EngineUtils
from
'EngineUtils'
;
...
...
请
注册
或
登录
后发表评论