[关闭]
@fuyb1986 2017-12-08T08:53:37.000000Z 字数 5192 阅读 1757

竞赛

program_girl


竞赛列表

Method and URL Structure

Method Resource URL Authorization
GET /program_girl/contest/ NO

cURL Example

  1. curl -X GET http://localhost/program_girl/contest/

Response Data

Name Description
pk id
title 标题
desc 描述
reward_amount 奖金总额
member_count 参与人数
finish 是否结束
has_answer 是否参与过

Response

  1. {
  2. "count":4,
  3. "next":null,
  4. "previous":null,
  5. "results":[{
  6. "pk":9,
  7. "title":"这是一个竞赛",
  8. "desc":"这是一个竞赛",
  9. "reward_amount":"200.00",
  10. "member_count": 3,
  11. "finish": false,
  12. "has_answer": true,
  13. },...]
  14. }

问题列表

用 contest 的 pk 获取问题

Method and URL Structure

Method Resource URL Authorization
GET /program_girl/contest/${contest_pk}/question/ YES

cURL Example

  1. curl -X GET -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' http://localhost/program_girl/contest/1/question/

Response Data

Name Description
url 获取页面信息的 url
pk 问题的 pk
title 题干
media_url 图片或视频的 url
media_type iamge, video 类型
options 选项

Response

  1. {
  2. "count":10,
  3. "next":null,
  4. "previous":null,
  5. "results":[{
  6. "pk":9,
  7. "title":"这是一个题目的提干",
  8. "question_type":1,
  9. "question_type_display":"单选题",
  10. "media_type":"image",
  11. "media_url":"http://example.com/2.png",
  12. "options":[{
  13. "pk":33,"question":9,
  14. "title":"A",
  15. "content":"这是一个选项",
  16. "media_type":"image",
  17. "media_url":"http://www.example.com/1.png"
  18. },...],
  19. },...]
  20. }

答单选题

用 contest 的 pk 答题

Method and URL Structure

Method Resource URL Authorization
POST /program_girl/contest/${contest_pk}/answer_question/ YES

Request Parematers

Name Description
question 问题 id
option 选项 id

Request

  1. {
  2. "answers": [
  3. {
  4. "question": 1,
  5. "option": 4
  6. },
  7. {
  8. "question": 2,
  9. "option": 8,
  10. },
  11. {
  12. "question": 3,
  13. "option": 12
  14. }
  15. ]
  16. }

cURL Example

  1. curl -X POST -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' -H 'Content-Type: application/json' --data '{...}' http://localhost/program_girl/contest/123/answer_question/

Response Data

Name Description
owner 用户名
contest 竞赛 id
status 状态码
message 返回提示信息
answers 提交的答案
taken_amount 获取的奖金
diamond_count 没有奖金的时候发钻石
taken_medal 是否获取一个新的勋章
medal 勋章信息

Status,Message

Status Message
-1 奖金分完了
-2 回答不正确
-4 已经回答过问题了
0

Answer Data

Name Descripton
question_detail 题目详情
option 答案选项 id
correct 是否正确

Medal Data

Name Descripton
name 勋章名称
amount 值大小

Response

  1. {
  2. "pk":145,
  3. "contest":123,
  4. "message": "",
  5. "status": 0,
  6. "taken_amount": 0.05,
  7. "medal":{
  8. "pk":1
  9. "record_type":"竞赛",
  10. "amount":1,
  11. "create_time":"2017-11-17T16:41:17.333223",
  12. "name":"1竞赛勋章",
  13. "extra":"",
  14. "owner":"test_002",
  15. },
  16. "taken_medal":true,
  17. "answers":[{
  18. "pk":1,
  19. "question_detail": {
  20. ....
  21. },
  22. "option":4,vi
  23. "correct":true
  24. },{
  25. "pk":2,
  26. "question_datil": {
  27. ....
  28. },
  29. "option":8,
  30. "correct":true
  31. }]
  32. }

获取答题记录

用 contest 的 pk 获取答题记录

Method and URL Structure

Method Resource URL Authorization
GET /program_girl/contest/${contest_pk}/answer_record/ YES

cURL Example

  1. curl -X GET -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' http://localhost/program_girl/contest/123/answer_record/

Response Data

Name Description
owner 用户名
answers 提交的答案

Answer Data

Name Descripton
question_detail 题目详情
option 答案选项 id
correct 是否正确

Response

  1. {
  2. "pk":145,
  3. "contest":123,
  4. "answers":[{
  5. "pk":1,
  6. "question_detail": {
  7. ....
  8. },
  9. "option":4,vi
  10. "correct":true
  11. },{
  12. "pk":2,
  13. "question_datil": {
  14. ....
  15. },
  16. "option":8,
  17. "correct":true
  18. }]
  19. }

答填空题

Method and URL Structure

Method Resource URL Authorization
POST /program_girl/contest/${contest_pk}/answer_question/ YES

Request Parematers

Name Description
question 问题 id
content 答案内容

Request

  1. {
  2. "answers": [
  3. {
  4. "question": 1,
  5. "content": "这是答案"
  6. },
  7. ]
  8. }

cURL Example

  1. curl -X POST -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' -H 'Content-Type: application/json' --data '{...}' http://localhost/program_girl/contest/123/answer_question/

Response Data

Name Description
owner 用户名
contest 竞赛 id
status 状态码
message 返回提示信息
answers 提交的答案
taken_amount 获取的奖金

Status,Message

Status Message
-1 奖金分完了
-2 回答不正确
-4 已经回答过问题了
0

Answer Data

Name Descripton
question_detail 题目详情
content 答案内容
correct 是否正确

Response

  1. {
  2. "pk":145,
  3. "contest":123,
  4. "message":"",
  5. "status":0,
  6. "taken_amount":0.05,
  7. "answers":[{
  8. "pk":1,
  9. "question_detail": {
  10. ....
  11. },
  12. "content": "这是答案",
  13. "correct":true
  14. }]
  15. }

排行榜

用 contest 的 pk 获取问题
有 10 分钟的缓存时间
排行优先级: record_type > -amount > create_time

Method and URL Structure

Method Resource URL Authorization
GET /program_girl/contest/${contest_pk}/ranking/ YES

cURL Example

  1. curl -X GET -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' http://localhost/program_girl/contest/1/ranking/?exclude=answers

Request Data

Name Description
exclude = anwsers, 不显示答案
page 页码
page_size 每页数量

Request Paramarms

  1. {
  2. "exclude": "answers",
  3. "page": 1,
  4. "page_size": 20
  5. }

Response Data

Name Description
owner 用户信息
contest 竞赛 id
amount 金额或数量
record_type_display 奖学金或钻石

Response

  1. {
  2. "count":21,
  3. "next":"http://testserver/program_girl/contest/8/ranking/?exclude=answers&page=2",
  4. "previous":null,
  5. "results":[{
  6. "pk":5,
  7. "contest":8,
  8. "amount":"0.25",
  9. "record_type_display":"奖学金",
  10. "create_time":"2017-12-01T21:18:57.062982",
  11. "owner":{
  12. "pk":6,
  13. "owner":"test_002",
  14. "name":"赵小明",
  15. "avatar":"http://www.example.com/xiaoming.jpg",
  16. "remark":null,
  17. "invitation_code":null,
  18. "experience":0,
  19. "diamond":0,
  20. "grade":{"
  21. next_name":"test_grade",
  22. "current_name":"test_grade",
  23. "current_all_experience":0,
  24. "next_all_experience":0
  25. },
  26. "olduser":false,
  27. "is_staff":false,
  28. "isactive":false,
  29. "balance":0.25,
  30. "top_rank":null,
  31. "medal_record":[{
  32. "pk":4,
  33. "owner":"test_002",
  34. "name":"1竞赛勋章",
  35. "amount":1,
  36. "extra":"",
  37. "record_type":"竞赛",
  38. "create_time":"2017-12-01T21:31:40.675880"
  39. }....]
  40. }
  41. }...]
  42. }

奖励统计

Method and URL Structure

Method Resource URL Authorization
GET /program_girl/contest/statistics// YES

cURL Example

  1. curl -X GET -H 'Authorization: token 95b7b4d8fff5d76c9d3d2954fe5c7d456c110a8c' http://localhost/program_girl/contest/statistics/

Response Data

Name Description
diamond_amount 钻石额
reward_amount 奖金额
  1. {
  2. "diamond_amount":1000,
  3. "reward_amount":0.3
  4. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注