[关闭]
@chengxuyuan 2020-03-03T05:47:11.000000Z 字数 33170 阅读 576

作业管理文档

学管系统


问题

新建习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_exercise/ 新建习题 YES

Request Parameters

Name Description Required Default
title 题目文本描述 YES
photo 题目图片描述 YES
analysis 题目分析描述 YES
question_type 题目类型 YES
course_category 题目所属直播课分类 NO
question_category 题目所属的问题分类pk NO
difficult_grade 难易程度(simple/harder) NO simple
remark 备注(可以对题目的额外补充说明) NO
options_data 选项数据组 YES
right_options 选项数据对应的子选项组(即连线题中左选项对应的右选项组) YES

question_type : choiceblankconnectionoperation
course_category : 直播课分类的 pk
question_category:问题分类的 pk

Request Data

  1. 选择题 示例
  2. {
  3. "title":"问题的题目描述1111",
  4. "photo":"问题的图片描述1111",
  5. "analysis":"题目分析111",
  6. "question_type":"choice",
  7. "course_category":2,
  8. "question_category":2,
  9. "options_data":[
  10. {
  11. "number":"A",
  12. "title":"选项文本描述",
  13. "photo":"选项图片描述",
  14. "is_answer":false
  15. },
  16. {
  17. "number":"B",
  18. "title":"选项文本描述",
  19. "photo":"选项图片描述",
  20. "is_answer":false
  21. },
  22. {
  23. "number":"C",
  24. "title":"选项文本描述",
  25. "photo":"选项图片描述",
  26. "is_answer":true
  27. }
  28. ],
  29. "remark":""
  30. }
  31. 填空题 示例
  32. {
  33. "title":"问题的题目描述1111",
  34. "photo":"https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  35. "analysis":"题目分析111",
  36. "question_type":"blank",
  37. "course_category":2,
  38. "options_data":[
  39. {
  40. "title":"填空题答案1",
  41. "is_answer":true
  42. },
  43. {
  44. "title":"填空题答案2",
  45. "is_answer":true
  46. }
  47. ]
  48. }
  49. 连线题 示例(暂时废弃)
  50. {
  51. "title":"问题的题目描述1111",
  52. "photo":"问题的图片描述1111",
  53. "analysis":"题目分析111",
  54. "question_type":"connection",
  55. "course_category":2,
  56. "options_data":[
  57. {
  58. "number":"A",
  59. "title":"左边选项 1",
  60. "photo":"左选项图片描述",
  61. "right_options":[
  62. {
  63. "number":"1",
  64. "title":"右边选项 1",
  65. "photo":"左选项图片描述"
  66. },
  67. {
  68. "number":"2",
  69. "title":"右边选项 2",
  70. "photo":"左选项图片描述"
  71. }
  72. ]
  73. },
  74. {
  75. "number":"B",
  76. "title":"左边选项2",
  77. "photo":"左选项图片描述",
  78. "right_options":[ //选项数据对应的子选项组(即连线题中左选项对应的右选项组)
  79. {
  80. "number":"3",
  81. "title":"右边选项 3",
  82. "photo":"左选项图片描述"
  83. }
  84. ]
  85. }
  86. ]
  87. }
  88. 连线题 示例2
  89. {
  90. "title":"问题的题目描述1111",
  91. "photo":"问题的图片描述1111",
  92. "analysis":"题目分析111",
  93. "question_type":"connection",
  94. "course_category":2,
  95. "options_data":[
  96. {
  97. "number":"A",
  98. "title":"左边选项 1",
  99. "photo":"左选项图片描述",
  100. "option_type":"left"
  101. },
  102. {
  103. "number":"1",
  104. "title":"右边选项 1",
  105. "photo":"左选项图片描述",
  106. "option_type":"right"
  107. },
  108. {
  109. "number":"B",
  110. "title":"左边选项2",
  111. "photo":"左选项图片描述",
  112. "option_type":"left"
  113. },
  114. {
  115. "number":"2",
  116. "title":"右边选项 2",
  117. "photo":"左选项图片描述",
  118. "option_type":"right"
  119. }
  120. ],
  121. "match":{
  122. "0":[1],
  123. "2":[1,3]
  124. }
  125. //这里反应的是各选项之间的对应关系,
  126. 0:[1] 表示options_data 数组的第 1 个元素对应的答案是第 2个元素,
  127. 2:[1,3] 表示options_data数组中的第 3 个元素对应的答案是第 2 个和第 4 个元素。
  128. }

Response

  1. 选择题
  2. {
  3. "pk": 10,
  4. "title": "问题的题目描述1111",
  5. "photo": "问题的图片描述1111",
  6. "question_type": "choice",
  7. "analysis": "题目分析111",
  8. "options": [
  9. {
  10. "pk": 7,
  11. "number": "C",
  12. "title": "选项文本描述",
  13. "photo": "选项图片描述",
  14. "is_answer": true,
  15. "question": 10
  16. },
  17. {
  18. "pk": 6,
  19. "number": "B",
  20. "title": "选项文本描述",
  21. "photo": "选项图片描述",
  22. "is_answer": false,
  23. "question": 10
  24. },
  25. {
  26. "pk": 5,
  27. "number": "A",
  28. "title": "选项文本描述",
  29. "photo": "选项图片描述",
  30. "is_answer": false,
  31. "question": 10
  32. }
  33. ],
  34. "course_category": {
  35. "pk": 2,
  36. "name": "编程创作",
  37. "desciption": "编程创作"
  38. },
  39. "answers": [
  40. 83
  41. ]
  42. }
  43. 填空题
  44. {
  45. "pk": 39,
  46. "title": "问题的题目描述1111",
  47. "photo": "https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  48. "question_type": "blank",
  49. "analysis": "题目分析111",
  50. "options": [
  51. {
  52. "pk": 87,
  53. "number": "",
  54. "title": "填空题答案2",
  55. "photo": "",
  56. "is_answer": true,
  57. "question": 39,
  58. "option_type": "middle",
  59. "match_options": null
  60. },
  61. {
  62. "pk": 86,
  63. "number": "",
  64. "title": "填空题答案1",
  65. "photo": "",
  66. "is_answer": true,
  67. "question": 39,
  68. "option_type": "middle",
  69. "match_options": null
  70. }
  71. ],
  72. "course_category": {
  73. "pk": 2,
  74. "name": "编程创作",
  75. "desciption": "编程创作"
  76. },
  77. "answers": [
  78. "填空题答案1",
  79. "填空题答案2"
  80. ]
  81. }
  82. 连线题
  83. {
  84. "pk": 27,
  85. "title": "问题的题目描述1111",
  86. "photo": "问题的图片描述1111",
  87. "question_type": "connection",
  88. "analysis": "题目分析111",
  89. "options": [
  90. {
  91. "pk": 46,
  92. "number": "B",
  93. "title": "左边选项2",
  94. "photo": "",
  95. "is_answer": false,
  96. "question": 27,
  97. "option_type": "left",
  98. "match_options": "45"
  99. },
  100. {
  101. "pk": 45,
  102. "number": "3",
  103. "title": "右边选项 3",
  104. "photo": "",
  105. "is_answer": false,
  106. "question": 27,
  107. "option_type": "right",
  108. "match_options": null
  109. },
  110. {
  111. "pk": 44,
  112. "number": "A",
  113. "title": "左边选项 1",
  114. "photo": "",
  115. "is_answer": false,
  116. "question": 27,
  117. "option_type": "left",
  118. "match_options": "42,43"
  119. },
  120. {
  121. "pk": 43,
  122. "number": "2",
  123. "title": "右边选项 2",
  124. "photo": "",
  125. "is_answer": false,
  126. "question": 27,
  127. "option_type": "right",
  128. "match_options": null
  129. },
  130. {
  131. "pk": 42,
  132. "number": "1",
  133. "title": "右边选项 1",
  134. "photo": "",
  135. "is_answer": false,
  136. "question": 27,
  137. "option_type": "right",
  138. "match_options": null
  139. }
  140. ],
  141. "course_category": {
  142. "pk": 2,
  143. "name": "编程创作",
  144. "desciption": "编程创作"
  145. },
  146. "answers": {
  147. "78": [
  148. 76,
  149. 77
  150. ],
  151. "80": [
  152. 79
  153. ]
  154. }
  155. }

修改习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/update_exercise/${pk}/ 修改习题 YES

pk: 问题的 pk

Request Parameters

Name Description Required Default
title 题目文本描述 YES
photo 题目图片描述 YES
analysis 题目分析描述 YES
question_type 题目类型 YES
course_category 题目所属直播课分类 YES
options_data 选项数据组 YES

question_type : choiceblankconnection
course_category : 直播课分类的 pk

Request Data

  1. 选择题 示例
  2. {
  3. "title":"问题的题目描述1111",
  4. "photo":"问题的图片描述1111",
  5. "analysis":"题目分析111",
  6. "question_type":"choice",
  7. "course_category":2,
  8. "options_data":[
  9. {
  10. "pk":143,
  11. "number":"A",
  12. "title":"选项文本描述",
  13. "photo":"选项图片描述",
  14. "is_answer":false
  15. },
  16. {
  17. "pk":144,
  18. "number":"B",
  19. "title":"选项文本描2述",
  20. "photo":"选项图片描述",
  21. "is_answer":true
  22. },
  23. {
  24. "pk":145,
  25. "number":"C",
  26. "title":"选项文本描述",
  27. "photo":"选项图片描述",
  28. "is_answer":false
  29. }
  30. ]
  31. }
  32. 填空题 示例
  33. {
  34. "title":"问题的题目描述1111",
  35. "photo":"https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  36. "analysis":"题目分析111",
  37. "question_type":"blank",
  38. "course_category":2,
  39. "options_data":[
  40. {
  41. "pk":146,
  42. "title":"填空题答案11",
  43. "is_answer":true
  44. },
  45. {
  46. "pk":147,
  47. "title":"填空题答案22",
  48. "is_answer":true
  49. }
  50. ]
  51. }
  52. 连线题 示例
  53. {
  54. "title":"问题的题目描述1111",
  55. "photo":"问题的图片描述1111",
  56. "analysis":"题目分析111",
  57. "question_type":"connection",
  58. "course_category":2,
  59. "options_data":[
  60. {
  61. "pk":148,
  62. "number":"A",
  63. "title":"左边选项 1",
  64. "photo":"左选项图片描述",
  65. "option_type":"left"
  66. },
  67. {
  68. "pk":149,
  69. "number":"1",
  70. "title":"右边选项 1",
  71. "photo":"左选项图片描述",
  72. "option_type":"right"
  73. },
  74. {
  75. "pk":150,
  76. "number":"B",
  77. "title":"左边选项2",
  78. "photo":"左选项图片描述",
  79. "option_type":"left"
  80. },
  81. {
  82. "pk":151,
  83. "number":"2",
  84. "title":"右边选项 2",
  85. "photo":"左选项图片描述",
  86. "option_type":"right"
  87. }
  88. ],
  89. "match":{
  90. "0":[3],
  91. "2":[1,3]
  92. }
  93. }

Response

  1. 选择题
  2. {
  3. "pk": 10,
  4. "title": "问题的题目描述1111",
  5. "photo": "问题的图片描述1111",
  6. "question_type": "choice",
  7. "analysis": "题目分析111",
  8. "options": [
  9. {
  10. "pk": 7,
  11. "number": "C",
  12. "title": "选项文本描述",
  13. "photo": "选项图片描述",
  14. "is_answer": true,
  15. "question": 10
  16. },
  17. {
  18. "pk": 6,
  19. "number": "B",
  20. "title": "选项文本描述",
  21. "photo": "选项图片描述",
  22. "is_answer": false,
  23. "question": 10
  24. },
  25. {
  26. "pk": 5,
  27. "number": "A",
  28. "title": "选项文本描述",
  29. "photo": "选项图片描述",
  30. "is_answer": false,
  31. "question": 10
  32. }
  33. ],
  34. "course_category": {
  35. "pk": 2,
  36. "name": "编程创作",
  37. "desciption": "编程创作"
  38. },
  39. "answers": [
  40. 83
  41. ]
  42. }
  43. 填空题
  44. {
  45. "pk": 39,
  46. "title": "问题的题目描述1111",
  47. "photo": "https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  48. "question_type": "blank",
  49. "analysis": "题目分析111",
  50. "options": [
  51. {
  52. "pk": 87,
  53. "number": "",
  54. "title": "填空题答案2",
  55. "photo": "",
  56. "is_answer": true,
  57. "question": 39,
  58. "option_type": "middle",
  59. "match_options": null
  60. },
  61. {
  62. "pk": 86,
  63. "number": "",
  64. "title": "填空题答案1",
  65. "photo": "",
  66. "is_answer": true,
  67. "question": 39,
  68. "option_type": "middle",
  69. "match_options": null
  70. }
  71. ],
  72. "course_category": {
  73. "pk": 2,
  74. "name": "编程创作",
  75. "desciption": "编程创作"
  76. },
  77. "answers": [
  78. "填空题答案1",
  79. "填空题答案2"
  80. ]
  81. }
  82. 连线题
  83. {
  84. "pk": 58,
  85. "title": "问题的题目描述1111",
  86. "photo": "问题的图片描述1111",
  87. "question_type": "connection",
  88. "analysis": "题目分析111",
  89. "options": [
  90. {
  91. "pk": 151,
  92. "number": "2",
  93. "title": "右边选项 2",
  94. "photo": "左选项图片描述",
  95. "is_answer": false,
  96. "question": 58,
  97. "option_type": "right",
  98. "match_options": null
  99. },
  100. {
  101. "pk": 150,
  102. "number": "B",
  103. "title": "左边选项2",
  104. "photo": "左选项图片描述",
  105. "is_answer": false,
  106. "question": 58,
  107. "option_type": "left",
  108. "match_options": "149,151"
  109. },
  110. {
  111. "pk": 149,
  112. "number": "1",
  113. "title": "右边选项 1",
  114. "photo": "左选项图片描述",
  115. "is_answer": false,
  116. "question": 58,
  117. "option_type": "right",
  118. "match_options": null
  119. },
  120. {
  121. "pk": 148,
  122. "number": "A",
  123. "title": "左边选项 1",
  124. "photo": "左选项图片描述",
  125. "is_answer": false,
  126. "question": 58,
  127. "option_type": "left",
  128. "match_options": "151"
  129. }
  130. ],
  131. "course_category": {
  132. "pk": 2,
  133. "name": "编程创作",
  134. "desciption": "编程创作"
  135. },
  136. "answers": {
  137. "148": [
  138. 151
  139. ],
  140. "150": [
  141. 149,
  142. 151
  143. ]
  144. }
  145. }

删除习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
DELETE /server/job_management/delete_exercise/${pk}/ 删除习题 YES

Response

  1. 状态码200 {status:0, message:''}

新建题目

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_question/ 新建题目 YES

Request Parameters

Name Description Required Default
title 题目文本描述 YES
photo 题目图片描述 YES
analysis 题目分析描述 YES
question_type 题目类型 YES
course_category 题目所属直播课分类 YES

question_type : choiceblankconnection
course_category : 直播课分类的 pk

Request Data

  1. {
  2. "title":"问题的题目描述",
  3. "photo":"问题的图片描述",
  4. "analysis":"题目分析",
  5. "question_type":"choice",
  6. "course_category":2
  7. }

Response

  1. {
  2. "pk": 30,
  3. "title": "问题的题目描述",
  4. "photo": "问题的图片描述",
  5. "question_type": "choice",
  6. "analysis": "题目分析",
  7. "options": [],
  8. "course_category": {
  9. "pk": 2,
  10. "name": "编程创作",
  11. "desciption": "编程创作"
  12. }
  13. }

修改题目

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/update_question/${pk}/ 修改题目 YES

Request Parameters

Name Description Required Default
title 题目文本描述 YES
photo 题目图片描述 YES
analysis 题目分析描述 YES
question_type 题目类型 YES
course_category 题目所属直播课分类 YES

question_type : choiceblankconnection
course_category : 直播课分类的 pk

Request Data

  1. {
  2. "title":"问题的题目描述",
  3. "photo":"问题的图片描述",
  4. "analysis":"题目分析",
  5. "question_type":"choice",
  6. "course_category":2
  7. }

Response

  1. {
  2. "pk": 30,
  3. "title": "问题的题目描述",
  4. "photo": "问题的图片描述",
  5. "question_type": "choice",
  6. "analysis": "题目分析",
  7. "options": [],
  8. "course_category": {
  9. "pk": 2,
  10. "name": "编程创作",
  11. "desciption": "编程创作"
  12. }
  13. }

获取题目详情

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/detail_question/${pk}/ 题目详情 YES

Response

  1. {
  2. "pk": 1,
  3. "title": "问题的题目描述",
  4. "photo": "问题的图片描述",
  5. "question_type": "choice",
  6. "analysis": "题目分析",
  7. "options": [
  8. {
  9. "pk": 2,
  10. "number": "B",
  11. "title": "选项文本描述",
  12. "photo": "选项图片描述",
  13. "is_answer": false,
  14. "question": 1
  15. },
  16. {
  17. "pk": 1,
  18. "number": "A",
  19. "title": "选项文本描述",
  20. "photo": "选项图片描述",
  21. "is_answer": false,
  22. "question": 1
  23. }
  24. ],
  25. "course_category": {
  26. "pk": 2,
  27. "name": "编程创作",
  28. "desciption": "编程创作"
  29. }
  30. }

获取题目列表、过滤/搜索习题列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_question/ 题目列表 YES

按条件过滤列表释义如下 :
course_category(直播课分类 pk)示例: /server/job_management/list_question/?course_category=2
question_type(习题类型)示例:
/server/job_management/list_question/?question_type=choice
question_category(问题分类 pk)示例:
/server/job_management/list_question/?question_category=2
difficult_grade(题目难易程度)示例:
/server/job_management/list_question/?difficult_grade=simple/server/job_management/list_question/?difficult_grade=harder

按问题 title 搜索列表释义如下:
search 示例:/server/job_management/list_question/?search=问题的题目描

Response

  1. {
  2. "count": 1,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 30,
  8. "title": "问题的题目描述",
  9. "photo": "问题的图片描述",
  10. "question_type": "choice",
  11. "analysis": "题目分析",
  12. "options": [],
  13. "course_category": {
  14. "pk": 2,
  15. "name": "编程创作",
  16. "desciption": "编程创作"
  17. }
  18. }
  19. ]
  20. }

选项

新建选项

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_option/ 新建选项 YES

Request Parameters

Name Description Required Default
title 选项文本描述 YES
photo 选项图片描述 YES
number 选项编号如A YES
is_answer 该选项是否被设置为正确答案 YES False
question 题目pk YES
option_type 选项类型 YES middle
match_options 选项下的选项的 pk 组(左选项对应的右选项组) YES

option_type 选型类型, left(左)、right(右)、middle(中间)

Request Data

  1. {
  2. "question":1,
  3. "number":"C",
  4. "title":"选项文本描述",
  5. "photo":"选项图片描述",
  6. "is_answer":true
  7. }

Response

  1. {
  2. "pk": 3,
  3. "number": "C",
  4. "title": "选项文本描述",
  5. "photo": "选项图片描述",
  6. "is_answer": true,
  7. "question": 1
  8. }

修改选项

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/update_option/${pk}/ 修改选项 YES

Request Parameters

Name Description Required Default
title 选项文本描述 YES
photo 选项图片描述 YES
number 选项编号如A YES
is_answer 该选项是否被设置为正确答案 YES False
question 题目pk YES

Request Data

  1. {
  2. "question":1,
  3. "number":"C",
  4. "title":"选项文本描述",
  5. "photo":"选项图片描述",
  6. "is_answer":true
  7. }

Response

  1. {
  2. "pk": 3,
  3. "number": "C",
  4. "title": "选项文本描述",
  5. "photo": "选项图片描述",
  6. "is_answer": true,
  7. "question": 1
  8. }

获取选项详情

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/detail_option/${pk}/ 选项详情 YES

Response

  1. {
  2. "pk": 3,
  3. "number": "C",
  4. "title": "选项文本描述",
  5. "photo": "选项图片描述",
  6. "is_answer": true,
  7. "question": 1
  8. }

删除选项

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
DELETE /server/job_management/delete_option/${pk}/ 删除选项 YES

Response

  1. 状态码204 无返回数据

获取选项列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_option/ 选项列表 YES

Response

  1. {
  2. "count": 3,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 3,
  8. "number": "C",
  9. "title": "选项文本描述",
  10. "photo": "选项图片描述",
  11. "is_answer": true,
  12. "question": 1
  13. },
  14. {
  15. "pk": 2,
  16. "number": "B",
  17. "title": "选项文本描述",
  18. "photo": "选项图片描述",
  19. "is_answer": false,
  20. "question": 1
  21. },
  22. {
  23. "pk": 1,
  24. "number": "A",
  25. "title": "选项文本描述",
  26. "photo": "选项图片描述",
  27. "is_answer": false,
  28. "question": 1
  29. }
  30. ]
  31. }

试卷

新建试卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_exam/ 新建试卷 YES

Request Parameters

Name Description Required Default
name 试卷的名称 YES
course_category 试卷所属直播课分类的 pk YES
questions_data 试卷所包含的问题的 pk 组 YES
exam_category 试卷所属的问题分类 pk NO
practice_link 练习课链接 NO
is_countdown 是否含有倒计时功能 NO
is_hide 是否隐藏试卷 NO
duration 倒计时时长(秒) NO
tag 试卷标记(学管 management,月赛game) NO management

Request Data

  1. {
  2. "course_category":2,
  3. "name":"cw_test_01",
  4. "questions_data":[34,33,35],
  5. "practice_link":"https://www.coding61.com/html/live-lesson/live.html?pk=1926",
  6. "is_hide":true,
  7. "is_countdown":true
  8. }

Response

question_ids 习题id 组,前端可以根据这个来调整试卷中习题的顺序

  1. {
  2. "pk": 14,
  3. "course_category": "编程创作",
  4. "name": "cw_test_01",
  5. "is_hide":true,
  6. "is_countdown":true,
  7. "questions": [
  8. {
  9. "pk": 35,
  10. "title": "问题的题目描述1111",
  11. "photo": "https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  12. "question_type": "blank",
  13. "analysis": "题目分析111",
  14. "options": [
  15. {
  16. "pk": 81,
  17. "number": "",
  18. "title": "填空题答案2",
  19. "photo": "",
  20. "is_answer": true,
  21. "question": 35,
  22. "option_type": "middle",
  23. "match_options": null
  24. },
  25. {
  26. "pk": 80,
  27. "number": "",
  28. "title": "填空题答案1",
  29. "photo": "",
  30. "is_answer": true,
  31. "question": 35,
  32. "option_type": "middle",
  33. "match_options": null
  34. }
  35. ],
  36. "course_category": {
  37. "pk": 2,
  38. "name": "编程创作",
  39. "desciption": "编程创作"
  40. },
  41. "answers": [
  42. "填空题答案1",
  43. "填空题答案2"
  44. ]
  45. },
  46. {
  47. "pk": 34,
  48. "title": "问题的题目描述1111",
  49. "photo": "问题的图片描述1111",
  50. "question_type": "choice",
  51. "analysis": "题目分析111",
  52. "options": [
  53. {
  54. "pk": 79,
  55. "number": "C",
  56. "title": "选项文本描述",
  57. "photo": "选项图片描述",
  58. "is_answer": true,
  59. "question": 34,
  60. "option_type": "middle",
  61. "match_options": null
  62. },
  63. {
  64. "pk": 78,
  65. "number": "B",
  66. "title": "选项文本描述",
  67. "photo": "选项图片描述",
  68. "is_answer": false,
  69. "question": 34,
  70. "option_type": "middle",
  71. "match_options": null
  72. },
  73. {
  74. "pk": 77,
  75. "number": "A",
  76. "title": "选项文本描述",
  77. "photo": "选项图片描述",
  78. "is_answer": false,
  79. "question": 34,
  80. "option_type": "middle",
  81. "match_options": null
  82. }
  83. ],
  84. "course_category": {
  85. "pk": 2,
  86. "name": "编程创作",
  87. "desciption": "编程创作"
  88. },
  89. "answers": [
  90. 79
  91. ]
  92. },
  93. {
  94. "pk": 33,
  95. "title": "问题的题目描述1111",
  96. "photo": "问题的图片描述1111",
  97. "question_type": "connection",
  98. "analysis": "题目分析111",
  99. "options": [
  100. {
  101. "pk": 76,
  102. "number": "B",
  103. "title": "左边选项2",
  104. "photo": "",
  105. "is_answer": false,
  106. "question": 33,
  107. "option_type": "left",
  108. "match_options": "75"
  109. },
  110. {
  111. "pk": 75,
  112. "number": "3",
  113. "title": "右边选项 3",
  114. "photo": "",
  115. "is_answer": false,
  116. "question": 33,
  117. "option_type": "right",
  118. "match_options": null
  119. },
  120. {
  121. "pk": 74,
  122. "number": "A",
  123. "title": "左边选项 1",
  124. "photo": "",
  125. "is_answer": false,
  126. "question": 33,
  127. "option_type": "left",
  128. "match_options": "72,73"
  129. },
  130. {
  131. "pk": 73,
  132. "number": "2",
  133. "title": "右边选项 2",
  134. "photo": "",
  135. "is_answer": false,
  136. "question": 33,
  137. "option_type": "right",
  138. "match_options": null
  139. },
  140. {
  141. "pk": 72,
  142. "number": "1",
  143. "title": "右边选项 1",
  144. "photo": "",
  145. "is_answer": false,
  146. "question": 33,
  147. "option_type": "right",
  148. "match_options": null
  149. }
  150. ],
  151. "course_category": {
  152. "pk": 2,
  153. "name": "编程创作",
  154. "desciption": "编程创作"
  155. },
  156. "answers": {
  157. "74": [
  158. 72,
  159. 73
  160. ],
  161. "76": [
  162. 75
  163. ]
  164. }
  165. }
  166. ],
  167. "question_ids": "34,33,35",
  168. "practice_link": "https://www.coding61.com/html/live-lesson/live.html?pk=1926"
  169. }

修改试卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/update_exam/${pk}/ 修改试卷 YES

Request Parameters

Name Description Required Default
name 试卷的名称 YES
course_category 试卷所属直播课分类pk YES
question_ids 试卷中已有习题的 id 组的最终排序 YES

Request Data

  1. {
  2. "course_category":2,
  3. "name":"试卷的名称2",
  4. "question_ids":"8,1"
  5. }

Response

  1. {
  2. "pk": 2,
  3. "course_category": "编程创作",
  4. "name": "试卷的名称2",
  5. "questions": [
  6. {
  7. "pk": 8,
  8. "title": "问题的题目描述1111",
  9. "photo": "问题的图片描述1111",
  10. "question_type": "choice",
  11. "analysis": "题目分析111",
  12. "options": [
  13. {
  14. "pk": 4,
  15. "number": "B",
  16. "title": "选项文本描述",
  17. "photo": "选项图片描述",
  18. "is_answer": false,
  19. "question": 8
  20. }
  21. ],
  22. "course_category": {
  23. "pk": 2,
  24. "name": "编程创作",
  25. "desciption": "编程创作"
  26. }
  27. },
  28. {
  29. "pk": 1,
  30. "title": "问题的题目描述",
  31. "photo": "问题的图片描述",
  32. "question_type": "choice",
  33. "analysis": "题目分析",
  34. "options": [
  35. {
  36. "pk": 2,
  37. "number": "B",
  38. "title": "选项文本描述",
  39. "photo": "选项图片描述",
  40. "is_answer": false,
  41. "question": 1
  42. },
  43. {
  44. "pk": 1,
  45. "number": "A",
  46. "title": "选项文本描述",
  47. "photo": "选项图片描述",
  48. "is_answer": false,
  49. "question": 1
  50. }
  51. ],
  52. "course_category": {
  53. "pk": 2,
  54. "name": "编程创作",
  55. "desciption": "编程创作"
  56. }
  57. }
  58. ]
  59. }

添加试卷中习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/add_exercise_exam/${pk}/ 试卷追加习题 YES

Request Parameters

Name Description Required Default
questions_data 习题的pk组 YES

Request Data

  1. {
  2. "questions_data":[1]
  3. }

Response

  1. {
  2. "pk": 2,
  3. "course_category": "编程创作",
  4. "name": "试卷的名称2",
  5. "questions": [
  6. {
  7. "pk": 8,
  8. "title": "问题的题目描述1111",
  9. "photo": "问题的图片描述1111",
  10. "question_type": "choice",
  11. "analysis": "题目分析111",
  12. "options": [
  13. {
  14. "pk": 4,
  15. "number": "B",
  16. "title": "选项文本描述",
  17. "photo": "选项图片描述",
  18. "is_answer": false,
  19. "question": 8,
  20. "option_type": "middle",
  21. "match_options": null
  22. }
  23. ],
  24. "course_category": {
  25. "pk": 2,
  26. "name": "编程创作",
  27. "desciption": "编程创作"
  28. }
  29. },
  30. {
  31. "pk": 1,
  32. "title": "问题的题目描述",
  33. "photo": "问题的图片描述",
  34. "question_type": "choice",
  35. "analysis": "题目分析",
  36. "options": [
  37. {
  38. "pk": 2,
  39. "number": "B",
  40. "title": "选项文本描述",
  41. "photo": "选项图片描述",
  42. "is_answer": false,
  43. "question": 1,
  44. "option_type": "middle",
  45. "match_options": null
  46. },
  47. {
  48. "pk": 1,
  49. "number": "A",
  50. "title": "选项文本描述",
  51. "photo": "选项图片描述",
  52. "is_answer": false,
  53. "question": 1,
  54. "option_type": "middle",
  55. "match_options": null
  56. }
  57. ],
  58. "course_category": {
  59. "pk": 2,
  60. "name": "编程创作",
  61. "desciption": "编程创作"
  62. }
  63. }
  64. ],
  65. "question_ids": "8,1"
  66. }

移除试卷中习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/remove_exercise_exam/${pk}/ 试卷移除习题 YES

Request Parameters

Name Description Required Default
questions_data 习题的pk组 YES

Request Data

  1. {
  2. "questions_data":[1]
  3. }

Response

  1. {
  2. "pk": 2,
  3. "course_category": "编程创作",
  4. "name": "试卷的名称2",
  5. "questions": [
  6. {
  7. "pk": 8,
  8. "title": "问题的题目描述1111",
  9. "photo": "问题的图片描述1111",
  10. "question_type": "choice",
  11. "analysis": "题目分析111",
  12. "options": [
  13. {
  14. "pk": 4,
  15. "number": "B",
  16. "title": "选项文本描述",
  17. "photo": "选项图片描述",
  18. "is_answer": false,
  19. "question": 8,
  20. "option_type": "middle",
  21. "match_options": null
  22. }
  23. ],
  24. "course_category": {
  25. "pk": 2,
  26. "name": "编程创作",
  27. "desciption": "编程创作"
  28. }
  29. }
  30. ],
  31. "question_ids": "8"
  32. }

综合修改试卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PATCH /server/job_management/exam_update/${pk}/ 综合修改试卷 YES

Request Parameters

Name Description Required Default
name 试卷的名称 NO
course_category 试卷所属直播课分类pk NO
exam_category 试卷所属的问题分类 pk NO
question_ids 试卷中已有习题的 id 组的最终排序 NO
add_exercises 试卷新增习题的 pk 组 NO
remove_exercises 试卷中移除习题的 pk 组 NO
tag 试卷标记(学管 management,月赛game) NO

question_ids, 前端可以根据此字段,来排序返回的习题列表,以上字段都是可选的,需要注意的时,如果不需要更改的项,要么不传,要么传原来的值

Request Data

  1. {
  2. "course_category":2,
  3. "name":"试卷的名称2",
  4. "question_ids":"8,1",
  5. "add_exercises":[],
  6. "remove_exercises":[1]
  7. }

Response

  1. {
  2. "status": -4,
  3. "message": "存在不在白名单用户的答题记录,因此不能对试卷习题增删操作",
  4. "unknown_users": [
  5. "15201052252"
  6. ]
  7. }
  8. {
  9. "pk": 2,
  10. "course_category": "编程创作",
  11. "name": "试卷的名称2",
  12. "questions": [
  13. {
  14. "pk": 8,
  15. "title": "问题的题目描述1111",
  16. "photo": "问题的图片描述1111",
  17. "question_type": "choice",
  18. "analysis": "题目分析111",
  19. "options": [
  20. {
  21. "pk": 4,
  22. "number": "B",
  23. "title": "选项文本描述",
  24. "photo": "选项图片描述",
  25. "is_answer": false,
  26. "question": 8,
  27. "option_type": "middle",
  28. "match_options": null
  29. }
  30. ],
  31. "course_category": {
  32. "pk": 2,
  33. "id": 2,
  34. "deleted": false,
  35. "create_time": "2019-04-10T16:13:25.553121",
  36. "order_index": 1000,
  37. "name": "编程创作",
  38. "desciption": "编程创作",
  39. "public": false
  40. },
  41. "answers": []
  42. },
  43. {
  44. "pk": 1,
  45. "title": "问题的题目描述",
  46. "photo": "问题的图片描述",
  47. "question_type": "choice",
  48. "analysis": "题目分析",
  49. "options": [
  50. {
  51. "pk": 2,
  52. "number": "B",
  53. "title": "选项文本描述",
  54. "photo": "选项图片描述",
  55. "is_answer": false,
  56. "question": 1,
  57. "option_type": "middle",
  58. "match_options": null
  59. },
  60. {
  61. "pk": 1,
  62. "number": "A",
  63. "title": "选项文本描述",
  64. "photo": "选项图片描述",
  65. "is_answer": false,
  66. "question": 1,
  67. "option_type": "middle",
  68. "match_options": null
  69. }
  70. ],
  71. "course_category": {
  72. "pk": 2,
  73. "id": 2,
  74. "deleted": false,
  75. "create_time": "2019-04-10T16:13:25.553121",
  76. "order_index": 1000,
  77. "name": "编程创作",
  78. "desciption": "编程创作",
  79. "public": false
  80. },
  81. "answers": []
  82. }
  83. ],
  84. "question_ids": "8,1",
  85. "practice_link": null
  86. }

获取试卷详情

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/detail_exam/${pk}/ 试卷详情 YES

Response

  1. {
  2. "pk": 3,
  3. "course_category": "编程创作",
  4. "name": "试卷的名称",
  5. "questions": []
  6. }

删除试卷(暂时不用前端)

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
DELETE /server/job_management/delete_exam/${pk}/ 删除试卷 YES

Response

  1. 状态码204 无返回数据

删除试卷的试卷记录

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/exam_record_delete/${pk}/ 删除试卷的试卷记录 YES

Response

  1. {
  2. "pk": 2,
  3. "course_category": "编程创作",
  4. "name": "试卷的名dsd称2",
  5. "questions": [
  6. {
  7. "pk": 8,
  8. "title": "问题的题目描述1111",
  9. "photo": "问题的图片描述1111",
  10. "question_type": "choice",
  11. "analysis": "题目分析111",
  12. "options": [
  13. {
  14. "pk": 4,
  15. "number": "B",
  16. "title": "选项文本描述",
  17. "photo": "选项图片描述",
  18. "is_answer": false,
  19. "question": 8,
  20. "option_type": "middle",
  21. "match_options": null
  22. }
  23. ],
  24. "course_category": {
  25. "pk": 2,
  26. "id": 2,
  27. "deleted": false,
  28. "create_time": "2019-04-10T16:13:25.553121",
  29. "order_index": 1000,
  30. "name": "编程创作",
  31. "desciption": "编程创作",
  32. "public": false
  33. },
  34. "answers": []
  35. }
  36. ],
  37. "question_ids": "8",
  38. "practice_link": null
  39. }

获取试卷列表、过滤试卷列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_exam/ 试卷列表 YES

按条件过滤列表释义如下 :
1. course_category(直播课分类 pk)示例:
/server/job_management/list_exam/?course_category=2
2. is_hide(试卷是否隐藏)示例: /server/job_management/list_exam/?is_hide=False
3. tag(试卷标记学管还是月赛)示例: /server/job_management/list_exam/?tag=management学管
/server/job_management/list_exam/?tag=game月赛
4. exam_category(试卷的分类pk)示例:/server/job_management/list_exam/?exam_category=1

按搜索字段释义如下 :
1. 试卷名称
/server/job_management/list_exam/?search=少儿编程等级认证 1级 试卷

Response

  1. {
  2. "count": 3,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 3,
  8. "course_category": "编程创作",
  9. "name": "试卷的名称",
  10. "questions": []
  11. },
  12. {
  13. "pk": 2,
  14. "course_category": "编程创作",
  15. "name": "试卷的名称2",
  16. "questions": [
  17. {
  18. "pk": 8,
  19. "title": "问题的题目描述1111",
  20. "photo": "问题的图片描述1111",
  21. "question_type": "choice",
  22. "analysis": "题目分析111",
  23. "options": [
  24. {
  25. "pk": 4,
  26. "number": "B",
  27. "title": "选项文本描述",
  28. "photo": "选项图片描述",
  29. "is_answer": false,
  30. "question": 8
  31. }
  32. ],
  33. "course_category": {
  34. "pk": 2,
  35. "name": "编程创作",
  36. "desciption": "编程创作"
  37. }
  38. }
  39. ]
  40. }
  41. ]
  42. }

用户答题相关操作

用户回答习题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_answer/ 用户回答习题 YES

Request Parameters

Name Description Required Default
question 问题的 pk YES
option 用户选择的选项的pk组 或者 用户所填的答案组 YES

Request Data

  1. 选择题 示例1
  2. {
  3. "question":10,
  4. "option":[7]
  5. }
  6. 填空题 示例2
  7. {
  8. "question":12,
  9. "option":["填空题答案1", "填空题答案2"]
  10. }
  11. 连线题 示例 3
  12. {
  13. "question":27,
  14. "option":{
  15. "44":[43,42], 键是左选项的 pk,对应值是右选项的 pk
  16. "46":[45]
  17. }
  18. }

Response

  1. 选择题 示例1
  2. {
  3. "pk": 2,
  4. "owner": {
  5. "name": "啦啦啦",
  6. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  7. "user": "15201052252",
  8. "nickname": "chen"
  9. },
  10. "question": {
  11. "pk": 15,
  12. "title": "问题的题目描述1111",
  13. "photo": "问题的图片描述1111",
  14. "question_type": "choice",
  15. "analysis": "题目分析111",
  16. "options": [
  17. {
  18. "pk": 17,
  19. "number": "C",
  20. "title": "选项文本描述",
  21. "photo": "选项图片描述",
  22. "is_answer": true,
  23. "question": 15
  24. },
  25. {
  26. "pk": 16,
  27. "number": "B",
  28. "title": "选项文本描述",
  29. "photo": "选项图片描述",
  30. "is_answer": false,
  31. "question": 15
  32. },
  33. {
  34. "pk": 15,
  35. "number": "A",
  36. "title": "选项文本描述",
  37. "photo": "选项图片描述",
  38. "is_answer": false,
  39. "question": 15
  40. }
  41. ],
  42. "course_category": {
  43. "pk": 2,
  44. "name": "编程创作",
  45. "desciption": "编程创作"
  46. }
  47. },
  48. "options": [
  49. {
  50. "pk": 7,
  51. "number": "C",
  52. "title": "选项文本描述",
  53. "photo": "选项图片描述"
  54. }
  55. ],
  56. "blank_options":[]
  57. "is_right": true
  58. }
  59. 填空题 示例2
  60. {
  61. "pk": 50,
  62. "owner": {
  63. "name": "勿问情殇",
  64. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  65. "user": "15201052252",
  66. "nickname": "chen"
  67. },
  68. "question": {
  69. "pk": 12,
  70. "title": "问题的题目描述333",
  71. "photo": "https://static1.bcjiaoyu.com/public.png,https://static1.bcjiaoyu.com//Tiny-21539780778%281%29.png",
  72. "question_type": "blank",
  73. "analysis": "问题的解析描述333",
  74. "options": [
  75. {
  76. "pk": 12,
  77. "number": "",
  78. "title": "填空题答案2",
  79. "photo": "",
  80. "is_answer": true,
  81. "question": 12
  82. },
  83. {
  84. "pk": 11,
  85. "number": "",
  86. "title": "填空题答案1",
  87. "photo": "",
  88. "is_answer": true,
  89. "question": 12
  90. }
  91. ],
  92. "course_category": {
  93. "pk": 2,
  94. "name": "编程创作",
  95. "desciption": "编程创作"
  96. }
  97. },
  98. "options": [],
  99. "blank_options": [
  100. "填空题答案1",
  101. "填空题答案2"
  102. ],
  103. "is_right": true
  104. }
  105. 连线题 示例 3
  106. {
  107. "pk": 65,
  108. "owner": {
  109. "name": "勿问情殇",
  110. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  111. "user": "15201052252",
  112. "nickname": "chen"
  113. },
  114. "exam_record": null,
  115. "question": {
  116. "pk": 27,
  117. "title": "问题的题目描述1111",
  118. "photo": "问题的图片描述1111",
  119. "question_type": "connection",
  120. "analysis": "题目分析111",
  121. "options": [
  122. {
  123. "pk": 46,
  124. "number": "B",
  125. "title": "左边选项2",
  126. "photo": "",
  127. "is_answer": false,
  128. "question": 27,
  129. "option_type": "left",
  130. "match_options": "45"
  131. },
  132. {
  133. "pk": 45,
  134. "number": "3",
  135. "title": "右边选项 3",
  136. "photo": "",
  137. "is_answer": false,
  138. "question": 27,
  139. "option_type": "right",
  140. "match_options": null
  141. },
  142. {
  143. "pk": 44,
  144. "number": "A",
  145. "title": "左边选项 1",
  146. "photo": "",
  147. "is_answer": false,
  148. "question": 27,
  149. "option_type": "left",
  150. "match_options": "42,43"
  151. },
  152. {
  153. "pk": 43,
  154. "number": "2",
  155. "title": "右边选项 2",
  156. "photo": "",
  157. "is_answer": false,
  158. "question": 27,
  159. "option_type": "right",
  160. "match_options": null
  161. },
  162. {
  163. "pk": 42,
  164. "number": "1",
  165. "title": "右边选项 1",
  166. "photo": "",
  167. "is_answer": false,
  168. "question": 27,
  169. "option_type": "right",
  170. "match_options": null
  171. }
  172. ],
  173. "course_category": {
  174. "pk": 2,
  175. "name": "编程创作",
  176. "desciption": "编程创作"
  177. }
  178. },
  179. "options": [],
  180. "blank_options": [],
  181. "is_right": true,
  182. "user_answers": {
  183. "44": [
  184. 43,
  185. 42
  186. ],
  187. "46": [
  188. 45
  189. ]
  190. }
  191. }

修改答案,即用户重做错题

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/update_answer/${pk}/ 修改答案 YES

这里的 pk 是答案记录的 pk

Request Parameters

Name Description Required Default
option 用户选择的选项的pk组 YES

Request Data

  1. {
  2. "option":[6]
  3. }

Response

  1. {
  2. "pk": 1,
  3. "owner": {
  4. "name": "啦啦啦",
  5. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  6. "user": "15201052252",
  7. "nickname": "chen"
  8. },
  9. "question": 10,
  10. "options": [
  11. {
  12. "pk": 6,
  13. "number": "B",
  14. "title": "选项文本描述",
  15. "photo": "选项图片描述"
  16. }
  17. ],
  18. "is_right": false
  19. }

获取答题记录详情

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/detail_answer/${pk}/ 答题记录详情 YES

Response

  1. {
  2. "pk": 1,
  3. "owner": {
  4. "name": "啦啦啦",
  5. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  6. "user": "15201052252",
  7. "nickname": "chen"
  8. },
  9. "question": 10,
  10. "options": [
  11. {
  12. "pk": 6,
  13. "number": "B",
  14. "title": "选项文本描述",
  15. "photo": "选项图片描述"
  16. }
  17. ],
  18. "is_right": false
  19. }

获取答题记录列表、过滤答题记录列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_answer/ 答题记录列表 YES

按条件过滤列表释义如下 :
is_right(答对(True)的还是答错(False)的)示例: /server/job_management/list_answer/?is_right=True

Response

  1. {
  2. "count": 1,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 2,
  8. "owner": {
  9. "name": "啦啦啦",
  10. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  11. "user": "15201052252",
  12. "nickname": "chen"
  13. },
  14. "question": 10,
  15. "options": [
  16. {
  17. "pk": 7,
  18. "number": "C",
  19. "title": "选项文本描述",
  20. "photo": "选项图片描述"
  21. }
  22. ],
  23. "is_right": true
  24. }
  25. ]
  26. }

发卷记录相关

发卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST /server/job_management/create_exam_distribution_record/ 发卷 YES

Request Parameters

Name Description Required Default
exam 试卷的 pk YES
class_group 班级的 pk组 YES
live_classroom 直播教室的 pk YES

Request Data

  1. {
  2. "exam":1,
  3. "class_group":[9,10],
  4. "live_classroom":66
  5. }

Response

  1. {
  2. "status": 0,
  3. "message": ""
  4. }

查看发卷记录、过滤各班各学员答卷情况、获取用户所有已有试卷列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_exam_distribution_record/ 发卷记录列表 YES

按条件过滤列表释义如下 :
exam(试卷 pk)示例: /server/job_management/list_exam_distribution_record/?exam=1
team(试卷 pk)示例: /server/job_management/list_exam_distribution_record/?team=1
owner(用户的username)示例:
/server/job_management/list_exam_distribution_record/?owner=15201052252
exam_category(问题的分类 pk)示例:
/server/job_management/list_exam_distribution_record/?exam_category=2
tag(试卷的标记)示例:
/server/job_management/list_exam_distribution_record/?tag=management /server/job_management/list_exam_distribution_record/?tag=game

Response

  1. {
  2. "count": 2,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 5,
  8. "owner": {
  9. "name": "15600116619",
  10. "avatar": "https://static1.bcjiaoyu.com/head1@3x.png",
  11. "user": "15600116619",
  12. "nickname": ""
  13. },
  14. "exam": "试卷的名称",
  15. "team": "研发小班",
  16. "right_rate": "0.00",
  17. "wrong_num":0
  18. },
  19. {
  20. "pk": 4,
  21. "owner": {
  22. "name": "啦啦啦",
  23. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  24. "user": "15201052252",
  25. "nickname": "chen"
  26. },
  27. "exam": "试卷的名称",
  28. "team": "研发小班",
  29. "right_rate": "0.00",
  30. "wrong_num":0
  31. }
  32. ]
  33. }

开始答卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/begin_exam/${pk}/ 开始答卷 YES

需要注意的是:这里的 pk 是试卷记录的 pk

Response

  1. {
  2. "pk": 1,
  3. "course_category": "编程创作",
  4. "name": "试卷的名称",
  5. "questions": [
  6. {
  7. "pk": 10,
  8. "title": "问题的题目描述1111",
  9. "photo": "问题的图片描述1111",
  10. "question_type": "choice",
  11. "analysis": "题目分析111",
  12. "options": [
  13. {
  14. "pk": 7,
  15. "number": "C",
  16. "title": "选项文本描述",
  17. "photo": "选项图片描述",
  18. "is_answer": true,
  19. "question": 10,
  20. "option_type": "middle",
  21. "match_options": null
  22. },
  23. {
  24. "pk": 6,
  25. "number": "B",
  26. "title": "选项文本描述",
  27. "photo": "选项图片描述",
  28. "is_answer": false,
  29. "question": 10,
  30. "option_type": "middle",
  31. "match_options": null
  32. },
  33. {
  34. "pk": 5,
  35. "number": "A",
  36. "title": "选项文本描述",
  37. "photo": "选项图片描述",
  38. "is_answer": false,
  39. "question": 10,
  40. "option_type": "middle",
  41. "match_options": null
  42. }
  43. ],
  44. "course_category": {
  45. "pk": 2,
  46. "id": 2,
  47. "deleted": false,
  48. "create_time": "2019-04-10T16:13:25.553121",
  49. "order_index": 1000,
  50. "name": "编程创作",
  51. "desciption": "编程创作",
  52. "public": false
  53. },
  54. "question_category": {
  55. "pk": 1,
  56. "title": "Python Level 1",
  57. "content": ""
  58. },
  59. "answers": [
  60. 7
  61. ],
  62. "remark": "",
  63. "difficult_grade": "simple"
  64. },
  65. {
  66. "pk": 8,
  67. "title": "问题的题目描述1111",
  68. "photo": "问题的图片描述1111",
  69. "question_type": "choice",
  70. "analysis": "题目分析111",
  71. "options": [
  72. {
  73. "pk": 4,
  74. "number": "B",
  75. "title": "选项文本描述",
  76. "photo": "选项图片描述",
  77. "is_answer": false,
  78. "question": 8,
  79. "option_type": "middle",
  80. "match_options": null
  81. }
  82. ],
  83. "course_category": {
  84. "pk": 2,
  85. "id": 2,
  86. "deleted": false,
  87. "create_time": "2019-04-10T16:13:25.553121",
  88. "order_index": 1000,
  89. "name": "编程创作",
  90. "desciption": "编程创作",
  91. "public": false
  92. },
  93. "question_category": {
  94. "pk": 1,
  95. "title": "Python Level 1",
  96. "content": ""
  97. },
  98. "answers": [],
  99. "remark": "",
  100. "difficult_grade": "simple"
  101. },
  102. {
  103. "pk": 1,
  104. "title": "问题的题目描述",
  105. "photo": "问题的图片描述",
  106. "question_type": "choice",
  107. "analysis": "题目分析",
  108. "options": [
  109. {
  110. "pk": 2,
  111. "number": "B",
  112. "title": "选项文本描述",
  113. "photo": "选项图片描述",
  114. "is_answer": false,
  115. "question": 1,
  116. "option_type": "middle",
  117. "match_options": null
  118. },
  119. {
  120. "pk": 1,
  121. "number": "A",
  122. "title": "选项文本描述",
  123. "photo": "选项图片描述",
  124. "is_answer": false,
  125. "question": 1,
  126. "option_type": "middle",
  127. "match_options": null
  128. }
  129. ],
  130. "course_category": {
  131. "pk": 2,
  132. "id": 2,
  133. "deleted": false,
  134. "create_time": "2019-04-10T16:13:25.553121",
  135. "order_index": 1000,
  136. "name": "编程创作",
  137. "desciption": "编程创作",
  138. "public": false
  139. },
  140. "question_category": {
  141. "pk": 1,
  142. "title": "Python Level 1",
  143. "content": ""
  144. },
  145. "answers": [],
  146. "remark": "",
  147. "difficult_grade": "simple"
  148. }
  149. ],
  150. "question_ids": "1,8,10",
  151. "practice_link": "",
  152. "is_hide": false,
  153. "is_countdown": false,
  154. "duration": 0,
  155. "tag": "management"
  156. }

提交试卷

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
PUT /server/job_management/submit_exam/${pk}/ 提交试卷 YES

需要注意的是:这里的 pk 是试卷记录的 pk

Request Parameters

Name Description Required Default
exercises 习题组 YES
question 问题的 pk YES
option 选项的 pk 组 或者 用户所填的答案组 YES

Request Data

  1. {
  2. "exercises":[
  3. {
  4. "question":10, //选择题
  5. "option":[5,6]
  6. },
  7. {
  8. "question":33, //连线题
  9. "option":{
  10. "74":[73,72],
  11. "76":[75]
  12. }
  13. },
  14. {
  15. "question":12, //填空题
  16. "option":["填空题答案1", "填空题答案2"]
  17. }
  18. ]
  19. }

Response

  1. {
  2. "right_rate": "50%"
  3. }

获取某张试卷的答题情况

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/detail_exam_distribution_record/${pk}/ 获取某张试卷的答题情况 YES

需要注意的是:这里的 pk 是试卷记录的 pk

Response

  1. {
  2. "pk": 12,
  3. "owner": {
  4. "name": "勿问情殇",
  5. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  6. "user": "15201052252",
  7. "nickname": "chen"
  8. },
  9. "exam": "试卷的名称",
  10. "team": "研发小班",
  11. "right_rate": "0.50",
  12. "answer_records": [
  13. {
  14. "pk": 32,
  15. "owner": {
  16. "name": "勿问情殇",
  17. "avatar": "https://static1.bcjiaoyu.com/5a7ede147308f194ed9b108f98589a07_v.jpg-1080x1920",
  18. "user": "15201052252",
  19. "nickname": "chen"
  20. },
  21. "question": {
  22. "pk": 10,
  23. "title": "问题的题目描述1111",
  24. "photo": "问题的图片描述1111",
  25. "question_type": "choice",
  26. "analysis": "题目分析111",
  27. "options": [
  28. {
  29. "pk": 7,
  30. "number": "C",
  31. "title": "选项文本描述",
  32. "photo": "选项图片描述",
  33. "is_answer": true,
  34. "question": 10
  35. },
  36. {
  37. "pk": 6,
  38. "number": "B",
  39. "title": "选项文本描述",
  40. "photo": "选项图片描述",
  41. "is_answer": false,
  42. "question": 10
  43. },
  44. {
  45. "pk": 5,
  46. "number": "A",
  47. "title": "选项文本描述",
  48. "photo": "选项图片描述",
  49. "is_answer": false,
  50. "question": 10
  51. }
  52. ],
  53. "course_category": {
  54. "pk": 2,
  55. "name": "编程创作",
  56. "desciption": "编程创作"
  57. }
  58. },
  59. "options": [
  60. {
  61. "pk": 7,
  62. "number": "C",
  63. "title": "选项文本描述",
  64. "photo": "选项图片描述"
  65. }
  66. ],
  67. "blank_options": [],
  68. "is_right": true
  69. }
  70. ]
  71. }

OJ 答题记录

新建 oj 题记录

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
POST server/job_management/create_oj_answer/ 新建记录

Request Parameters

Name Description Required Default
question 问题的 id YES
exam_record 试卷记录的 id YES
user_answer 用户的答案 YES
language_type 语言类型 YES
is_right 是否答对 YES
question_type 问题类型(是 oj 还是冒险岛)

question_type: think(冒险岛)、 oj(oj系统)

Request Data

  1. {
  2. "question":63,
  3. "exam_record":25,
  4. "user_answer":"print(10)1",
  5. "language_type":"python3",
  6. "is_right":false,
  7. "question_type":"oj"
  8. }

Response

  1. {
  2. "pk": 8,
  3. "owner": {
  4. "name": "勿问情殇",
  5. "avatar": "https://static1.bcjiaoyu.com/bcgame_face2face/15201052252/5690023e83a72af4ff5be0badaadfbe4_k.gif-658x658",
  6. "user": "15201052252",
  7. "nickname": "chen",
  8. "user_id": 367,
  9. "is_staff": false,
  10. "segment": {
  11. "name": "白银",
  12. "image": "https://static1.bcjiaoyu.com/community/touxiangkuangking.png"
  13. }
  14. },
  15. "exam_record": 25,
  16. "exam_name": "试卷的名称",
  17. "question": {
  18. "pk": 63,
  19. "title": "请输入数字 10",
  20. "photo": "",
  21. "question_type": "operation",
  22. "analysis": "",
  23. "options": [],
  24. "course_category": null,
  25. "question_category": null,
  26. "answers": null,
  27. "remark": "https://code.coding61.com/car.html?level=2&checkpoint=1&region=1",
  28. "difficult_grade": "simple"
  29. },
  30. "is_right": false,
  31. "user_answer": "print(10)1",
  32. "language_type": "python3",
  33. "question_type": "oj"
  34. }

查看Oj列表

Method and URL Structure

Method Method Resource URL Descriptions Authentications Required
GET /server/job_management/list_oj_answer/ 列表 YES

按搜索字段释义如下 :
1. 用户名字
/server/job_management/list_oj_answer/?search=勿问情殇
2. 用户账号
/server/job_management/list_oj_answer/?search=15201052252
3. 试卷名字
/server/job_management/list_oj_answer/?search=试卷名称

Response

  1. {
  2. "count": 1,
  3. "next": null,
  4. "previous": null,
  5. "results": [
  6. {
  7. "pk": 8,
  8. "owner": {
  9. "name": "勿问情殇",
  10. "avatar": "https://static1.bcjiaoyu.com/bcgame_face2face/15201052252/5690023e83a72af4ff5be0badaadfbe4_k.gif-658x658",
  11. "user": "15201052252",
  12. "nickname": "chen",
  13. "user_id": 367,
  14. "is_staff": false,
  15. "segment": {
  16. "name": "白银",
  17. "image": "https://static1.bcjiaoyu.com/community/touxiangkuangking.png"
  18. }
  19. },
  20. "exam_record": 25,
  21. "exam_name": "试卷的名称",
  22. "question": {
  23. "pk": 63,
  24. "title": "请输入数字 10",
  25. "photo": "",
  26. "question_type": "operation",
  27. "analysis": "",
  28. "options": [],
  29. "course_category": null,
  30. "question_category": null,
  31. "answers": null,
  32. "remark": "https://code.coding61.com/car.html?level=2&checkpoint=1&region=1",
  33. "difficult_grade": "simple"
  34. },
  35. "is_right": false,
  36. "user_answer": "print(10)1",
  37. "language_type": "python3",
  38. "question_type": "oj"
  39. }
  40. ]
  41. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注