233 lines
4.7 KiB
Plaintext
233 lines
4.7 KiB
Plaintext
|
学习娱乐模块接口文档
|
||
|
================
|
||
|
|
||
|
基础信息
|
||
|
-------
|
||
|
- 基础路径: /api/v1/entertainment
|
||
|
- 请求方式: REST
|
||
|
- 数据格式: JSON
|
||
|
- 认证方式: Bearer Token
|
||
|
|
||
|
数据结构
|
||
|
-------
|
||
|
|
||
|
Course 课程对象:
|
||
|
{
|
||
|
id: number, // 课程ID
|
||
|
title: string, // 课程标题
|
||
|
description: string, // 课程描述
|
||
|
cover: string, // 封面图片
|
||
|
category: string, // 课程分类
|
||
|
students: number, // 学习人数
|
||
|
progress: number, // 学习进度
|
||
|
videoUrl: string, // 视频地址
|
||
|
chapters: [ // 课程章节
|
||
|
{
|
||
|
id: number,
|
||
|
title: string,
|
||
|
description: string
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
LiveChannel 直播频道:
|
||
|
{
|
||
|
id: number, // 频道ID
|
||
|
title: string, // 直播标题
|
||
|
anchor: string, // 主播名称
|
||
|
cover: string, // 封面图片
|
||
|
status: string, // 状态(live/upcoming/ended)
|
||
|
viewers: number, // 观看人数
|
||
|
likes: number // 点赞数
|
||
|
}
|
||
|
|
||
|
Game 游戏对象:
|
||
|
{
|
||
|
id: number, // 游戏ID
|
||
|
name: string, // 游戏名称
|
||
|
icon: string, // 游戏图标
|
||
|
players: number, // 在线人数
|
||
|
type: string, // 游戏类型
|
||
|
description: string // 游戏描述
|
||
|
}
|
||
|
|
||
|
Book 电子书对象:
|
||
|
{
|
||
|
id: number, // 书籍ID
|
||
|
title: string, // 书名
|
||
|
author: string, // 作者
|
||
|
cover: string, // 封面
|
||
|
progress: number, // 阅读进度
|
||
|
category: string, // 分类
|
||
|
description: string // 描述
|
||
|
}
|
||
|
|
||
|
InterestGroup 兴趣小组:
|
||
|
{
|
||
|
id: number, // 小组ID
|
||
|
name: string, // 小组名称
|
||
|
members: number, // 成员数量
|
||
|
tags: string[], // 标签
|
||
|
joined: boolean, // 是否已加入
|
||
|
description: string, // 小组描述
|
||
|
activities: number // 活动数量
|
||
|
}
|
||
|
|
||
|
API 接口
|
||
|
-------
|
||
|
|
||
|
1. 获取课程列表
|
||
|
GET /api/v1/entertainment/courses
|
||
|
|
||
|
请求参数:
|
||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||
|
| category | string | 否 | 课程分类 |
|
||
|
|
||
|
响应示例:
|
||
|
{
|
||
|
"code": 200,
|
||
|
"message": "success",
|
||
|
"data": [
|
||
|
{
|
||
|
"id": 1,
|
||
|
"title": "太极拳基础教学",
|
||
|
"description": "适合老年人的太极拳入门课程",
|
||
|
"cover": "https://example.com/course1.jpg",
|
||
|
"category": "health",
|
||
|
"students": 128,
|
||
|
"progress": 60,
|
||
|
"videoUrl": "https://example.com/course1.mp4",
|
||
|
"chapters": [
|
||
|
{
|
||
|
"id": 1,
|
||
|
"title": "基础站姿",
|
||
|
"description": "学习太极拳的基本站姿"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
2. 获取课程详情
|
||
|
GET /api/v1/entertainment/courses/{id}
|
||
|
|
||
|
3. 更新学习进度
|
||
|
POST /api/v1/entertainment/courses/{id}/progress
|
||
|
|
||
|
请求参数:
|
||
|
{
|
||
|
"progress": 75 // 进度百分比
|
||
|
}
|
||
|
|
||
|
4. 获取直播频道
|
||
|
GET /api/v1/entertainment/live
|
||
|
|
||
|
响应示例:
|
||
|
{
|
||
|
"code": 200,
|
||
|
"message": "success",
|
||
|
"data": [
|
||
|
{
|
||
|
"id": 1,
|
||
|
"title": "广场舞教学",
|
||
|
"anchor": "张老师",
|
||
|
"cover": "https://example.com/live1.jpg",
|
||
|
"status": "live",
|
||
|
"viewers": 256,
|
||
|
"likes": 128
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
5. 开始直播
|
||
|
POST /api/v1/entertainment/live/{id}/start
|
||
|
|
||
|
6. 点赞直播
|
||
|
POST /api/v1/entertainment/live/{id}/like
|
||
|
|
||
|
7. 获取游戏列表
|
||
|
GET /api/v1/entertainment/games
|
||
|
|
||
|
请求参数:
|
||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||
|
| type | string | 否 | 游戏类型 |
|
||
|
|
||
|
8. 获取电子书列表
|
||
|
GET /api/v1/entertainment/books
|
||
|
|
||
|
请求参数:
|
||
|
| 参数名 | 类型 | 必填 | 说明 |
|
||
|
| category | string | 否 | 图书分类 |
|
||
|
|
||
|
9. 更新阅读进度
|
||
|
POST /api/v1/entertainment/books/{id}/progress
|
||
|
|
||
|
请求参数:
|
||
|
{
|
||
|
"progress": 45 // 阅读进度百分比
|
||
|
}
|
||
|
|
||
|
10. 获取兴趣小组
|
||
|
GET /api/v1/entertainment/groups
|
||
|
|
||
|
11. 加入/退出小组
|
||
|
POST /api/v1/entertainment/groups/{id}/membership
|
||
|
|
||
|
12. 保存学习笔记
|
||
|
POST /api/v1/entertainment/courses/{id}/notes
|
||
|
|
||
|
请求参数:
|
||
|
{
|
||
|
"content": "学习笔记内容"
|
||
|
}
|
||
|
|
||
|
13. 获取学习统计
|
||
|
GET /api/v1/entertainment/stats
|
||
|
|
||
|
响应示例:
|
||
|
{
|
||
|
"code": 200,
|
||
|
"message": "success",
|
||
|
"data": {
|
||
|
"totalTime": 1500,
|
||
|
"completedCourses": 5,
|
||
|
"certificates": 2
|
||
|
}
|
||
|
}
|
||
|
|
||
|
错误码说明
|
||
|
--------
|
||
|
| 错误码 | 说明 |
|
||
|
| 200 | 成功 |
|
||
|
| 400 | 请求参数错误 |
|
||
|
| 401 | 未授权 |
|
||
|
| 403 | 禁止访问 |
|
||
|
| 404 | 资源不存在 |
|
||
|
| 500 | 服务器内部错误 |
|
||
|
|
||
|
注意事项
|
||
|
-------
|
||
|
1. 课程相关:
|
||
|
- 视频支持断点续播
|
||
|
- 进度自动保存
|
||
|
- 支持倍速播放
|
||
|
|
||
|
2. 直播相关:
|
||
|
- 支持实时互动
|
||
|
- 支持回放功能
|
||
|
- 网络自适应码率
|
||
|
|
||
|
3. 游戏相关:
|
||
|
- 支持在线对战
|
||
|
- 支持AI对手
|
||
|
- 支持排行榜
|
||
|
|
||
|
4. 电子书相关:
|
||
|
- 支持字体大小调节
|
||
|
- 支持夜间模式
|
||
|
- 支持书签功能
|
||
|
|
||
|
5. 小组相关:
|
||
|
- 支持群聊功能
|
||
|
- 支持活动发起
|
||
|
- 支持资源共享
|