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
d0f6c838911193f21833cae599e791589594fe99
d0f6c838
1 parent
c9ba9cf8
修改答题卡接口数据和接口传参类型
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
52 行增加
和
28 行删除
dist/McuClient.js
src/EngineEntrance.js
src/Sass.js
src/apes/QuestionApe.js
src/pdus/pro.js
dist/McuClient.js
查看文件 @
d0f6c83
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
d0f6c83
...
...
@@ -32,7 +32,7 @@ import QuestionApe from 'apes/QuestionApe';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.31.
11.20170612
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.31.
8.20170613
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -138,6 +138,7 @@ export default class MessageEntrance extends Emiter {
_doc_ape
.
on
(
DocApe
.
DOC_JOIN_CHANNEL_SUCCESS
,
this
.
docJoinChannelSuccess
.
bind
(
this
));
_questionApe
=
new
QuestionApe
();
_questionApe
.
on
(
'*'
,
(
type
,
data
)
=>
this
.
_emit
(
type
,
data
));
//公开外部调用的方法
//class
...
...
src/Sass.js
查看文件 @
d0f6c83
...
...
@@ -535,10 +535,10 @@ class Sass extends Emiter {
let
question
=
{};
question
.
questionId
=
ret
.
id
;
question
.
type
=
type
;
question
.
content
=
content
;
question
.
content
=
_param
.
content
||
[]
;
question
.
timeLimit
=
timeLimit
;
question
.
correct
=
correct
;
question
.
options
=
options
;
question
.
correct
=
_param
.
correct
||
[];
question
.
options
=
_param
.
options
||
[];
loger
.
log
(
'创建答题数据->完成->'
,
question
);
this
.
_emit
(
Sass
.
SASS_CREAT_QUESTION_SUCCESS
,
question
);
}
else
{
...
...
src/apes/QuestionApe.js
查看文件 @
d0f6c83
...
...
@@ -97,6 +97,10 @@ class QuestionApe extends Ape {
//删除
tableDelete
(
_param
)
{
if
(
!
_param
){
loger
.
warn
(
'答题卡->删除数据失败->参数错误'
,
_param
);
return
;
}
let
tableDeleteItemPdu
=
new
pdu
[
'RCRegistryTableDeleteItemPdu'
];
tableDeleteItemPdu
.
type
=
pdu
.
RCPDU_REG_TABLE_DELETE_PDU
;
//
tableDeleteItemPdu
.
itemIdx
=
parseInt
(
_param
.
itemIdx
);
//这里需要设置要删除的数据的itemIdx,每条数据的这个id都不一样
...
...
@@ -114,7 +118,7 @@ class QuestionApe extends Ape {
let
adapterPdu
=
new
pdu
[
'RCAdapterPdu'
];
adapterPdu
.
type
=
pdu
.
RCPDU_REG_ADAPTER
;
adapterPdu
.
item
.
push
(
adapterItemPdu
);
loger
.
log
(
"答题卡删除数据->"
+
tableDeleteItemPdu
.
itemIdx
);
loger
.
log
(
"
发送
答题卡删除数据->"
+
tableDeleteItemPdu
.
itemIdx
);
this
.
sendUniform
(
adapterPdu
,
true
);
}
...
...
@@ -135,11 +139,22 @@ class QuestionApe extends Ape {
loger
.
log
(
"更新答题数据"
);
if
(
GlobalConfig
.
isHost
){
//老师,只统计数据,不答题
this
.
getQuestionResult
(
model
);
//先判断时间是否超时
let
timeDistance
=
EngineUtils
.
creatTimestamp
()
-
model
.
timestamp
;
loger
.
log
(
"答题卡显示倒计时->timeDistance:"
+
timeDistance
);
timeDistance
=
model
.
timeLimit
-
timeDistance
;
if
(
timeDistance
<=
0
){
//答题卡时间到,需要停止
loger
.
log
(
"答题卡时间到->需要停止"
);
this
.
stopQuestion
(
model
);
}
else
{
this
.
getQuestionResult
(
model
);
}
}
else
if
(
GlobalConfig
.
isNormal
)
{
//学生->如果自己已经提交过答案就不需要再显示
if
(
model
.
totalUserList
.
indexOf
(
GlobalConfig
.
userId
)
>=
0
){
loger
.
log
(
"已经提交过答案->userId:"
+
GlobalConfig
.
userId
);
loger
.
log
(
"已经提交过答案-
不需要显示答题卡-
>userId:"
+
GlobalConfig
.
userId
);
}
else
{
//显示答题卡数据
this
.
_emit
(
MessageTypes
.
START_ANSWER_QUESTION
,
model
);
...
...
@@ -175,7 +190,7 @@ class QuestionApe extends Ape {
case
2
:
case
3
:
//停止答题
loger
.
log
(
"停止答题
"
);
loger
.
log
(
"停止答题
->"
,
itemDataInfo
);
this
.
_emit
(
MessageTypes
.
STOP_ANSWER_QUESTION
,
itemDataInfo
);
break
;
case
4
:
...
...
@@ -218,10 +233,10 @@ class QuestionApe extends Ape {
modelPdu
.
questionId
=
parseInt
(
_param
.
questionId
)
||
0
;
modelPdu
.
timeLimit
=
parseInt
(
_param
.
timeLimit
)
||
1
;
//有效时间
modelPdu
.
timestamp
=
parseInt
(
_param
.
timestamp
)
||
EngineUtils
.
creatTimestamp
();
//创建的时间
modelPdu
.
content
=
_param
.
content
||
""
;
//题干
modelPdu
.
options
=
_param
.
options
||
""
;
//选项列表
modelPdu
.
answer
=
_param
.
answer
||
""
;
//用户选择的选项索引
modelPdu
.
correct
=
_param
.
correct
||
""
;
//正确答案索引
modelPdu
.
content
=
_param
.
content
||
[];
//题干
modelPdu
.
options
=
_param
.
options
||
[];
//选项列表
modelPdu
.
answer
=
_param
.
answer
||
[];
//用户选择的选项索引
modelPdu
.
correct
=
_param
.
correct
||
[];
//正确答案索引
modelPdu
.
totalUserList
=
_param
.
totalUserList
||
[];
//参加的人员userId列表
loger
.
log
(
"答题卡->packPdu"
,
modelPdu
);
return
modelPdu
;
...
...
@@ -294,18 +309,26 @@ class QuestionApe extends Ape {
loger
.
warn
(
"保存答题答案->参数错误"
,
_param
);
return
;
}
if
(
this
.
_sass
){
if
(
this
.
questionList
[
_param
.
itemIdx
]){
loger
.
log
(
"保存答题答案->"
,
_param
);
let
paramObj
=
_param
;
paramObj
.
classId
=
GlobalConfig
.
classId
;
paramObj
.
userId
=
GlobalConfig
.
userId
;
paramObj
.
userName
=
GlobalConfig
.
userName
;
this
.
_sass
.
sendAnswer
(
paramObj
);
//检查是否已经提交过答案
let
questionItem
=
this
.
questionList
[
_param
.
itemIdx
];
if
(
questionItem
){
if
(
questionItem
.
totalUserList
.
indexOf
(
GlobalConfig
.
userId
)
>=
0
){
loger
.
warn
(
"保存答题答案->已经提交过答案不能再次提交"
);
return
;
}
else
{
loger
.
log
(
"保存答题答案->数据不存在"
,
_param
);
console
.
log
(
"questionList"
,
this
.
questionList
);
if
(
this
.
_sass
){
if
(
this
.
questionList
[
_param
.
itemIdx
]){
loger
.
log
(
"保存答题答案->"
,
_param
);
let
paramObj
=
_param
;
paramObj
.
classId
=
GlobalConfig
.
classId
;
paramObj
.
userId
=
GlobalConfig
.
userId
;
paramObj
.
userName
=
GlobalConfig
.
userName
;
this
.
_sass
.
sendAnswer
(
paramObj
);
}
else
{
loger
.
log
(
"保存答题答案->数据不存在"
,
_param
);
console
.
log
(
"questionList"
,
this
.
questionList
);
}
}
}
}
}
...
...
@@ -315,7 +338,7 @@ class QuestionApe extends Ape {
return
;
}
loger
.
log
(
"停止答题->"
,
_param
);
this
.
tableDelete
(
{
itemIdx
:
ApeConsts
.
CONFERENCE_OBJ_QUESTION_ID
})
this
.
tableDelete
(
_param
);
}
//Sass 事件监听
_sassCreatQuestionSuccessHandler
(
_data
){
...
...
@@ -380,7 +403,7 @@ class QuestionApe extends Ape {
resultObj
.
answers
=
[];
//根据选项的个数,把选项分开
let
options
=
JSON
.
parse
(
resultObj
.
options
)
;
let
options
=
resultObj
.
options
;
for
(
let
i
=
0
;
i
<
options
.
length
;
i
++
){
let
optionObj
=
new
Object
();
optionObj
.
percent
=
0
;
//百分比 选择的人数和总参与人数的比
...
...
src/pdus/pro.js
查看文件 @
d0f6c83
...
...
@@ -1007,9 +1007,9 @@ message RCQuestionDataModelPdu {
optional
uint32
timeLimit
=
6
;
//有效时间
optional
string
content
=
7
;
//题干
optional
uint32
timestamp
=
8
;
//创建的时间
optional
string
options
=
9
;
//选项列表
optional
string
answer
=
10
;
//用户选择的答案选项索引
optional
string
correct
=
11
;
//正确答案索引
repeated
string
options
=
9
;
//选项列表
repeated
uint32
answer
=
10
;
//用户选择的答案选项索引
repeated
uint32
correct
=
11
;
//正确答案索引
repeated
string
totalUserList
=
12
;
//参与的人员userId列表
}
//end
...
...
请
注册
或
登录
后发表评论