Skip to content

Shop Rewards Mock API

源码: web/src/mock/modules/shop/rewards.ts

接口列表

方法路径说明
GET/api/v1/shop/rewards获取奖励列表
POST/api/v1/shop/rewards创建自定义奖励
PUT/api/v1/shop/rewards/:id更新奖励
DELETE/api/v1/shop/rewards/:id删除奖励
PUT/api/v1/shop/rewards/:id/toggle启用/禁用奖励

请求参数

GET /api/v1/shop/rewards

无请求参数。

POST /api/v1/shop/rewards

参数类型必填说明
namestring奖励名称
costnumber所需积分(必须 > 0)
iconstring图标名称(默认 "star"

PUT /api/v1/shop/rewards/:id

参数位置类型说明
id路径string奖励ID
namebodystring新名称
costbodynumber新积分值
iconbodystring新图标

DELETE /api/v1/shop/rewards/:id

参数位置类型说明
id路径string奖励ID

PUT /api/v1/shop/rewards/:id/toggle

参数位置类型说明
id路径string奖励ID

响应格式

GET /api/v1/shop/rewards

json
{
  "code": 0,
  "msg": "ok",
  "data": [
    { "id": "rw_001", "name": "看动画", "cost": 10, "icon": "star", "enabled": true, "createdAt": "2026-01-01T00:00:00.000Z" }
  ]
}

POST /api/v1/shop/rewards

json
{
  "code": 0,
  "msg": "ok",
  "data": { "id": "rw_002", "name": "玩游戏", "cost": 20, "icon": "game", "enabled": true, "createdAt": "2026-01-01T00:00:00.000Z" }
}

错误响应:

  • 名称为空:{ "code": 400, "msg": "奖励名称不能为空", "data": null }
  • 积分 ≤ 0:{ "code": 400, "msg": "积分消耗必须大于 0", "data": null }

PUT /api/v1/shop/rewards/:id

json
{ "code": 0, "msg": "ok", "data": { "id": "rw_001", "name": "新名字", "cost": 15, "icon": "star", "enabled": true } }

错误:{ "code": 404, "msg": "奖励不存在", "data": null }

DELETE /api/v1/shop/rewards/:id

json
{ "code": 0, "msg": "ok", "data": null }

PUT /api/v1/shop/rewards/:id/toggle

json
{ "code": 0, "msg": "ok", "data": { "id": "rw_001", "enabled": false } }

被哪个 Store 调用

  • ShopStore (web/src/stores/shop.ts)
    • load()GET /api/v1/shop/rewards
    • addReward(data)POST /api/v1/shop/rewards
    • updateReward(id, data)PUT /api/v1/shop/rewards/:id
    • deleteReward(id)DELETE /api/v1/shop/rewards/:id
    • toggleReward(id)PUT /api/v1/shop/rewards/:id/toggle