# 投票 API(复用问卷接口) ## 说明 - 投票最简实现完全复用“问卷”接口与表结构;仅约定投票=仅包含一题的选择题(单选或多选),投票项=题目选项。 - 管理端详情接口实时返回选项票数 `options[].voteCount`;门户详情在“投票结束”(过期/归档)后返回票数,用于渲染柱状图。 ## 关键接口映射 - 管理列表:GET `/manage/survey/list`(`status=1` 查看已发布;`status=2` 查看已归档) - 管理详情(含票数):GET `/manage/survey/{id}` - 新建(草稿):POST `/manage/survey`(题目仅建一题:`type=2/3`) - 编辑(草稿):PUT `/manage/survey` - 发布:PUT `/manage/survey/{id}/publish` - 延期:PUT `/manage/survey/{id}/extend` - 归档:PUT `/manage/survey/{id}/archive` - 门户列表:GET `/portal/survey/list`(包含未过期与已过期;仅可见范围内) - 门户详情:GET `/portal/survey/{id}`(含我的作答) - 提交/修改:POST `/portal/survey/{id}/submit` - 我的投票:GET `/portal/survey/my` ## 示例 - 新建单选投票(草稿): ```json { "title": "选择最喜欢的食堂", "deadline": "2025-12-31 23:59:59", "visibleAll": 1, "items": [ { "title": "你更喜欢哪家食堂?", "type": 2, "required": 1, "options": [ {"label":"一食堂"}, {"label":"二食堂"}, {"label":"三食堂"} ] } ] } ``` - 门户提交: ```json { "answers": [ { "itemId": 101, "optionIds": [1001] } ] } ``` ## 常见错误 - 400:必填题未选择 / 截止时间已过 - 409:仅草稿可发布 - 404:投票(问卷)不存在