API 设计
通用格式
- 调用格式
本项目采用微信提供的云开发代替服务端,云函数作为服务端API,接受的参数以参数名-值
的形式作为wx.cloud.callFunction
参数data
对象的属性,如:
wx.cloud.callFunction({
name: cloud_func_name,
data:{
param1: xxx,
param2: xxx,
...
}
})
- 响应格式
{
success: bool
error: object
other_data: ...
}
下面为了节省版面,只写云函数名称和data对象的属性
用户登入
- 判断用户是否已经注册
login
功能:程序登入调用函数,如果用户为新用户则进入注册页面,否则返回用户所有数据,发生内部错误调用失败
接受参数:
无
返回情况:
{
success: bool 是否调用成功
isNew: bool 是否为新用户
type: num 用户类型
info: object 用户所有信息(学生:学号、姓名、年级、专业;机构:机构名)
openid: string
error:系统内部错误
}
- 向邮箱发送验证码
send_verification
功能:发送验证码到认证邮箱,服务端不判断是否合法
传入参数:
receiver:string 认证邮箱
返回情况:
{
success: bool
error: object 系统内部错误
}
- 验证用户输入验证码
recv_verification
功能:接收并验证用户输入的验证码
接受参数:
code: num 用户输入验证码
返回情况:
{
success: bool
error: string/object 系统内部错误/worng code验证码不正确/code out of date验证码已过期(5分钟时效)
}
- 给已经完成邮箱验证的用户添加个人信息
add_info
功能:添加用户基本信息
接受参数:
user_type: num 表示用户类型
user_info: object 用户或组织的所有信息
返回情况:
{
success: bool
error: object 系统内部错误
}
- 修改已经完成邮箱验证用户的个人信息
update_info
功能:修改用户基本信息
接受参数:
user_type: num 表示用户类型
user_info: object 用户或组织更新后的所有信息
返回情况:
{
success: bool
error: object (假定前端传来的字段都是有效的)系统内部错误
}
问卷模块
- 发布问卷
release_questionnaire
功能:发布问卷
接受参数:
name: string 问卷名
publish_time: string 问卷的发布时间
deadline: string 问卷的截止时间
reward: string 报酬
position: string 地点
total_amount: number 问卷发布的总份数
content: string 问卷内容(JSON转string)
description: string 对问卷的简要描述
返回情况:
{
success: bool 表示是否正确执行
error: object 如果失败会返回错误描述
}
- 填写问卷
fill_in_questionnaire
功能:填写问卷
接受参数:
qid: string 所填写的问卷id
content: string 填写的内容(JSON转string)
返回情况:
{
success: bool 表示是否正确执行
error: object 如果失败会返回错误描述
}
- 获得所有问卷
get_all_questionnaire
功能:获取所有问卷
接受参数:
无
返回情况:
{
success: bool 表示是否正确执行
value: array 问卷信息数组
error: object 错误描述
}
- 获取问卷的所有回答并下载到本地
get_answer
功能:获取问卷结果(问卷名_问卷ID.xlsx格式)
接受参数:
qid: 问卷id
返回情况:
{
success: bool 表示是否正确执行
fileID: 在云端存储的文件ID
error: object 错误描述
}
- 获取问卷的详细信息
get_questionnaire_detail
功能:获取某个问卷的详情
接受参数:
qid: 问卷的id
返回情况:
{
success: bool 表示是否正确执行
value: object 问卷详情
error: object 错误描述
}
- 获取与当前用户相关的问卷
get_user_questionnaire
功能:获取与当前用户相关的问卷
接受参数:
self_publish: bool 该用户发布的问卷
self_fill_in: bool 该用户填写过的问卷
返回情况:
{
success: bool 表示是否正确执行
value: array 问卷信息数组
error: object 错误描述
}
问题模块
- 提出问题
ask_question
功能:提问
接受参数:
time: string 提问时间
title: string 问题标题
content: string 问题内容
返回情况:
{
success: bool 表示是否正确执行
error: object 如果失败会返回错误描述
}
- 获取所有提问
get_question
功能:获取提问
接受参数:
无
返回情况:
{
success: bool 表示是否正确执行
value: array 问题的数组
error: object 如果失败会返回错误描述
}
- 获取提问的对应回答
get_reply
功能:获取某个提问的回答
接受参数:
qid: string 问题的id
返回情况:
{
success: bool 表示是否正确执行
value: array 回答的数组
error: object 如果失败会返回错误描述
}
- 获取与当前用户相关的问答
get_user_question
功能:获取与当前用户相关的问答
接受参数:
self_ask: bool 该用户发布的问答
self_answer: bool 该用户填写过的问答
返回情况:
{
success: bool 表示是否正确执行
value: array 问答信息数组
error: object 错误描述
}
- 回答问题
reply_question
功能:回答问题
接受参数:
qid: string 问题id
time: string 回答的时间
content: string 回答内容
返回情况:
{
success: bool 表示是否正确执行
error: object 如果失败会返回错误描述
}
- 点赞/取消点赞
update_like
功能:点赞/取消点赞
接受参数:
rid: string 回复id
返回情况:
{
success: bool 表示是否正确执行
error: object 如果失败会返回错误描述
}