问答抽奖系统
  1. 后台管理端
问答抽奖系统
  • 用户模块
    • 注册一个管理员账户
      POST
    • 登录账号
      POST
    • 当access_token过期时,用refresh_token获取新的access_token
      GET
    • 获取当前登录用户的信息
      GET
    • 谨慎:注销当前登录用户的账号。
      DELETE
  • 后台管理端
    • 创建项目
      POST
    • 创建项目
      POST
    • 编辑项目
      PUT
    • 删除项目
      DELETE
    • 获取项目详情
      GET
    • 获取当前账号的所有项目预览列表
      GET
    • 获取所有账号的所有项目预览列表
      GET
    • 生成参与项目用的二维码
      POST
    • 扫兑奖码返回用户中奖信息及是否已兑奖
      GET
    • 给用户兑奖
      POST
  • 前台用户端
    • 获取项目的问答题目
      GET
    • 获取项目的抽奖信息
      GET
    • 提交答案
      POST
    • 抽一次奖
      POST
    • 生成兑奖二维码
      POST
  1. 后台管理端

编辑项目

PUT
/api/project/{project_uuid}
后台管理端
最后修改时间:2025-01-25 09:15:39
责任人:未设置
需要验证token

请求参数

Path 参数
project_uuid
string 
Project Uuid
必需
项目uuid
Body 参数multipart/form-data
name
string 
Name
必需
项目名称
示例值:
毕业跑
description
Description
可选
项目描述
Any of
示例值:
毕业跑展台活动
start_time
string <date-time>
Start Time
必需
项目开始时间,格式为YYYY-MM-DD HH:MM:SS
示例值:
2025-02-01 10:00:00
dead_line
string <date-time>
Dead Line
必需
项目截止时间,格式为YYYY-MM-DD HH:MM:SS
示例值:
2025-03-15 14:00:00
question
string 
Question
可选
添加的所有问答组成的JSON数组并转换为字符串格式,数组中每个JSON对象中应该包含以下字段:
q: 问题,字符串
o1: 选项1,字符串
o2: 选项2,字符串
o3: 选项3,字符串
o4: 选项4,字符串
a: 正确答案,整数,1-4对应选项1-4,也对应页面上的A-D
也就是形如[{"q": "山东大学是什么时候成立的?","o1": "1900","o2": "1901","o3": "1902", "o4": "1903","a": 2}]的字符串,在JS中只要定义一个数组,然后用JSON.stringify()方法转换为字符串即可。
默认值:
[]
示例值:
[ { "q": "山东大学是什么时候成立的?", "o1": "1900", "o2": "1901", "o3": "1902", "o4": "1903", "a": 2 }, { "q": "山东大学是什么时候成立的?", "o1": "1900", "o2": "1901", "o3": "1902", "o4": "1903", "a": 2 }, { "q": "山东大学是什么时候成立的?", "o1": "1900", "o2": "1901", "o3": "1902", "o4": "1903", "a": 2 } ]
prize
string 
Prize
可选
添加的所有抽奖项目的JSON数组并转换为字符串格式,数组中每个JSON对象中应该包含以下字段:
name: 奖品名称,字符串
level: 奖品等级,整数,是几就是几等奖
amount: 奖品数量(总量),整数,总共可以发多少个奖品
remain: 奖品剩余数量,整数,剩余可发多少个奖品(前端根据管理员对奖品数量的修改计算出)
格式同question。
默认值:
[]
示例值:
[ { "name": "帆布包", "level": 1, "amount": 100, "remain": 90 }, { "name": "手机支架", "level": 2, "amount": 200, "remain": 180 }, { "name": "学线书签", "level": 3, "amount": 300, "remain": 270 } ]
images
file 
可选
奖品图片文件组成的数组,按照奖品顺序排列。
比如说,如果一共有3种奖品,索引分别为0、1、2(从0开始),第0种奖品有图片,第1种奖品没有图片,第2种奖品有图片,
则数组中先后添加第0个奖品的图片文件、第2个奖品的图片文件。
image_index
string 
Image Index
可选
包含图片的奖品的索引数组并转换成字符串格式,按照奖品顺序排列。
比如说,如果一共有3种奖品,索引分别为0、1、2(从0开始),第0种奖品有图片,第1种奖品没有图片,第2种奖品有图片,
则应该输入[0, 2]形式的字符串。
默认值:
[]
示例值:
[0, 2]
prize_claim_way
Prize Claim Way
可选
兑奖方式:0-抽奖现场兑奖,1-指定地点兑奖
Any of
示例值:
1
correct_item_num
Correct Item Num
可选
获得抽奖机会至少需要答对的题目数量, 数值必须小于或等于题目总数(前端校验), 在问答+抽奖项目中给出
Any of
示例值:
5
total_raffle_times
Total Raffle Times
可选
可抽奖次数,在仅抽奖项目中给出
Any of
示例值:
4
prize_claim_place
Prize Claim Place
可选
奖品兑奖地点,在指定地点兑奖项目中给出
Any of
示例值:
展台现场
prize_claim_time
Prize Claim Time
可选
奖品兑奖时间,让用户自由输入即可,不用限制格式, 在指定地点兑奖项目中给出
Any of
示例值:
周五晚7-9点

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request PUT '/api/project/' \
--form 'name="毕业跑"' \
--form 'start_time="2025-02-01 10:00:00"' \
--form 'dead_line="2025-03-15 14:00:00"'

返回响应

🟢200项目编辑成功,返回项目uuid
application/json
Body
project_uuid
string <uuid>
Project Uuid
必需
项目UUID
示例
{
    "project_uuid": "1de37675-f868-4726-bb1d-b08d89f463f9"
}
🟠400项目问答或抽奖格式错误
🟠401未获得授权
🟠422Validation Error
修改于 2025-01-25 09:15:39
上一页
创建项目
下一页
删除项目
Built with