85 lines
4.5 KiB
Markdown
85 lines
4.5 KiB
Markdown
|
|
# Requirements Document
|
|||
|
|
|
|||
|
|
## Introduction
|
|||
|
|
|
|||
|
|
本文档定义了在Android直播应用中添加"热门"Tab功能的需求。该功能将在"发现"页面的分类标签栏(categoryTabs)中添加一个"热门"Tab,显示在"推荐"Tab的左侧(最左侧位置),展示后台管理员设置为热门的作品内容。
|
|||
|
|
|
|||
|
|
## Glossary
|
|||
|
|
|
|||
|
|
- **Android App**: 基于Android平台的直播应用客户端
|
|||
|
|
- **topTabs**: 主页面顶部的标签栏,包含"关注"、"发现"、"附近"三个Tab
|
|||
|
|
- **categoryTabs**: "发现"Tab下方的分类标签栏,当前包含"推荐"、"直播"、"视频"、"音乐"、"游戏"五个分类
|
|||
|
|
- **热门Tab**: 新增的分类标签,显示热门作品,位于categoryTabs的最左侧("推荐"左边)
|
|||
|
|
- **热门作品**: 后台管理员通过`is_hot`字段标记为热门的作品(`is_hot=1`)
|
|||
|
|
- **作品列表**: 展示作品的RecyclerView列表,使用WorksAdapter适配器
|
|||
|
|
- **后端API**: 提供热门作品数据的服务端接口 `/api/works/hot`
|
|||
|
|
- **发现Tab**: topTabs中的"发现"标签页,包含categoryTabs分类标签栏
|
|||
|
|
|
|||
|
|
## Requirements
|
|||
|
|
|
|||
|
|
### Requirement 1
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想在"发现"页面的分类标签栏看到"热门"Tab,以便快速浏览热门作品
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 用户打开主页面并选择"发现"Tab THEN Android App SHALL 在categoryTabs的最左侧显示"热门"Tab
|
|||
|
|
2. WHEN categoryTabs显示时 THEN Android App SHALL 确保"热门"Tab位于"推荐"Tab的左侧
|
|||
|
|
3. WHEN 用户首次进入"发现"Tab THEN Android App SHALL 默认选中"热门"Tab并显示热门作品列表
|
|||
|
|
4. WHEN categoryTabs显示时 THEN Android App SHALL 保持现有Tab(推荐、直播、视频、音乐、游戏)的位置和功能不变,仅在最左侧添加"热门"Tab
|
|||
|
|
|
|||
|
|
### Requirement 2
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想点击"热门"Tab查看热门作品列表,以便发现平台推荐的优质作品内容
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 用户点击"热门"Tab THEN Android App SHALL 调用后端API `/api/works/hot` 获取热门作品数据
|
|||
|
|
2. WHEN 后端返回热门作品数据 THEN Android App SHALL 使用WorksAdapter在RecyclerView中展示作品列表
|
|||
|
|
3. WHEN "热门"Tab显示内容 THEN Android App SHALL 仅显示作品列表,不包含直播间内容
|
|||
|
|
4. WHEN 热门作品列表加载中 THEN Android App SHALL 显示加载动画或骨架屏
|
|||
|
|
5. WHEN 热门作品列表加载失败 THEN Android App SHALL 显示错误提示并提供重试选项
|
|||
|
|
6. WHEN 热门作品列表为空 THEN Android App SHALL 显示"暂无热门作品"的空状态提示
|
|||
|
|
|
|||
|
|
### Requirement 3
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想在热门作品列表中看到作品的热门标识,以便识别这些是热门内容
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 作品在热门Tab中显示 THEN Android App SHALL 在作品卡片上显示"🔥"热门图标或标签
|
|||
|
|
2. WHEN 作品卡片显示热门标识 THEN Android App SHALL 确保标识位置醒目且不遮挡作品主要信息
|
|||
|
|
3. WHEN 用户点击热门作品 THEN Android App SHALL 跳转到作品详情页面
|
|||
|
|
|
|||
|
|
### Requirement 4
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想下拉刷新热门作品列表,以便获取最新的热门内容
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 用户在热门Tab中下拉列表 THEN Android App SHALL 触发刷新操作并重新请求热门作品数据
|
|||
|
|
2. WHEN 刷新操作进行中 THEN Android App SHALL 显示下拉刷新动画
|
|||
|
|
3. WHEN 刷新完成 THEN Android App SHALL 更新作品列表并隐藏刷新动画
|
|||
|
|
4. WHEN 刷新失败 THEN Android App SHALL 显示错误提示并保持当前列表数据
|
|||
|
|
|
|||
|
|
### Requirement 5
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想在热门作品列表滚动到底部时自动加载更多内容,以便浏览更多热门作品
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 用户滚动热门作品列表到底部 THEN Android App SHALL 自动请求下一页热门作品数据
|
|||
|
|
2. WHEN 加载更多数据时 THEN Android App SHALL 在列表底部显示加载指示器
|
|||
|
|
3. WHEN 没有更多热门作品时 THEN Android App SHALL 显示"没有更多内容"提示
|
|||
|
|
4. WHEN 加载更多失败 THEN Android App SHALL 显示错误提示并允许用户重试
|
|||
|
|
|
|||
|
|
### Requirement 6
|
|||
|
|
|
|||
|
|
**User Story:** 作为用户,我想在切换到其他Tab后再返回热门Tab时保持之前的浏览位置,以便继续浏览
|
|||
|
|
|
|||
|
|
#### Acceptance Criteria
|
|||
|
|
|
|||
|
|
1. WHEN 用户从热门Tab切换到其他Tab THEN Android App SHALL 保存热门Tab的滚动位置和已加载数据
|
|||
|
|
2. WHEN 用户返回热门Tab THEN Android App SHALL 恢复之前的滚动位置和列表数据
|
|||
|
|
3. WHEN 用户在其他Tab停留超过5分钟后返回热门Tab THEN Android App SHALL 自动刷新热门作品列表
|