# Apifox 指南:投票(复用问卷接口) - baseURL: `http://localhost:8080` - 认证:`Authorization: Bearer {{token}}`(先调用 `/login` 获取 token) ## 场景 1:创建并发布投票 1) 新建草稿:POST `/manage/survey` - Body(JSON):仅一题,`type=2`(单选)或 `type=3`(多选),选项若干。 - 断言:`status == 200 && data.id 不为空` 2) 发布:PUT `/manage/survey/{id}/publish` - 断言:`status == 200` ## 场景 2:门户参与投票 1) 列表:GET `/portal/survey/list?pageNum=1&pageSize=10` - 断言:`status == 200` 2) 详情:GET `/portal/survey/{id}` - 断言:`status == 200 && data.items.length == 1` 3) 提交:POST `/portal/survey/{id}/submit` - Body(JSON):`{"answers":[{"itemId": <题目ID>, "optionIds":[<选项ID>]}]}` - 断言:`status == 200` ## 场景 3:管理端查看票数 1) 详情:GET `/manage/survey/{id}` - 断言:`status == 200 && data.items[0].options[0].voteCount >= 0` ## 场景 4:门户查看结果(在投票结束后) 1) 将截止时间设置为过去时间(或等待过期),再获取详情:GET `/portal/survey/{id}` - 断言:`status == 200 && data.items[0].options[0].voteCount >= 0` ## 常见失败 - 400:截止时间已过 / 必填未选择 - 409:仅草稿可发布 - 404:投票不存在