加载中…
投票 vote

模块说明

vote 提供投票活动能力:浏览投票、查看选项与票数排行、提交投票(服务端按 IP 做重复投票校验)。

鉴权级别:全部可选(匿名可参与;登录不改变业务规则)。

接口一览

方法 URL 鉴权 说明
GET /api/vote 可选 投票列表
GET /api/vote/{id} 可选 投票介绍(含总票数)
GET /api/vote/options 可选 选项列表(含票数分布)
GET /api/vote/rank 可选 票数排行
GET /api/vote/option 可选 选项详情
POST /api/vote/poll 可选 提交投票

投票列表 GET /api/vote

参数 page;返回 title、vote_list、total、pager。

投票介绍 GET /api/vote/{id}

{
  "code": "OK",
  "message": "",
  "data": {
    "title": "投票介绍",
    "vote": { "id": 1, "name": "...", "image": "...二维码...", "...": "" },
    "count_vote": 100
  },
  "errors": {},
  "request_id": "9f2a5c8e1b3d7f40"
}
场景 响应
id <= 0 422 INVALID_PARAMS(illegal)
投票不存在 404 NOT_FOUND

vote.image 为二维码地址(由 qrcode 字段映射而来,供分享场景使用)。

选项列表 GET /api/vote/options

参数 必填 说明
vote_id 是 投票 ID(缺失 → 422)
page 否 页码,默认 1

返回 title、vote、option_list(选项含票数)、count_vote、total、pager。调用会累计一次投票页面浏览量。

票数排行 GET /api/vote/rank

参数 vote_id;返回 title、vote、option_list(按票数排序);不存在 404。

选项详情 GET /api/vote/option

参数 必填 说明
vote_id 是 投票 ID
option_id 是 选项 ID

返回 title(选项名)、vote、vote_option;参数缺失 422,不存在 404。

提交投票 POST /api/vote/poll

参数 必填 说明
option_id 是 选项 ID
{
  "code": "OK",
  "message": "投票成功",
  "data": { "count": 101 },
  "errors": {},
  "request_id": "9f2a5c8e1b3d7f40"
}
  • data.count 为该选项最新票数;
  • 重复投票(按 IP)等业务拒绝 → 422 BUSINESS_RULE_VIOLATION。

注意事项

  • 投票重复校验基于客户端 IP(服务端判定),跨设备以 IP 为准;
  • 选项列表/排行接口会记录浏览计数,客户端请避免在无展示场景下频繁预取。
添加日期:2026-10-06