Skip to content

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/dataGET /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

参数类型说明
bodyobject键为游戏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/games
    • save()PUT /api/v1/games/data