Skip to content

Character List Mock API

源码: web/src/mock/modules/character/list.ts

接口列表

方法路径说明
GET/api/v1/characters获取汉字列表(支持分页和筛选)
GET/api/v1/characters/:char获取单个汉字详情
GET/api/v1/characters/categories获取分类列表
GET/api/v1/characters/categories/:id/chars获取分类下的汉字列表

注意: 路由注册顺序重要 — /categories 必须在 /:char 之前,否则 "categories" 会被匹配为单字名称。

请求参数

GET /api/v1/characters

参数类型必填说明
pagenumber页码(默认 1)
pageSizenumber每页条数(默认 10,上限 1000)
categorystring按分类ID筛选
subCategorystring按子分类筛选
keywordstring搜索关键词(汉字、拼音、释义)
difficultynumber按难度筛选

GET /api/v1/characters/:char

参数位置类型说明
char路径string汉字字符(URL 编码)

GET /api/v1/characters/categories

无请求参数。

GET /api/v1/characters/categories/:id/chars

参数位置类型说明
id路径string分类ID
page查询number页码
pageSize查询number每页条数
subCategory查询string子分类筛选

响应格式

GET /api/v1/characters

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "list": [
      { "char": "一", "category_id": "number", "pinyin": "yī", "meaning": "数字1", "difficulty": 1, "words": ["一个", "第一"] }
    ],
    "total": 500,
    "page": 1,
    "pageSize": 20
  }
}

GET /api/v1/characters/:char

json
{
  "code": 0,
  "msg": "ok",
  "data": { "char": "一", "category_id": "number", "pinyin": "yī", "meaning": "数字1", "difficulty": 1 }
}

错误响应:

  • 汉字不存在:{ "code": 404, "msg": "汉字不存在", "data": null }

GET /api/v1/characters/categories

json
{
  "code": 0,
  "msg": "ok",
  "data": [
    { "id": "nature", "name": "自然", "icon": "nature", "sub_categories": [{ "id": "weather", "name": "天气" }] }
  ]
}

GET /api/v1/characters/categories/:id/chars

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "list": [{ "char": "山", "category_id": "nature", "pinyin": "shān" }],
    "total": 50,
    "page": 1,
    "pageSize": 20
  }
}

被哪个 Store 调用

  • CharacterStore (web/src/stores/character.ts)
    • load()GET /api/v1/characters + GET /api/v1/characters/categories