corgi/doc/api.md
2021-04-30 10:29:21 +08:00

3.1 KiB

答题游戏接口说明

一. 说明

所有接口均需上传sessionid

通用返回JSON结构, 接口Response的数据结构说明只包含data部分

{
    "errcode": 0, //0:成功 2: 缺少必要参数(accountid, sessionid) 4: 帐号被封, 5: 帐号未找到 100: 所有未定义的错误
    "errmsg": "", //错误描述
    "data": {}, 	// 数据
}

二. 客户端接口列表

1. 获取关卡题目列表

  1. Method: POST
  2. URI: /api/:accountid/puzzle/list
字段 说明
accountid 帐号id

POST参数

字段 说明
shop 店铺id
level 关卡id
  1. Response: JSON
{
	session: "6080f330b9655b5c0467ee5a",			// 当前局的id,提交答案时必须上报该字段
	records: [{
    "id": "6080f330b9655b5c0467ee5e",         // 题目id
    "title": "“大丈夫为国捐躯,死而无憾!”这话是谁说的?",  // 问题
    "answers": [  // 可选答案
        "刘铭传",
        "徐骧",
        "刘步蟾",
        "刘永福"
    ],
    "type": 1   // 题目类型  1: 普通的文字选择题, 2: 图形
}]
}

2. 上报题目答案

  1. Method: POST
  2. URI: /api/:accountid/puzzle/answer
字段 说明
accountid 帐号id

POST参数

字段 说明
id 题目id
session 当局的id, 从关卡题目列表中获取
level 关卡id
answer 回答的选项
type 回答类型, 0: 正常, 1: 超时
mode 游戏类型, 0: 单人, 1: 多人
  1. Response: JSON
{
    result: 1  //答题结果 1: 正确, 0 : 错误
  	"stats": {	// 当局的状态
            "1111": {
                "answer": [	// 每一题的结果
                    1,
                    0
                ],
                "rightCount": 1,	// 答对的数量
                "errorCount": 1,	// 答错的数量
                "comboCount": 0,	// 当前连续答对的数量
                "maxCombo": 1			// 当局连续答对的最大数量
            }
    }
}

3. 上报题目答案

  1. Method: POST
  2. URI: /api/:accountid/puzzle/match
字段 说明
accountid 帐号id

POST参数

字段 说明
shop 店铺id
debug_begin_sec 游戏于n秒后开始, 最小2秒, 测试用
  1. Response: JSON
		{
        "roomId": "mysWNuFnY",	//房间id
        "beginTime": 1619689073034, // 游戏的开始时间
        "sessionId": "adfadf"		// 当前用户在该房间的sessionId, 如果有该字段, 客户端在joinById的时候须带上该字段
    }