↑ 上方下载文档 (大小374KB)
接口文档预览 (超过50个接口)
一、数据库25张表er-关系清晰构图!(tip: 鼠标右键图片 > 放大图像)
二、难点/经验 详细说明
如果这篇文章帮到你, 帮忙点个关注呗, 点赞或收藏也行鸭 ~ (。•ᴗ-)✧
^ '(இ﹏இ`。)
文档预览 (详见顶部资料)
用户/用户帐号
POST 用户登录
POST /user-accounts/login
用户登录时, 成功则拦截下发JWT令牌, 失败则退回页面
Body 请求参数
{
"account": "zs123123",
"pwd": "123456"
}
请求参数
名称 位置 类型 必选 说明
body body object 否 none
>> account body string 是 none
>> pwd body string 是 none
返回示例
200-OK、500-INTERNAL_ERROR 、401-NOT_AUTH
{
"code": 200,
"msg": "登录成功",
"data": "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoi6YeR5bq4IiwiaWQiOm51bGwsInVzZXJuYW1lIjoiamlueW9uZyIsImV4cCI6MTczMzIxMDE3OX0.2Fs3N-iT0dFue4zZcO1GL90cW5ZHNjkPPtQEeJJaIS8"
}
{
"code": 500,
"msg": "服务器出现错误!",
"data": null
}
{
"code": 401,
"msg": "账号或密码不正确",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR 、401-NOT_AUTH Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data string true none none
GET 查询账号是否被占用
GET /user-accounts/{account}
根据账号检查是否被占用
请求参数
名称 位置 类型 必选 说明
account path string 是 none
返回示例
200-OK、500-INTERNAL_ERROR、409-CONFLICT
{
"code": 200,
"msg": "账号可用",
"data": true
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 409,
"msg": "该账号已被占用",
"data": false
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR、409-CONFLICT Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data boolean true none 被占用false 可用true 异常null
POST 用户注册
POST /user-accounts/register
用户注册
- 注册成功后自动跳转登录, 返回token令牌
- 后端应该做事务处理
Body 请求参数
{
"account": "zs123123",
"pwd": "123123"
}
请求参数
名称 位置 类型 必选 说明
body body object 否 none
>> account body string 是 none
>> pwd body string 是 none
返回示例
201-CREATED、500-INTERNAL_ERROR
{
"code": 201,
"msg": "注册成功",
"data": "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoi6YeR5bq4IiwiaWQiOjEsInVzZXJuYW1lIjoiamlueW9uZyIsImV4cCI6MTczNDIyNTM2MH0.uR1D84PDU39RuP7a6XZWDDveg1qWXCEMSibEunvWLOY"
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
201 Created 201-CREATED、500-INTERNAL_ERROR Inline
返回数据结构
状态码 201
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data string true none jwt
PUT 更改密码
PUT /user-accounts/pwd-update
更改密码
根据用户编号更改用户账号密码
- 后端应该做事务处理
Body 请求参数
{
"uId": 1,
"pwd": "123123"
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> uId body integer 是 用户编号 none
>> pwd body string 是 要更改的密码 none
返回示例
204-NOT_CONTENT、500-INTERNAL_ERROR
{
"code": 204,
"msg": "修改成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现异常",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content 204-NOT_CONTENT、500-INTERNAL_ERROR Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
PUT 账号注销
PUT /user-accounts/cancel
账号注销
根据用户id, 后端处理改变账号状态
- 后端应该做事务处理
Body 请求参数
{
"uId": 1
}
请求参数
名称 位置 类型 必选 中文名 说明
status query string 否 前端无需传递,该值由后端自动设置,表示账号是否正常。
body body object 否 none
>> uId body integer 是 none
返回示例
204-NOT_CONTENT、500-INTERNAL_ERROR
{
"code": 204,
"msg": "账号注销成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content 204-NOT_CONTENT、500-INTERNAL_ERROR Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
用户/用户
GET 个人资料
GET /users/{u-id}
- 以当前用户编号 {u-id}
- 获取用户基本信息 {user}
请求参数
名称 位置 类型 必选 中文名 说明
u-id path integer 是 用户ID
返回示例
200-OK、500-INTERNAL_ERROR、401-NOT_AUTH
{
"code": 200,
"msg": "success",
"data": {
"uId": 123,
"name": "张三",
"picture": "http://xxx.jpg",
"phone": "13812345678",
"email": "zhangsan@example.com",
"gender": 1,
"remark": "这是一个简介",
"fansNum": 100,
"concernsNum": 50,
"likeNum": 200,
"collectNum": 100,
"issueNum": 50,
"commentNum": 100
}
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR、401-NOT_AUTH Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data object true none none
>>>> uId integer true none none
>>>> name string true none none
>>>> picture string true none none
>>>> phone string true none none
>>>> email string true none none
>>>> gender integer true none none
>>>> remark string true none none
>>>> fansNum integer true none none
>>>> concernsNum integer true none none
>>>> likeNum integer true none none
>>>> collectNum integer true none none
>>>> issueNum integer true none none
>>>> commentNum integer true none none
>>>> acId integer true none none
GET 模糊匹配所有用户
GET /users/{name}
模糊查询
- 根据姓名对用户进行模糊匹配
- 返回所有账号状态 0(注销) 和 1(正常) 的用户
请求参数
名称 位置 类型 必选 中文名 说明
name path string 是 none
返回示例
OK
{
"code": 200,
"msg": "success",
"data": [
{
"uId": 123,
"name": "张三",
"picture": "http://xxx.jpg",
"phone": "13812345678",
"email": "zhangsan@example.com",
"gender": 1,
"remark": "你好我是张三",
"fansNum": 100,
"concernsNum": 50,
"likeNum": 200,
"collectNum": 100,
"issueNum": 50,
"commentNum": 100,
"userAccount": {
"acId": 1,
"status": "1"
},
"upDashboard": {
"ccId": 1,
"uId": 123,
"allConcerns": 12000,
"allVideos": 55
}
}
]
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK OK Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data [object] true none none
>>>> uId integer false none none
>>>> name string false none none
>>>> picture string false none none
>>>> phone string false none none
>>>> email string false none none
>>>> gender integer false none none
>>>> remark string false none none
>>>> fansNum integer false none none
>>>> concernsNum integer false none none
>>>> likeNum integer false none none
>>>> collectNum integer false none none
>>>> issueNum integer false none none
>>>> commentNum integer false none none
>>>> userAccount object false none none
>>>>>> acId integer true none none
>>>>>> status string true none none
PUT 更新用户资料
PUT /users
- 当前用户 {uId}
- 正在更改自己的信息 {user}
Body 请求参数
{
"uId": 1,
"name": "张三",
"phone": "18967123781",
"email": "zhangsan@qq.com",
"gender": 0,
"remark": "这个人很懒"
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> name body string 是 none
>> phone body string 是 none
>> email body string 是 none
>> gender body integer 是 none
>> remark body string 是 none
返回示例
NOT_CONTENT
{
"code": 204,
"msg": "更新成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content NOT_CONTENT Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
POST 头像上传
POST /users/picture-upload
Body 请求参数
picture: file://C:\Users\贤\Pictures\86097313_p0.jpg
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> picture body string(binary) 否 用户头像
返回示例
201-CREATED、500-INTERNAL_ERROR、400-BAD_REQUEST、401-NOT_AUTH
{
"code": 201,
"msg": "上传成功",
"data": "localhost:8080//xxx.jpg"
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 400,
"msg": "上传文件过大",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
201 Created 201-CREATED、500-INTERNAL_ERROR、400-BAD_REQUEST、401-NOT_AUTH Inline
返回数据结构
状态码 201
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data string true none none
用户/用户/用户关注
GET 获取关注列表
GET /users-concerns/{u-id}/concerns
- 当前用户 {u-id}
- 关注列表 {user_concern}
请求参数
名称 位置 类型 必选 中文名 说明
u-id path integer 是 我的编号
返回示例
200-OK、500-INTERNAL_ERROR
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"user": {
"uId": 2,
"name": "卓卓脑婆",
"picture": "xxx.jpg",
"remark": "无团队纯个人..."
},
"concernTime": "2021-12-23 06:10:22"
}
]
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data [object] true none 返回的是当前用户的关注对象
>>>> id integer false none none
>>>> user object false none none
DELETE 取消关注
DELETE /user-concerns/cancel/{id}
取消关注
- 根据关注列表编号 {id} 进行删除
- 后端应该做事务处理
请求参数
名称 位置 类型 必选 中文名 说明
id path integer 是 关注列表编号
返回示例
OK
{
"code": 204,
"msg": "已取消关注",
"data": null
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK OK Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
POST 关注某人
POST /user-concerns/concern
- 获取当前用户 {uId}
- 获取被关注的用户 {concernId}
- 放入用户关注列表 {userConcern}
后端应该做事务处理
Body 请求参数
{
"uId": 1,
"concernId": 2
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> uId body integer 是 ID 我
>> concernId body integer 是 ID 被关注的人
返回示例
201-CREATED、500-INTERNAL_ERROR
{
"code": 201,
"msg": "关注成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
201 Created 201-CREATED、500-INTERNAL_ERROR Inline
返回数据结构
状态码 201
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
用户/用户收藏
GET 用户收藏夹列表
GET /user-collects/{u-id}/folders
后端
- 统计每个收藏夹的收藏总量
- 按格式返回当前用户的所有收藏夹
请求参数
名称 位置 类型 必选 中文名 说明
u-id path integer 是 当前用户编号
返回示例
200-OK、500-INTERNAL_ERROR
{
"code": 200,
"msg": "success",
"data": [
{
"cfId": 1,
"name": "收藏夹A",
"collectCounts": 12
}
]
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data [object] true none none
>>>> cfId integer false none 类型编号
>>>> name string false none 收藏夹名字
>>>> collectCounts integer true none 收藏的总数
POST 收藏作品
POST /user-collects/collect
收藏某个作品, 并放进选择的收藏夹
前端
- isChose : 是否选择收藏夹,false 则放入默认收藏夹
后端
- 通过当前用户①{uId}、收藏的作品②{issId}、选择的收藏夹③{cf_id}进行收藏
- 后端应该做事务处理
计算算力分
- sql语句 {iss_id} [by] :
SET score = (1.2 * collect_num) / POW(TIMESTAMPDIFF(HOUR, create_time, NOW()) + 1, 1.0);
up主创作数据更新
- UP主 {u-id} [by]
- 创作数据中心 {up-dashboard}
- 收藏量同步更新 > UPDATE {all_collects}
Body 请求参数
{
"uId": 1,
"issue": {
"issId": 1,
"uId": 2
},
"cfId": 1
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> uId body integer 是 用户 当前用户
>> issue body object 是 作品 被收藏的作品
>>>> issId body integer 是 作品编号 none
>>>> uId body integer 是 up主 作品的作者, 用于同步数据中心
>> cfId body integer 是 none
返回示例
CREATED
{
"code": 201,
"msg": "收藏成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现错误",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
201 Created CREATED Inline
返回数据结构
状态码 201
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
DELETE 取消收藏
DELETE /user-collects/cancel
取消收藏
用户对已收藏做取消收藏
- 通过用户编号①(u_id) 和 收藏编号②(uc_id) 在用户收藏列表③(user_collect)中删除
- 后端做事务处理
计算算力分
- sql语句 {iss_id} [by] :
SET score = (1.2 * collect_num) / POW(TIMESTAMPDIFF(HOUR, create_time, NOW()) + 1, 1.0);
同步up主的创作数据
- UP {u-id} [by]
- 的创作数据中心 {up-dashboard}
- 收藏量同步更新 > UPDATE {all_collects}
Body 请求参数
{
"collect": {
"ucId": 1,
"uId": 1,
"issue": {
"issId": 1,
"uId": 2
}
}
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> collect body object 是 收藏对象 包含取消收藏所必要信息
>>>> ucId body integer 是 主键 none
>>>> uId body integer 是 收藏人 当前用户
>>>> issue body object 是 作品对象 当前用户收藏的作品对象
>>>>>> issId body integer 是 作品主键 none
>>>>>> uId body integer 是 up主 用于做同步创作数据的条件
返回示例
{
"code": 201,
"msg": "删除成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现异常",
"data": null
}
{
"code": 401,
"msg": "NOT_LOGIN",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content none Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
GET 打开收藏夹
GET /user-collects/folders
- 打开用户{u_id} [by]
- 点击的收藏夹{cf_id}, [by]
- 显示里面包含的收藏内容{user_collect}
前端
视频发布时间格式说明:
- 当天内:显示为 "X 分钟前" 或 "X 小时前"
- 昨天:显示为 "昨天"
- 今年内:显示为 "MM-dd"
- 今年外:显示为 "yyyy-MM-dd"
Body 请求参数
{
"uId": 1,
"cfId": 2
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> uId body integer 是 用户编号 当前用户
>> cfId body integer 是 收藏夹编号 点击的收藏夹
返回示例
200-OK、500-INTERNAL_ERROR
{
"code": 200,
"msg": "success",
"data": [
{
"ucId": 1,
"video": {
"id": 2,
"cover": "https://xxx.jpg",
"title": "一键三连变成女孩子是坠可爱的",
"creTime": "2020-10-20 12:06:12",
"collectNum": 999999,
"watchNum": 100000000000,
"author": {
"id": 3,
"name": "略nb"
},
"duration": 122
},
"creTime": "2020年10月20日 12:06:12"
}
]
}
{
"code": 500,
"msg": "服务器出现异常",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
200 OK 200-OK、500-INTERNAL_ERROR Inline
500 Internal Server Error none Inline
返回数据结构
状态码 200
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data [object] true none none
>>>> ucId integer false none 收藏编号 none
>>>> video object false none 视频对象 none
>>>>>> id integer true none 视频编号 none
>>>>>> cover string true none 封面 none
>>>>>> title string true none 标题 none
>>>>>> creTime string true none 发布时间 none
>>>>>> collectNum integer true none 收藏量 none
>>>>>> watchNum integer true none 观看量 none
>>>>>> author object true none 作者对象 none
>>>>>>>> id integer true none 作者编号 none
>>>>>>>> name string true none 作者昵称 none
>>>>>> duration integer true none 视频时长 none
>>>> creTime string false none 收藏时间 none
状态码 500
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
PUT 更新收藏夹
PUT /user-collects/folders
对收藏夹信息进行更改
Body 请求参数
{
"uId": 1,
"cover": "xxx02.jpg",
"name": "精选收藏夹02",
"creTime": "2020-12-03",
"remark": ""
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
返回示例
204-NOT_CONTENT、500-INTERNAL_ERROR
{
"code": 204,
"msg": "更新成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现异常",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content 204-NOT_CONTENT、500-INTERNAL_ERROR Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
DELETE 删除收藏夹
DELETE /user-collects/folders
- 删除收藏夹 (collect-folder)
- 同时批量删除包含的收藏 (collect) (类似于部门解散)
- 后端应该做事务管理
Body 请求参数
{
"uId": 1,
"cfId": 2
}
请求参数
名称 位置 类型 必选 中文名 说明
body body object 否 none
>> uId body integer 是 用户编号 获取当前操作的用户
>> cfId body integer 是 收藏夹编号 传递操作的收藏夹
返回示例
204-NOT_CONTENT、500-INTERNAL_ERROR
{
"code": 204,
"msg": "删除成功",
"data": null
}
{
"code": 500,
"msg": "服务器出现异常",
"data": null
}
返回结果
状态码 状态码含义 说明 数据模型
204 No Content 204-NOT_CONTENT、500-INTERNAL_ERROR Inline
返回数据结构
状态码 204
名称 类型 必选 约束 中文名 说明
>> code integer true none none
>> msg string true none none
>> data null true none none
POST 创建收藏夹
POST /user-collects/folders/create-1