-
Notifications
You must be signed in to change notification settings - Fork 2
HTTP API
四叶草知识手册服务端 HTTP API
- 用户登录(登陆成功时返回的信息包括用户姓名头像信息)
- 用户登出
- 用户信息
- 知识网列表(切换知识网时的列表)
- 用户某个知识网的经验状态
- 用户某个知识单元网状图
- 知识单元下的节点列表
- 随机获得一个节点下的一个练习题
- 随机获得一个节点下的13个练习题
- 做一次某个练习题
- 练习成功
- 概念列表
- 某个Set下概念列表
- 某个Node下概念列表
- 和某个概念相关的已学知识节点的随机问题列表
包括单元是否解锁信息,是否学习信息,用户的经验状态
url
/api/knowledge_nets/:id
method
get
response
{
:total_exp_num => status.total_exp_num,
:id => net.id,
:name => net.name,
:sets => [
{
:id => set.id,
:name => set.name,
:icon -> set.icon,
:deep => set.deep,
:is_learned => true,
:node_count => 5,
:learned_node_count => 1
},
...
],
:checkpoints => [
{
:id => checkpoint.id,
:learned_sets => ["set-1","set-2"],
:is_learned => true
},
...
],
:relations => [
{
:parent => "set-1",
:child => "set-2"
},
{
:parent => "set-2",
:child => "checkpoint-1"
},
...
]
}
[ { :node_id => "node-31", :id => question.id, :kind => question.kind, :content => question.make_content, :choices => [ "", "", "", "" ], :answer => question.answer
},
...
]
<h2 id="question_do_post_result">做一次某个练习题</h2>
url /api/questions/:id/do_answer method POST params answer # true | false response 200
<h2 id="test_success">练习成功</h2>
url /api/knowledge_nets/:knowledge_net_id/knowledge_nodes/:id/test_success method POST response { :learned_ids => [ { :id => 'node-1', :type => 'KnowledgeNode' }, { :id => 'set-1', :type => 'KnowledgeSet' }, { :id => 'checkpoint-1', :type => 'KnowledgeCheckpoint' }, ... ], :add_exp_num => num, # 本次练习获取的经验值 :history_info => [1, 2, 3, 4, 5] # 最近五天每天获取的经验值 }
<h2 id="concept_list">概念列表</h2>
url /api/knowledge_nets/:knowledge_net_id/concepts method get params is_learned # true || false(可选参数) is_unlocked # true || false(可选参数) response
[ { :id => id, :name => '...', // 概念名 :desc => '...', // 概念描述 :is_learned => true, // 是否已学 true or false :is_unlocked => true, :practicing_count => 12, // 练习次数(正确+错误) }, ... ]
<h2 id="set_concept_list">某个Set下概念列表</h2>
url /api/knowledge_nets/:knowledge_net_id/knowledge_sets/:id/concepts method get response [ { :id => id, :name => '...', // 概念名 :desc => '...', // 概念描述 :is_learned => true, // 是否已学 true or false :is_unlocked => true, :practicing_count => 12, // 练习次数(正确+错误) }, ... ]
<h2 id="node_concept_list">某个Node下概念列表</h2>
url /api/knowledge_nets/:knowledge_net_id/knowledge_nodes/:id/concepts method get response [ { :id => id, :name => '...', // 概念名 :desc => '...', // 概念描述 :is_learned => true, // 是否已学 true or false :is_unlocked => true, :practicing_count => 12, // 练习次数(正确+错误) }, ... ]
<h2 id="concept_learned_node_random_questions">和某个概念相关的已学知识节点的随机问题列表</h2>
url /api/concepts/:id/learned_node_random_questions method get params count # 返回问题的数量 response [ { :node_id => "node-31", :id => question.id, :kind => question.kind, :content => question.make_content, :choices => [ "", "", "", "" ], :answer => question.answer }, ... ]