Game Config Mock API
源码:
web/src/mock/modules/game/config.ts
接口列表
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/v1/games | 获取游戏配置列表 |
| GET | /api/v1/games/:id | 获取单个游戏配置 |
| GET | /api/v1/games/data | 获取所有游戏进度数据 |
| PUT | /api/v1/games/data | 同步游戏进度数据 |
注意:
GET /api/v1/games/data和GET /api/v1/games/:id共享同一个路由处理器,当:id值为"data"时返回游戏进度数据。
请求参数
GET /api/v1/games
无请求参数。
GET /api/v1/games/:id
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| id | 路径 | string | 游戏ID(pictograph_match / stroke_puzzle / char_match3) |
GET /api/v1/games/data
无请求参数。
PUT /api/v1/games/data
| 参数 | 类型 | 说明 |
|---|---|---|
| body | object | 键为游戏ID,值为 GameProgress 对象的映射 |
GameProgress 结构:
json
{
"pictograph_match": {
"unlocked": true,
"levels": { "1": { "stars": 3, "highScore": 100, "completed": true, "completedChars": ["一"] } },
"powerUps": { "hint": 1 }
}
}响应格式
GET /api/v1/games
json
{
"code": 0,
"msg": "ok",
"data": [
{ "id": "pictograph_match", "name": "象形配对", "description": "古文字→现代汉字配对", "levels": [{ "id": "1", "chars": ["一", "二"] }] }
]
}GET /api/v1/games/:id
json
{
"code": 0,
"msg": "ok",
"data": { "id": "pictograph_match", "name": "象形配对", "description": "古文字→现代汉字配对", "levels": [...] }
}错误响应:
- 游戏不存在:
{ "code": 404, "msg": "游戏不存在", "data": null }
GET /api/v1/games/data
json
{
"code": 0,
"msg": "ok",
"data": {
"pictograph_match": { "unlocked": true, "levels": {}, "powerUps": {} },
"stroke_puzzle": { "unlocked": true, "levels": {}, "powerUps": {} },
"char_match3": { "unlocked": true, "levels": {}, "powerUps": {} }
}
}PUT /api/v1/games/data
json
{ "code": 0, "msg": "ok", "data": null }被哪个 Store 调用
- GameStore (
web/src/stores/game.ts)load()→GET /api/v1/games/data+GET /api/v1/gamessave()→PUT /api/v1/games/data