|
|
@ -1,3 +1,131 @@
|
|
|
|
|
|
|
|
state说明
|
|
|
|
|
|
|
|
tasks详情接口
|
|
|
|
|
|
|
|
allowed_unlock 为true时,才允许非管理员用户解锁隐藏测试集
|
|
|
|
|
|
|
|
discusses_count 总评论数
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
challenge 实训关卡信息
|
|
|
|
|
|
|
|
exec_time --
|
|
|
|
|
|
|
|
modify_time --
|
|
|
|
|
|
|
|
path 关卡文件路径
|
|
|
|
|
|
|
|
position 第几关
|
|
|
|
|
|
|
|
praises_count 点赞数
|
|
|
|
|
|
|
|
score 分数
|
|
|
|
|
|
|
|
shixun_id
|
|
|
|
|
|
|
|
st 0-编程题 1-选择题
|
|
|
|
|
|
|
|
subject 关卡名称
|
|
|
|
|
|
|
|
task_pass 过关任务
|
|
|
|
|
|
|
|
web_route --
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
game 为每一个用户独立创建的实训关卡对应的信息
|
|
|
|
|
|
|
|
accuracy --
|
|
|
|
|
|
|
|
answer_deduction--
|
|
|
|
|
|
|
|
answer_open --
|
|
|
|
|
|
|
|
challenge_id
|
|
|
|
|
|
|
|
cost_time 通关耗时
|
|
|
|
|
|
|
|
created_at
|
|
|
|
|
|
|
|
end_time
|
|
|
|
|
|
|
|
evaluate_count
|
|
|
|
|
|
|
|
final_score
|
|
|
|
|
|
|
|
id
|
|
|
|
|
|
|
|
identifier
|
|
|
|
|
|
|
|
modify_time
|
|
|
|
|
|
|
|
myshixun_id
|
|
|
|
|
|
|
|
open_time
|
|
|
|
|
|
|
|
picture_path
|
|
|
|
|
|
|
|
resubmit_identifier
|
|
|
|
|
|
|
|
retry_status
|
|
|
|
|
|
|
|
star
|
|
|
|
|
|
|
|
status 2-已通关
|
|
|
|
|
|
|
|
test_sets_view true-测试集已解锁
|
|
|
|
|
|
|
|
updated_at
|
|
|
|
|
|
|
|
user_id
|
|
|
|
|
|
|
|
game_count 关卡数
|
|
|
|
|
|
|
|
git_url 仓库地址,vnc会用到
|
|
|
|
|
|
|
|
has_answer
|
|
|
|
|
|
|
|
is_teacher 是否是老师 初始化被赋值到 user.is_teacher
|
|
|
|
|
|
|
|
last_compile_output
|
|
|
|
|
|
|
|
mirror_name 镜像名称 TPIMonaco会用到这个属性来判断当前关卡使用的什么语言 见 mirror2LanguageMap
|
|
|
|
|
|
|
|
myshixun
|
|
|
|
|
|
|
|
commit_id: "80cb6fc55a14bdd64a9c99913f416966238ed3de"
|
|
|
|
|
|
|
|
created_at: "2019-07-26T09:00:31.000+08:00"
|
|
|
|
|
|
|
|
git_url: null
|
|
|
|
|
|
|
|
gpid: null
|
|
|
|
|
|
|
|
id: 542543
|
|
|
|
|
|
|
|
identifier: "ns53g8vfeo" 有些接口会用到
|
|
|
|
|
|
|
|
is_public: true
|
|
|
|
|
|
|
|
modify_time: "2017-11-02T18:12:23.000+08:00"
|
|
|
|
|
|
|
|
onclick_time: "2019-07-26T09:00:31.000+08:00"
|
|
|
|
|
|
|
|
repo_name: "p15478209/ns53g8vfeo20190726090031"
|
|
|
|
|
|
|
|
reset_time: "2017-10-25T09:33:03.000+08:00"
|
|
|
|
|
|
|
|
shixun_id: 61
|
|
|
|
|
|
|
|
status: 0
|
|
|
|
|
|
|
|
system_tip: true (如果修改了测试集 || 修改了代码) && system_tip为true 也就是下面代码为true时,才显示更新通知弹框
|
|
|
|
|
|
|
|
const showUpdateButton = (tpm_cases_modified || needUpdateScript) && myshixun.system_tip === true;
|
|
|
|
|
|
|
|
updated_at: "2019-11-05T10:58:35.000+08:00"
|
|
|
|
|
|
|
|
user_id: 24731
|
|
|
|
|
|
|
|
myshixun_manager: true
|
|
|
|
|
|
|
|
next_game: "so7ijzqe63a9" 下一关identifier
|
|
|
|
|
|
|
|
praise_count: 120 点赞数
|
|
|
|
|
|
|
|
prev_game: "bxg5w9uonhts" 上一关identifier
|
|
|
|
|
|
|
|
record_onsume_time: 0.296 上一次评测耗时 初始化被赋值到newResData.record = newResData.record_onsume_time
|
|
|
|
|
|
|
|
sets_error_count: 0 失败测试集数量
|
|
|
|
|
|
|
|
shixun
|
|
|
|
|
|
|
|
authentication: false
|
|
|
|
|
|
|
|
averge_star: 4.9
|
|
|
|
|
|
|
|
can_copy: false
|
|
|
|
|
|
|
|
challenges_count: 4 关卡数
|
|
|
|
|
|
|
|
closer_id: null
|
|
|
|
|
|
|
|
code_edit_permission: false 是否允许修改代码
|
|
|
|
|
|
|
|
code_hidden: false 是否隐藏文件目录按钮
|
|
|
|
|
|
|
|
created_at: "2017-06-09T11:32:16.000+08:00"
|
|
|
|
|
|
|
|
end_time: null
|
|
|
|
|
|
|
|
excute_time: null
|
|
|
|
|
|
|
|
exec_time: 25
|
|
|
|
|
|
|
|
forbid_copy: false forbid_copy ? "不允许学员复制和粘贴代码" : "允许学员复制和粘贴代码"
|
|
|
|
|
|
|
|
fork_from: null
|
|
|
|
|
|
|
|
git_url: "educoder/uznmbg54"
|
|
|
|
|
|
|
|
gpid: 2448
|
|
|
|
|
|
|
|
hidden: false
|
|
|
|
|
|
|
|
hide_code: false 是否隐藏代码tab
|
|
|
|
|
|
|
|
homepage_show: true
|
|
|
|
|
|
|
|
id: 61
|
|
|
|
|
|
|
|
identifier: "uznmbg54"
|
|
|
|
|
|
|
|
image_text: null
|
|
|
|
|
|
|
|
language: "Python3.6" !!
|
|
|
|
|
|
|
|
major_id: 635
|
|
|
|
|
|
|
|
mirror_script_id: null
|
|
|
|
|
|
|
|
modify_time: "2017-11-02T18:12:23.000+08:00"
|
|
|
|
|
|
|
|
multi_webssh: false 多命令行tab
|
|
|
|
|
|
|
|
myshixuns_count: 9655 学员数
|
|
|
|
|
|
|
|
name: "Python表达式问题求解(一)※"
|
|
|
|
|
|
|
|
opening_time: null
|
|
|
|
|
|
|
|
pod_life: 0
|
|
|
|
|
|
|
|
publish_time: "2017-09-01T10:37:49.000+08:00"
|
|
|
|
|
|
|
|
repo_name: "educoder/uznmbg54"
|
|
|
|
|
|
|
|
reset_time: "2017-10-25T09:33:03.000+08:00"
|
|
|
|
|
|
|
|
sigle_training: false
|
|
|
|
|
|
|
|
status: 2 shixun.status >= 2 实训已发布 shixun.status <= 1 模拟实战
|
|
|
|
|
|
|
|
task_pass: task_pass ? "允许学员跳关挑战" : "不允许学员跳关挑战"
|
|
|
|
|
|
|
|
test_set_permission: true test_set_permission ? "允许学员通过金币解锁查看测试集内容" : "不允许学员通过金币解锁查看测试集内容"
|
|
|
|
|
|
|
|
trainee: 1
|
|
|
|
|
|
|
|
updated_at: "2019-10-11T08:50:59.000+08:00"
|
|
|
|
|
|
|
|
use_scope: 0
|
|
|
|
|
|
|
|
user_id: 3039
|
|
|
|
|
|
|
|
users_count: 4
|
|
|
|
|
|
|
|
visits: 69699
|
|
|
|
|
|
|
|
webssh: 1 是否显示命令行tab
|
|
|
|
|
|
|
|
st 0-编程题 1-选择题
|
|
|
|
|
|
|
|
test_sets 测试集
|
|
|
|
|
|
|
|
test_sets_count: 1
|
|
|
|
|
|
|
|
time_limit: 25 game_status.json轮训次数
|
|
|
|
|
|
|
|
tomcat_url: "http://47.96.157.89" web类型实训,可以打开展现一个测试服务,用来查看评测结果 const webDisplayUrl = `${tomcat_url}:${data.port}/${path}`
|
|
|
|
|
|
|
|
tpm_cases_modified: false 参考system_tip属性
|
|
|
|
|
|
|
|
tpm_modified: true 参考system_tip属性
|
|
|
|
|
|
|
|
user 当前关卡所属用户的信息
|
|
|
|
|
|
|
|
user_praise 当前用户是否点赞
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- --------------
|
|
|
|
|
|
|
|
|
|
|
|
TPIContextProvider
|
|
|
|
TPIContextProvider
|
|
|
|
tpi主要的state容器,主要接口:`/tasks/${stageId}.json`,一次性获取所有tpi首屏展示所需要的信息,除了代码内容。
|
|
|
|
tpi主要的state容器,主要接口:`/tasks/${stageId}.json`,一次性获取所有tpi首屏展示所需要的信息,除了代码内容。
|
|
|
|
接口返回的内容包括
|
|
|
|
接口返回的内容包括
|
|
|
@ -54,4 +182,21 @@ TPIContextProvider
|
|
|
|
|
|
|
|
|
|
|
|
没用的文件
|
|
|
|
没用的文件
|
|
|
|
LeftNav.js
|
|
|
|
LeftNav.js
|
|
|
|
AnswerListContainer.js left 他人解答
|
|
|
|
AnswerListContainer.js left 他人解答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TPI SSH
|
|
|
|
|
|
|
|
命令行的js资源都位于这个目录:/react/public/js/jsFromMiddleLayer/base64.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/page/main/CodeRepositoryView.js文件中,open_webssh.json接口返回后,会根据代码区试图大小计算ssh视图的大小(同样的逻辑在js_min_all中也有:
|
|
|
|
|
|
|
|
var h = $("#games_repository_contents").height() - $("#top_repository").height() - repositoryTabHeight; )
|
|
|
|
|
|
|
|
这里有个对应的issue https://www.trustie.net/issues/25279
|
|
|
|
|
|
|
|
这里是要判断特殊的屏幕(公司dell笔记本可重现),针对这些情况处理,加高命令行的高度
|
|
|
|
|
|
|
|
ps js_min_all中搜`$("#games_repository_contents").height()`可以找到相关代码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VNCDisplay
|
|
|
|
|
|
|
|
使用的github上的代码 https://github.com/novnc/noVNC/
|