zhibo/模块文档/07-作品管理模块.md
2025-12-30 11:11:11 +08:00

476 lines
6.3 KiB
Markdown

# 作品管理模块接口文档
## 模块概述
作品管理模块提供作品的发布、编辑、删除、点赞、收藏等功能。
---
## 接口列表
### 1. 发布作品
**接口路径**: `POST /api/front/works/publish`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"title": "作品标题",
"description": "作品描述",
"type": "IMAGE",
"coverUrl": "封面URL",
"videoUrl": "视频URL(视频作品)",
"imageUrls": ["图片URL1", "图片URL2"]
}
```
**type说明**:
- IMAGE: 图片作品
- VIDEO: 视频作品
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": 作品ID
}
```
---
### 2. 获取作品详情
**接口路径**: `GET /api/front/works/detail/{worksId}`
**请求头**:
```
Authorization: Bearer {token} (可选)
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"id": 作品ID,
"title": "作品标题",
"description": "作品描述",
"type": "IMAGE",
"coverUrl": "封面URL",
"videoUrl": "视频URL",
"imageUrls": ["图片URL1", "图片URL2"],
"authorId": 作者ID,
"authorName": "作者昵称",
"authorAvatar": "作者头像",
"likeCount": 点赞数,
"collectCount": 收藏数,
"commentCount": 评论数,
"shareCount": 分享数,
"isLiked": false,
"isCollected": false,
"createTime": "创建时间"
}
}
```
---
### 3. 编辑作品
**接口路径**: `POST /api/front/works/update`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"id": 作品ID,
"title": "作品标题",
"description": "作品描述"
}
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
**说明**: 仅作者可编辑
---
### 4. 删除作品
**接口路径**: `POST /api/front/works/delete/{worksId}`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
**说明**: 仅作者可删除,逻辑删除
---
### 5. 搜索作品
**接口路径**: `POST /api/front/works/search`
**请求参数**:
```json
{
"keyword": "搜索关键词",
"type": "IMAGE",
"page": 1,
"pageSize": 20
}
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 作品ID,
"title": "作品标题",
"coverUrl": "封面URL",
"type": "IMAGE",
"likeCount": 点赞数,
"authorName": "作者昵称"
}
],
"total": 总数,
"page": 当前页,
"pageSize": 每页数量
}
}
```
---
### 6. 获取用户作品列表
**接口路径**: `GET /api/front/works/user/{userId}`
**请求参数**:
```
userId: 用户ID (路径参数)
page: 页码 (默认1)
pageSize: 每页数量 (默认20)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 作品ID,
"title": "作品标题",
"coverUrl": "封面URL",
"type": "IMAGE",
"likeCount": 点赞数
}
],
"total": 总数
}
}
```
---
### 7. 点赞作品
**接口路径**: `POST /api/front/works/like/{worksId}`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
---
### 8. 取消点赞
**接口路径**: `POST /api/front/works/unlike/{worksId}`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
---
### 9. 收藏作品
**接口路径**: `POST /api/front/works/collect/{worksId}`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
---
### 10. 取消收藏
**接口路径**: `POST /api/front/works/uncollect/{worksId}`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
---
### 11. 我的点赞列表
**接口路径**: `GET /api/front/works/my/liked`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
page: 页码 (默认1)
pageSize: 每页数量 (默认20)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 作品ID,
"title": "作品标题",
"coverUrl": "封面URL",
"type": "IMAGE",
"likeCount": 点赞数
}
],
"total": 总数
}
}
```
---
### 12. 我的收藏列表
**接口路径**: `GET /api/front/works/my/collected`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```
page: 页码 (默认1)
pageSize: 每页数量 (默认20)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 作品ID,
"title": "作品标题",
"coverUrl": "封面URL",
"type": "IMAGE",
"collectCount": 收藏数
}
],
"total": 总数
}
}
```
---
### 13. 分享作品
**接口路径**: `POST /api/front/works/share/{worksId}`
**请求参数**:
```
worksId: 作品ID (路径参数)
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
**说明**: 增加分享次数统计
---
### 14. 视频上传
**接口路径**: `POST /api/front/upload/work/video`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
```
multipart: 视频文件
model: "works"
pid: 0
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"url": "视频URL",
"name": "文件名",
"size": 文件大小
}
}
```
---
### 15. 图片上传
**接口路径**: `POST /api/front/upload/image`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
```
multipart: 图片文件
model: "works"
pid: 0
```
**返回参数**:
```json
{
"code": 200,
"msg": "success",
"data": {
"url": "图片URL",
"name": "文件名",
"size": 文件大小
}
}
```