项目技术规格说明书
项目技术规格说明书
0. 数据库ER图
其中,灰色部分为Alpha阶段暂不考虑内容,深红色属性为主码。
1. GET
URL | 界面 |
---|---|
/ | 首页 |
/course | 课程查找界面 |
/course/[course_id] | 课程界面 |
/course/[course_id]/resource | 课程资源界面 |
/contact | 联系我们 |
/user/[username]/home | 个人中心首页 |
2. POST
2.1 课程选择相关
2.1.1 获取某学院课程列表
url: /course/college_course
前端提供:
名称 | 类型 | 备注 |
---|---|---|
college_id | int | 院系号 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
course_id_list | [course_id0, course_id1, course_id2, ...] course_id:int | 课程编号列表 |
2.1.2 通过某课程类别课程列表
url: /course/classification_course
前端提供:
名称 | 类型 | 备注 |
---|---|---|
course_kind | int | 课程类别号 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
course_id_list | [course_id0, course_id1, course_id2, ...] course_id:int | 课程编号列表 |
2.2 课程相关
2.2.1 查询课程详细信息
url: /course/information
前端提供:
名称 | 类型 | 备注 |
---|---|---|
course_id | int | 课程编号 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
name | str | 课程名称 |
teacher | str | 授课教师名称 |
college | str | 开课院系 |
hours | int | 学时 |
intro | str | 课程简介 |
picture | str | 课程图片的url,前端加载时直接加载图片网址 |
resources_num | int | 资源数量 |
resources_id_list | list [resource_id0, resource_id1, resource_id2, ...] resource_id:int | 资源文件编号的列表 |
2.2.2 查询课程贡献度列表
url: /course/contribution
前端提供:
名称 | 类型 | 备注 |
---|---|---|
course_id | int | 课程编号 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
list[] | [username0, nameuser1, username2, ...] name:str | 一个该课程贡献度排名列表 |
2.3 资源相关
2.3.1 获取资源信息
url: /course/resource/information
前端提供:
名称 | 类型 | 备注 |
---|---|---|
resource_id | int | 资源编号 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
link | str | 资源文件路径 |
upload_time | str | 上传时间 |
upload_username | int | 上传者 |
download_username_list | list [username0, username1, username2, ...] username:str | 下载用户名列表 |
like_username_list | list [username0, username1, username2, ...] username:str | 喜欢用户名列表 |
eva_pos_username_list | list [username0, username1, username2, ...] username:str | 好评用户名列表 |
eva_neg_username_list | list [username0, username1, username2, ...] username:str | 差评用户名列表 |
3.3.2 好评/差评
url: course/resource/evaluate
前端提供:
名称 | 类型 | 备注 |
---|---|---|
resource_id | int | 资源编号 |
username | str | 用户名 |
evaluation | int | 0好评,1差评 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
error | int | 0表成功,其余表示失败 |
2.4 登录/注册相关
2.4.1 判断用户登录状态
url: /sign/get_user
前端提供:
名称 | 类型 | 备注 |
---|---|---|
this | * | #可以是当前IP,也可以是其他能够标识用户主机的码 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
is_login | bool | true表已经登录,false表没有登录 |
2.4.2 注册
url: /sign/register
前端提供:
名称 | 类型 | 备注 |
---|---|---|
username | str | 唯一的用户名 |
nickname | str | 姓名(默认为用户名) |
str | 合法的北航邮箱 | |
password | str | 密码长度为8-20位,包含数字、大小写字母、半角符号 |
gender | int | 0为保密,1为男,2为女 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
error | int | 0表成功,其余表示失败 |
2.4.3 登录
url: /sign/login
前端提供:
名称 | 类型 | 备注 |
---|---|---|
username | str | 用户名 |
password | str | 密码 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
error | int | 0表成功,其余表示失败 |
2.5 用户相关
2.5.1 获取个人信息
url: /user/information
前端提供:
名称 | 类型 | 备注 |
---|---|---|
username | str | 用户名 |
后端提供:
名称 | 类型 | 备注 |
---|---|---|
str | 邮箱(北航) | |
gender | int | 性别(私密0,男1,女2) |
intro | str | 个人介绍 |