数字刊物系统需求规格说明书
1. 文档概述
1.1 文档目的
本文档基于当前项目已实现功能,整理数字刊物系统的业务目标、用户角色、功能需求、数据需求、接口需求、权限要求和非功能需求,用于项目验收、后续开发、测试设计、交付说明和软件著作权材料整理。
1.2 项目名称
- 系统名称:数字刊物系统
- 后端工程名称:
digial-press - 管理端前端工程:
ui-admin - 移动端前端工程:
ui-mobile - 当前版本:
1.0.0/1.0.0-SNAPSHOT
1.3 系统范围
系统面向数字刊物的内容制作、发布、阅读、互动、统计和系统管理场景,包含:
- 管理端:电子书管理、分类管理、章节管理、内容编辑、评论管理、数据统计、PDF 导出、预览管理、管理端用户管理、移动端用户管理、角色权限、操作日志、系统配置。
- 移动端:书刊列表、书刊详情、阅读器、登录注册、个人中心、收藏、划线标记、评论、阅读历史、下载记录、预览访问、评分、统计上报。
- 后端服务:管理端 API、移动端 API、认证鉴权、业务服务、数据持久化、文件上传、文档解析、TTS 语音、PDF 导出、统计聚合、系统配置。
1.4 术语说明
| 术语 | 说明 |
|---|---|
| 电子书/书刊 | 系统管理和展示的数字刊物资源,包含基础信息、章节、内容、封面、下载配置等 |
| 管理端 | 面向运营、编辑、管理员的后台系统,对应 ui-admin 和 /admin/** 接口 |
| 移动端 | 面向读者用户的移动 Web 阅读系统,对应 ui-mobile 和 /app/** 接口 |
| 管理员 | 可登录管理端并按角色权限操作后台资源的用户 |
| 移动端用户 | 可登录移动端进行阅读、收藏、评论、评分等操作的读者 |
| 游客 | 未登录移动端用户,可浏览公开内容,受 VIP 和登录态限制 |
| RBAC | 基于角色的访问控制,系统通过用户、角色、权限码控制管理端访问 |
| 预览链接 | 管理端生成的外部审阅链接,支持密码校验、有效期和审核反馈 |
| TTS | 文本转语音功能,用于章节内容朗读 |
2. 系统总体说明
2.1 产品定位
数字刊物系统用于支撑电子书/数字刊物从内容录入、章节编辑、发布预览、移动端阅读、用户互动到数据统计的完整业务闭环。系统同时提供管理后台和读者移动端,满足内容运营、用户阅读和系统运维管理需求。
2.2 目标用户
| 用户类型 | 主要目标 |
|---|---|
| 系统管理员 | 管理后台账号、角色权限、系统配置、操作日志和移动端用户状态 |
| 内容管理员/编辑 | 创建电子书、维护分类、编辑章节和正文、发布/下架内容、生成预览 |
| 运营人员 | 管理评论、查看阅读统计、处理用户状态、导出 PDF、配置互动能力 |
| 外部审阅人 | 通过预览链接访问指定书刊并提交审核反馈 |
| 移动端读者 | 浏览书刊、阅读章节、收藏、评论、评分、下载、查看个人阅读记录 |
| 游客 | 浏览公开书刊和详情,在需要登录的场景被引导登录 |
2.3 系统边界
系统内部负责:
- 电子书、分类、章节、内容、评论、评分、收藏、标记、阅读记录等业务数据管理。
- 管理端和移动端登录认证、JWT 鉴权和权限校验。
- 管理端 RBAC 权限、菜单、路由和按钮控制。
- 文件上传、封面和富文本资源管理。
- 电子书统计、用户行为统计、来源渠道和外链点击统计。
- PDF 导出记录和文件下载。
- 预览链接生成、密码验证、审阅反馈。
- 移动端用户状态、禁言、注销审批和强制下线。
- 系统配置的查询和维护。
系统外部依赖:
- 浏览器或移动端 WebView 环境。
- MySQL 数据库。
- Redis 缓存与会话存储。
- 短信服务能力。
- 文件存储目录或静态资源服务。
- 第三方编辑器、图表、UI 组件、TTS/PDF 相关依赖。
2.4 技术架构概述
| 层级 | 技术/模块 |
|---|---|
| 管理端前端 | Vue 2、Vue Router、Vuex、Element UI、ECharts、WangEditor、Axios |
| 移动端前端 | Vue 2、Vue Router、Vuex、Vant、Axios、移动端适配 |
| 后端框架 | Spring Boot 2.7、Spring Security、MyBatis-Plus、JWT、Knife4j |
| 数据层 | MySQL、MyBatis Mapper/XML |
| 缓存/会话 | Redis |
| 后端模块 | dp-common、dp-model、dp-mapper、dp-service、dp-admin-web、dp-app-web |
3. 角色与权限需求
3.1 管理端角色模型
系统采用用户、角色、权限码三层模型:
- 管理员账号可绑定一个或多个角色。
- 角色可配置权限树中的权限节点。
- 后端接口通过权限码进行方法级鉴权。
- 前端根据权限码控制菜单、路由和按钮可见性。
- 前端权限仅用于交互入口收敛,最终访问控制以后端接口鉴权为准。
3.2 管理端权限范围
| 权限类别 | 权限能力 |
|---|---|
| 电子书管理 | 查看、创建、编辑、章节、内容、发布、下架、删除、恢复、评论开关、评分开关、预览 |
| 分类管理 | 分类查看、新增、编辑、删除、排序 |
| 评论管理 | 评论查询、删除、批量删除 |
| 数据统计 | 总览、趋势、书籍排行、书籍详情统计 |
| PDF 管理 | 导出记录查看、手动导出、下载 |
| 管理端用户 | 用户查询、新增、编辑、启停、重置密码、分配角色 |
| 移动端用户 | 用户查询、详情、启停、禁言、注销处理、删除、强制下线 |
| 角色管理 | 角色查询、新增、编辑、删除、分配权限 |
| 操作日志 | 操作日志查询、详情、导出入口 |
| 系统配置 | 配置查询、单项保存、批量保存 |
3.3 移动端访问控制
| 访问场景 | 权限要求 |
|---|---|
| 浏览书刊列表 | 游客可访问 |
| 查看公开书刊详情 | 游客可访问 |
| 阅读普通公开章节 | 游客可访问,具体以接口放行和业务规则为准 |
| 阅读 VIP 内容 | 未登录用户需跳转登录 |
| 收藏、评论、评分、下载、标记、阅读历史 | 需登录移动端账号 |
| 发布评论 | 需登录、账号启用、未注销、未禁言,且书刊允许评论 |
| 提交评分 | 需登录,且书刊允许评分 |
| 删除个人评论/标记 | 需登录,且只能操作本人数据 |
| 个人中心与我的数据 | 需登录 |
4. 管理端功能需求
4.1 管理端登录与首页
4.1.1 管理员登录
| 编号 | 需求描述 |
|---|---|
| ADM-AUTH-001 | 系统应提供管理端登录页面,管理员输入账号和密码后可登录系统。 |
| ADM-AUTH-002 | 登录成功后,系统应保存 token,并在后续请求中携带认证信息。 |
| ADM-AUTH-003 | 登录成功后,系统应获取管理员基本信息、角色信息和权限码列表。 |
| ADM-AUTH-004 | token 缺失、过期或无效时,系统应跳转登录页或返回未认证响应。 |
| ADM-AUTH-005 | 管理员退出登录后,系统应清理本地登录态并调用后端退出接口。 |
4.1.2 首页仪表盘
| 编号 | 需求描述 |
|---|---|
| ADM-DASH-001 | 系统应展示访问量、访客数、下载量、分享量等运营概览指标。 |
| ADM-DASH-002 | 系统应展示近 30 天访问趋势图。 |
| ADM-DASH-003 | 系统应展示热门书刊排行,用于运营分析。 |
| ADM-DASH-004 | 首页不要求具体业务权限,但必须要求管理员已登录。 |
4.2 电子书管理
4.2.1 电子书列表
| 编号 | 需求描述 |
|---|---|
| ADM-BOOK-001 | 系统应支持按条件分页查询电子书列表。 |
| ADM-BOOK-002 | 列表应展示书刊标题、封面、分类、状态、阅读方向、下载模式、发布时间、排序等信息。 |
| ADM-BOOK-003 | 系统应支持进入新建、编辑、章节管理、内容预览、统计详情、预览管理等功能入口。 |
| ADM-BOOK-004 | 系统应支持电子书发布、定时发布、下架、删除、恢复和彻底删除等生命周期操作。 |
| ADM-BOOK-005 | 系统应支持在列表中维护评论开关和评分开关。 |
| ADM-BOOK-006 | 系统应支持回收站查询和恢复已删除电子书。 |
| ADM-BOOK-007 | 管理端用户只能看到其权限允许访问的操作按钮和页面入口。 |
4.2.2 电子书新建与编辑
| 编号 | 需求描述 |
|---|---|
| ADM-BOOK-101 | 系统应支持创建电子书并维护标题、简介、封面、分类、年份、排序权重等基础信息。 |
| ADM-BOOK-102 | 系统应支持设置书刊类型,包括普通/VIP 等类型。 |
| ADM-BOOK-103 | 系统应支持设置阅读方向。 |
| ADM-BOOK-104 | 系统应支持设置下载模式。 |
| ADM-BOOK-105 | 系统应支持配置是否允许评论、是否允许评分。 |
| ADM-BOOK-106 | 系统应支持上传封面和相关资源文件。 |
| ADM-BOOK-107 | 创建成功后,系统应支持进入章节管理流程。 |
| ADM-BOOK-108 | 编辑电子书时应读取原有信息并支持保存更新。 |
4.2.3 电子书状态流转
| 编号 | 需求描述 |
|---|---|
| ADM-BOOK-201 | 电子书状态应包含草稿、待上架、已发布、已下架等状态。 |
| ADM-BOOK-202 | 草稿或已下架电子书应支持发布。 |
| ADM-BOOK-203 | 系统应支持设置定时发布时间,满足时间后进入发布状态。 |
| ADM-BOOK-204 | 已发布或待上架电子书应支持下架。 |
| ADM-BOOK-205 | 被删除的电子书应进入回收站,支持恢复或彻底删除。 |
| ADM-BOOK-206 | 移动端仅应展示已发布且未删除的电子书。 |
4.3 分类管理
| 编号 | 需求描述 |
|---|---|
| ADM-CAT-001 | 系统应支持电子书分类列表展示。 |
| ADM-CAT-002 | 系统应支持新增分类,维护分类名称和排序。 |
| ADM-CAT-003 | 系统应支持编辑分类基础信息。 |
| ADM-CAT-004 | 系统应支持删除分类。 |
| ADM-CAT-005 | 当分类存在关联电子书时,系统应限制或提示不能直接删除。 |
| ADM-CAT-006 | 系统应支持分类排序调整。 |
| ADM-CAT-007 | 分类数据应同步用于管理端筛选和移动端列表分类筛选。 |
4.4 章节管理
| 编号 | 需求描述 |
|---|---|
| ADM-CHAP-001 | 系统应支持按电子书维护树形章节结构。 |
| ADM-CHAP-002 | 系统应支持新增、编辑、删除章节。 |
| ADM-CHAP-003 | 系统应支持章节排序。 |
| ADM-CHAP-004 | 系统应支持章节启用和禁用。 |
| ADM-CHAP-005 | 系统应支持显示章节锁定状态和锁定人。 |
| ADM-CHAP-006 | 系统应支持章节编辑锁,避免多人同时编辑造成内容覆盖。 |
| ADM-CHAP-007 | 具备权限的管理员应可强制解锁章节。 |
| ADM-CHAP-008 | 移动端阅读目录应基于已发布书刊和有效章节展示。 |
4.5 内容编辑
| 编号 | 需求描述 |
|---|---|
| ADM-CONT-001 | 系统应提供富文本编辑器用于编辑章节正文。 |
| ADM-CONT-002 | 系统应支持图片、视频等富媒体资源上传并插入正文。 |
| ADM-CONT-003 | 系统应支持上传文档并解析导入章节内容。 |
| ADM-CONT-004 | 文档解析后应支持预览,并允许替换或追加到当前内容。 |
| ADM-CONT-005 | 系统应支持一键排版能力,优化章节正文格式。 |
| ADM-CONT-006 | 系统应支持自动保存草稿,降低编辑内容丢失风险。 |
| ADM-CONT-007 | 系统应支持手动保存草稿和提交正式内容。 |
| ADM-CONT-008 | 系统应支持章节内容浏览器预览。 |
| ADM-CONT-009 | 系统应支持触发 TTS 生成并轮询生成状态。 |
| ADM-CONT-010 | 内容编辑应受章节锁和管理端权限控制。 |
4.6 评论管理
| 编号 | 需求描述 |
|---|---|
| ADM-COM-001 | 系统应支持按电子书、关键词、日期等条件查询评论。 |
| ADM-COM-002 | 评论列表应展示评论内容、评论用户、所属书刊、章节、创建时间等信息。 |
| ADM-COM-003 | 涉及用户手机号等敏感信息时,前端应进行脱敏展示。 |
| ADM-COM-004 | 系统应支持删除单条评论。 |
| ADM-COM-005 | 系统应支持批量删除评论。 |
| ADM-COM-006 | 评论删除操作应受权限控制,并记录操作日志。 |
4.7 数据统计
| 编号 | 需求描述 |
|---|---|
| ADM-STAT-001 | 系统应提供全局统计概览,包括 PV、UV、下载、分享等指标。 |
| ADM-STAT-002 | 系统应支持按时间范围查看访问趋势。 |
| ADM-STAT-003 | 系统应支持展示热门书刊排行。 |
| ADM-STAT-004 | 系统应支持查看单本书刊统计详情。 |
| ADM-STAT-005 | 单本书刊详情应包含访问、阅读时长、完读率、下载、分享、评分等指标。 |
| ADM-STAT-006 | 系统应支持查看章节热度排行。 |
| ADM-STAT-007 | 系统应支持查看来源渠道统计。 |
| ADM-STAT-008 | 系统应支持统计第三方外链点击数据。 |
| ADM-STAT-009 | 移动端访问、阅读、下载、分享、外链点击等行为应上报后端用于统计。 |
4.8 PDF 导出管理
| 编号 | 需求描述 |
|---|---|
| ADM-PDF-001 | 系统应支持查看 PDF 导出记录。 |
| ADM-PDF-002 | 导出记录应包含书刊、导出范围、触发类型、状态、创建时间和文件信息。 |
| ADM-PDF-003 | PDF 导出状态应包含待处理、处理中、已完成、失败。 |
| ADM-PDF-004 | 系统应支持按整书导出 PDF。 |
| ADM-PDF-005 | 系统应支持按选中章节导出 PDF。 |
| ADM-PDF-006 | 导出完成后,系统应支持下载 PDF 文件。 |
| ADM-PDF-007 | 导出失败时,系统应展示失败状态,便于排查。 |
4.9 预览管理
| 编号 | 需求描述 |
|---|---|
| ADM-PRE-001 | 系统应支持为指定电子书生成外部预览链接。 |
| ADM-PRE-002 | 预览链接应包含访问地址、访问密码和有效期。 |
| ADM-PRE-003 | 管理端应支持复制预览链接。 |
| ADM-PRE-004 | 预览密码应为短数字密码,移动端访问时需校验。 |
| ADM-PRE-005 | 系统应限制密码错误次数,错误过多时锁定访问一段时间。 |
| ADM-PRE-006 | 外部审阅人可通过预览链接查看目录和进入阅读。 |
| ADM-PRE-007 | 管理端应支持查看预览反馈并进行通过或拒绝审核。 |
| ADM-PRE-008 | 拒绝预览审核时,应填写拒绝意见。 |
| ADM-PRE-009 | 预览状态应包含待审核、已通过、已拒绝。 |
4.10 管理端用户管理
| 编号 | 需求描述 |
|---|---|
| ADM-USER-001 | 系统应支持分页查询管理端用户。 |
| ADM-USER-002 | 系统应支持新增管理端用户。 |
| ADM-USER-003 | 系统应支持编辑管理端用户信息。 |
| ADM-USER-004 | 系统应支持启用和禁用管理端用户。 |
| ADM-USER-005 | 系统应支持重置管理端用户密码。 |
| ADM-USER-006 | 系统应支持为管理端用户分配角色。 |
| ADM-USER-007 | 密码应满足系统定义的复杂度或格式校验规则。 |
| ADM-USER-008 | 被禁用用户不得继续访问管理端。 |
4.11 移动端用户管理
| 编号 | 需求描述 |
|---|---|
| ADM-APPUSER-001 | 系统应支持分页查询移动端用户。 |
| ADM-APPUSER-002 | 系统应支持按手机号、状态、禁言状态、注销状态等条件筛选用户。 |
| ADM-APPUSER-003 | 系统应支持查看移动端用户详情。 |
| ADM-APPUSER-004 | 系统应支持启用和禁用移动端用户。 |
| ADM-APPUSER-005 | 系统应支持禁言和解除禁言。 |
| ADM-APPUSER-006 | 被禁言用户不得发布评论。 |
| ADM-APPUSER-007 | 系统应支持处理用户注销申请,包括审核通过和驳回。 |
| ADM-APPUSER-008 | 系统应支持重新激活已注销或异常状态用户。 |
| ADM-APPUSER-009 | 系统应支持删除符合条件的移动端用户。 |
| ADM-APPUSER-010 | 系统应支持强制移动端用户下线。 |
4.12 角色与权限管理
| 编号 | 需求描述 |
|---|---|
| ADM-RBAC-001 | 系统应支持角色列表查询。 |
| ADM-RBAC-002 | 系统应支持新增角色。 |
| ADM-RBAC-003 | 系统应支持编辑角色。 |
| ADM-RBAC-004 | 系统应支持删除角色。 |
| ADM-RBAC-005 | 系统应支持获取权限树。 |
| ADM-RBAC-006 | 系统应支持为角色分配权限。 |
| ADM-RBAC-007 | 管理端菜单、路由和按钮应根据当前用户权限码动态控制。 |
| ADM-RBAC-008 | 后端接口应通过权限码进行访问控制。 |
4.13 操作日志
| 编号 | 需求描述 |
|---|---|
| ADM-LOG-001 | 系统应记录管理端关键操作日志。 |
| ADM-LOG-002 | 系统应支持按操作人、模块、时间等条件查询日志。 |
| ADM-LOG-003 | 系统应支持查看日志详情。 |
| ADM-LOG-004 | 管理端提供日志导出入口;若功能未完全实现,应明确展示当前状态。 |
4.14 系统配置
| 编号 | 需求描述 |
|---|---|
| ADM-CONF-001 | 系统应支持查询系统配置项。 |
| ADM-CONF-002 | 系统应支持编辑单个配置项。 |
| ADM-CONF-003 | 系统应支持批量保存配置。 |
| ADM-CONF-004 | 系统配置可影响移动端登录方式、评论长度、加密配置、业务开关等运行行为。 |
| ADM-CONF-005 | 配置变更应受权限控制,并应可追踪。 |
4.15 文件上传与文档解析
| 编号 | 需求描述 |
|---|---|
| ADM-FILE-001 | 系统应支持上传封面、富文本图片、视频或附件等文件。 |
| ADM-FILE-002 | 系统应返回上传文件的可访问地址。 |
| ADM-FILE-003 | 系统应支持上传文档并解析为可编辑内容。 |
| ADM-FILE-004 | 文件上传应限制文件类型和大小,避免非法文件影响系统安全。 |
| ADM-FILE-005 | 上传后的文件应可被管理端和移动端在业务范围内访问。 |
5. 移动端功能需求
5.1 书刊列表
| 编号 | 需求描述 |
|---|---|
| APP-BOOK-001 | 移动端首页应默认进入书刊列表。 |
| APP-BOOK-002 | 系统应展示已发布且可访问的书刊。 |
| APP-BOOK-003 | 列表应展示书刊封面、标题、分类、简介、评分、VIP 标识等信息。 |
| APP-BOOK-004 | 系统应支持按分类筛选书刊。 |
| APP-BOOK-005 | 系统应支持按书名关键词搜索。 |
| APP-BOOK-006 | 系统应支持下拉刷新和滚动分页加载。 |
| APP-BOOK-007 | 游客点击 VIP 书刊或需登录能力时,应引导登录。 |
| APP-BOOK-008 | 列表加载失败时,应展示错误反馈并允许重试。 |
| APP-BOOK-009 | 无数据时,应展示空状态。 |
5.2 书刊详情
| 编号 | 需求描述 |
|---|---|
| APP-DETAIL-001 | 用户可查看书刊封面、标题、分类、VIP 标识、简介、目录、评分和评论。 |
| APP-DETAIL-002 | 系统应展示书刊章节目录,并支持进入指定章节阅读。 |
| APP-DETAIL-003 | 空章节或不可访问章节不应直接进入阅读。 |
| APP-DETAIL-004 | 用户可收藏或取消收藏书刊。 |
| APP-DETAIL-005 | 用户可提交、查看书刊评论。 |
| APP-DETAIL-006 | 用户可提交评分并查看评分汇总和本人评分。 |
| APP-DETAIL-007 | 用户可触发书刊下载,下载行为应记录。 |
| APP-DETAIL-008 | 用户可分享书刊,分享行为应记录。 |
| APP-DETAIL-009 | 详情页访问行为应上报统计。 |
5.3 阅读器
| 编号 | 需求描述 |
|---|---|
| APP-READ-001 | 系统应根据书刊 ID 和章节 ID 加载章节正文。 |
| APP-READ-002 | 阅读器应支持目录弹层和章节切换。 |
| APP-READ-003 | 阅读器应支持左右滑动切换章节,并提供首次使用提示。 |
| APP-READ-004 | 阅读器应支持章节内容搜索,并定位搜索结果。 |
| APP-READ-005 | 阅读器应支持字体大小调整。 |
| APP-READ-006 | 阅读器应支持行距调整。 |
| APP-READ-007 | 阅读器应支持阅读背景切换。 |
| APP-READ-008 | 用户可收藏或取消收藏当前章节。 |
| APP-READ-009 | 用户可对当前章节或书刊进行评论和评分。 |
| APP-READ-010 | 用户可下载当前书刊或章节相关文件。 |
| APP-READ-011 | 阅读器应支持 TTS 播放、暂停和倍速控制。 |
| APP-READ-012 | 阅读器应支持正文图片预览。 |
| APP-READ-013 | 正文中的外部链接应通过外部链接页面打开,并记录点击统计。 |
| APP-READ-014 | 系统应保存阅读进度,用于后续继续阅读。 |
| APP-READ-015 | 系统应记录阅读时长,用于统计分析。 |
| APP-READ-016 | 阅读器加载失败时,应展示错误提示。 |
5.4 移动端登录
| 编号 | 需求描述 |
|---|---|
| APP-AUTH-001 | 系统应支持短信验证码登录。 |
| APP-AUTH-002 | 系统应支持账号密码登录,具体登录模式受系统配置控制。 |
| APP-AUTH-003 | 用户登录前应同意用户协议和隐私政策。 |
| APP-AUTH-004 | 系统应支持发送短信验证码。 |
| APP-AUTH-005 | 登录成功后,系统应保存移动端 token 和用户信息。 |
| APP-AUTH-006 | 登录失败时,系统应展示明确错误提示。 |
| APP-AUTH-007 | 访问需登录页面时,系统应跳转登录页并在登录后返回原页面。 |
| APP-AUTH-008 | token 失效时,系统应清理登录态并引导重新登录。 |
5.5 个人中心
| 编号 | 需求描述 |
|---|---|
| APP-MINE-001 | 用户可在个人中心查看头像、手机号、昵称等个人信息。 |
| APP-MINE-002 | 用户可上传头像。 |
| APP-MINE-003 | 用户可进入我的收藏、我的标记、我的评论、阅读历史、我的下载等页面。 |
| APP-MINE-004 | 用户可退出登录。 |
| APP-MINE-005 | 用户可提交账号注销申请。 |
| APP-MINE-006 | 用户可撤销注销申请。 |
| APP-MINE-007 | 未登录用户进入个人中心时,应展示登录入口。 |
5.6 我的收藏
| 编号 | 需求描述 |
|---|---|
| APP-FAV-001 | 用户可查看已收藏的书刊。 |
| APP-FAV-002 | 用户可查看已收藏的章节。 |
| APP-FAV-003 | 用户可取消收藏。 |
| APP-FAV-004 | 点击书刊收藏应进入书刊详情。 |
| APP-FAV-005 | 点击章节收藏应进入对应阅读页面。 |
5.7 我的标记
| 编号 | 需求描述 |
|---|---|
| APP-HIGH-001 | 用户可查看自己的划线标记。 |
| APP-HIGH-002 | 标记应按书刊或章节进行组织展示。 |
| APP-HIGH-003 | 用户可删除自己的标记。 |
| APP-HIGH-004 | 点击标记应进入阅读页面并定位到对应标记位置。 |
5.8 我的评论
| 编号 | 需求描述 |
|---|---|
| APP-COM-001 | 用户可查看自己发布的评论。 |
| APP-COM-002 | 用户可删除自己发布的评论。 |
| APP-COM-003 | 点击评论应进入对应书刊或章节页面。 |
| APP-COM-004 | 被禁言、注销或禁用用户不得继续发布评论。 |
5.9 阅读历史
| 编号 | 需求描述 |
|---|---|
| APP-HIST-001 | 系统应记录用户阅读历史。 |
| APP-HIST-002 | 用户可查看最近阅读的书刊和章节。 |
| APP-HIST-003 | 用户可点击历史记录继续阅读。 |
| APP-HIST-004 | 用户可清空阅读历史。 |
5.10 我的下载
| 编号 | 需求描述 |
|---|---|
| APP-DOWN-001 | 系统应记录用户下载行为。 |
| APP-DOWN-002 | 用户可查看自己的下载记录。 |
| APP-DOWN-003 | 用户可从下载记录重新下载资源。 |
| APP-DOWN-004 | 下载应遵循书刊下载模式和登录状态限制。 |
5.11 预览访问
| 编号 | 需求描述 |
|---|---|
| APP-PRE-001 | 用户或外部审阅人可通过预览链接进入预览页。 |
| APP-PRE-002 | 预览页应根据链接参数查询预览信息。 |
| APP-PRE-003 | 预览访问应要求输入 4 位密码。 |
| APP-PRE-004 | 密码校验通过后,应展示书刊目录并允许进入阅读。 |
| APP-PRE-005 | 密码错误次数过多时,应提示锁定状态。 |
| APP-PRE-006 | 预览链接过期或无效时,应展示对应错误状态。 |
5.12 协议与外部链接
| 编号 | 需求描述 |
|---|---|
| APP-EXT-001 | 系统应提供用户协议和隐私政策页面。 |
| APP-EXT-002 | 正文中的外部链接应在独立外部链接页打开。 |
| APP-EXT-003 | 外部链接点击应进行统计上报。 |
| APP-EXT-004 | 外部链接访问失败时,应展示错误反馈。 |
6. 后端接口与服务需求
6.1 管理端接口范围
| 模块 | 接口前缀/控制器 | 能力摘要 |
|---|---|---|
| 管理端认证 | AdminAuthController |
登录、用户信息、退出 |
| 电子书 | EbookController |
列表、详情、创建、编辑、发布、下架、删除、恢复、字段更新 |
| 分类 | CategoryController |
分类增删改查和排序 |
| 章节 | ChapterController |
章节树、增删改、排序、启停、锁定/解锁 |
| 内容 | ContentController |
内容草稿、提交、格式化、预览、TTS |
| 文件 | FileUploadController |
文件上传、文档解析 |
| 评论 | CommentAdminController |
评论查询、删除、批量删除 |
| 评分 | RatingAdminController |
评分列表和删除 |
| 统计 | StatController |
总览、趋势、排行、书籍详情、章节、来源、外链 |
PdfExportController |
导出记录、手动导出、下载 | |
| 预览 | PreviewController |
预览链接生成、查询、审核 |
| 管理用户 | AdminUserController |
管理员 CRUD、启停、重置密码、角色分配 |
| 移动用户 | AppUserAdminController |
移动用户查询、详情、启停、禁言、注销、强制下线 |
| 角色 | RoleController |
角色 CRUD 和权限分配 |
| 权限 | PermissionController |
权限树查询 |
| 日志 | OperationLogController |
操作日志查询和详情 |
| 配置 | SystemConfigController |
配置查询和保存 |
6.2 移动端接口范围
| 模块 | 接口前缀/控制器 | 能力摘要 |
|---|---|---|
| 移动端认证 | AppAuthController |
短信验证码、登录 |
| 书刊 | AppBookController |
书刊列表、搜索、分类、详情 |
| 章节 | AppChapterController |
章节内容、书内搜索、TTS |
| 评论 | AppCommentController |
公开评论、发表评论、我的评论、删除 |
| 收藏 | AppFavoriteController |
收藏、取消、检查、我的收藏 |
| 标记 | AppHighlightController |
划线标记新增、删除、查询 |
| 阅读 | AppReadingController |
进度保存、历史查询、清空 |
| 下载 | AppDownloadController |
下载地址、下载记录、我的下载 |
| 评分 | AppRatingController |
提交评分、汇总、我的评分 |
| 统计 | AppStatController |
页面访问、阅读、下载、分享、外链等行为上报 |
| 用户 | AppUserController |
用户信息、头像、注销、撤销注销 |
| 配置 | AppConfigController |
移动端配置、加密配置 |
6.3 通用接口要求
| 编号 | 需求描述 |
|---|---|
| API-GEN-001 | 后端接口应返回统一响应结构,包含状态码、消息和数据。 |
| API-GEN-002 | 分页接口应支持页码、页大小和总数返回。 |
| API-GEN-003 | 认证接口应使用 JWT 作为访问令牌。 |
| API-GEN-004 | 需要认证的接口应要求 Authorization: Bearer <token>。 |
| API-GEN-005 | 未认证请求应返回 401 或统一未登录响应。 |
| API-GEN-006 | 无权限请求应返回 403 或统一权限不足响应。 |
| API-GEN-007 | 后端应对外部输入进行参数校验,避免非法数据入库。 |
| API-GEN-008 | 业务异常应返回可理解的错误消息,前端应展示相应提示。 |
7. 数据需求
7.1 核心业务实体
| 实体 | 说明 |
|---|---|
Ebook |
电子书基础信息,包括标题、封面、简介、分类、状态、类型、下载模式、评论/评分开关等 |
EbookCategory |
电子书分类 |
EbookChapter |
电子书章节结构、状态、排序、锁定信息 |
EbookChapterContent |
章节正文内容和草稿内容 |
EbookComment |
用户评论数据 |
EbookRating |
用户评分数据 |
EbookFavorite |
书刊或章节收藏数据 |
EbookHighlight |
阅读划线标记数据 |
EbookReadingProgress |
阅读进度数据 |
EbookReadingHistory |
阅读历史数据 |
EbookDownloadRecord |
下载记录 |
EbookPreview |
预览链接、密码、有效期、审核状态 |
EbookPreviewFeedback |
预览反馈和审核意见 |
PdfExportRecord |
PDF 导出任务和文件记录 |
AppUser |
移动端用户信息、状态、禁言、注销状态 |
SysAdminUser |
管理端用户信息 |
SysRole |
管理端角色 |
SysPermission |
权限节点和权限码 |
SysOperationLog |
管理端操作日志 |
SysConfig |
系统配置项 |
StatPageView |
页面访问统计 |
StatUserBehavior |
用户行为统计 |
StatExternalLinkClick |
外部链接点击统计 |
AiUsageRecord |
AI/TTS 等使用记录相关数据 |
7.2 主要状态枚举
| 状态类别 | 取值 |
|---|---|
| 电子书状态 | draft、scheduled、published、unpublished |
| 章节状态 | 启用、禁用 |
| 管理员状态 | 启用、禁用 |
| 移动端用户状态 | 启用、禁用 |
| 移动端禁言状态 | 正常、禁言 |
| 移动端注销状态 | 正常、申请注销、已注销 |
| PDF 导出状态 | pending、processing、completed、failed |
| PDF 触发类型 | auto、manual |
| PDF 导出范围 | all、selected |
| 预览审核状态 | pending、approved、rejected |
| 评论审核/展示状态 | 已通过评论可在移动端公开展示 |
7.3 数据约束
| 编号 | 需求描述 |
|---|---|
| DATA-001 | 电子书、章节、用户、评论、评分等数据应具备唯一标识。 |
| DATA-002 | 电子书删除应支持软删除和回收站恢复。 |
| DATA-003 | 移动端展示的书刊应过滤未发布和已删除数据。 |
| DATA-004 | 用户个人数据查询应按当前登录用户隔离。 |
| DATA-005 | 评论、收藏、标记、阅读历史等个人操作应校验数据归属。 |
| DATA-006 | 统计数据应记录访问对象、用户、时间和行为类型。 |
| DATA-007 | 操作日志应记录操作人、操作内容、操作时间和结果。 |
| DATA-008 | 文件和导出记录应保存可访问地址、状态和关联业务对象。 |
8. 业务流程需求
8.1 电子书发布流程
- 管理员创建电子书基础信息。
- 管理员维护分类、封面、简介、阅读方向、下载模式等信息。
- 管理员创建章节结构。
- 管理员编辑章节内容,可保存草稿或提交正式内容。
- 管理员可生成预览链接供外部审阅。
- 审阅通过或内容确认后,管理员发布或定时发布电子书。
- 移动端用户可在书刊列表和详情页访问已发布书刊。
- 如需暂停访问,管理员可下架电子书。
- 如需删除,管理员可将电子书移入回收站,并支持恢复或彻底删除。
8.2 移动端阅读流程
- 用户进入书刊列表。
- 用户筛选或搜索目标书刊。
- 用户进入书刊详情。
- 系统判断书刊是否 VIP 或是否需要登录。
- 用户选择章节进入阅读器。
- 阅读器加载章节内容和目录信息。
- 用户阅读过程中可切换章节、搜索正文、调整阅读设置、播放 TTS。
- 系统记录页面访问、阅读进度和阅读时长。
- 用户可进行收藏、评论、评分、下载、分享等互动。
8.3 评论流程
- 用户在书刊详情或阅读器发起评论。
- 系统校验用户是否登录。
- 系统校验用户是否启用、未注销、未禁言。
- 系统校验书刊是否允许评论。
- 系统校验评论内容长度和合法性。
- 评论保存后,符合公开状态的评论可在移动端展示。
- 管理端可查询和删除评论。
- 用户可在我的评论中删除本人评论。
8.4 用户注销流程
- 移动端用户在个人中心发起注销申请。
- 系统记录用户注销状态为申请中。
- 用户可在审核前撤销注销申请。
- 管理员在移动端用户管理中查看注销申请。
- 管理员可审核通过或驳回注销申请。
- 审核通过后,用户进入已注销状态。
- 管理员可根据业务需要重新激活或删除符合条件的用户。
8.5 预览审阅流程
- 管理员为电子书生成预览链接和访问密码。
- 外部审阅人打开预览链接。
- 系统校验链接是否有效和是否过期。
- 审阅人输入 4 位密码。
- 密码正确后,审阅人查看目录并进入阅读。
- 审阅结束后,管理端可对反馈进行通过或拒绝处理。
- 拒绝时应记录拒绝意见。
9. 非功能需求
9.1 安全性需求
| 编号 | 需求描述 |
|---|---|
| NFR-SEC-001 | 管理端和移动端应分别使用 JWT 认证,并通过用户类型隔离 token。 |
| NFR-SEC-002 | 后端应校验 token 签名、有效期和 Redis 活跃会话状态。 |
| NFR-SEC-003 | 管理端接口应通过 Spring Security 和权限码进行授权控制。 |
| NFR-SEC-004 | 移动端涉及个人数据和写操作的接口应校验登录态和数据归属。 |
| NFR-SEC-005 | 禁用、注销或被强制下线的用户不得继续访问受限接口。 |
| NFR-SEC-006 | 评论发布应校验禁言状态,避免被禁言用户继续发言。 |
| NFR-SEC-007 | 预览链接应具备有效期、密码校验、错误次数限制和锁定机制。 |
| NFR-SEC-008 | 管理端敏感操作应受权限控制并记录操作日志。 |
| NFR-SEC-009 | 前端展示手机号等敏感信息时应脱敏。 |
| NFR-SEC-010 | 文件上传应限制类型和大小,避免上传可执行恶意内容。 |
| NFR-SEC-011 | 系统配置、密钥、token、短信参数等敏感信息不得在前端明文暴露。 |
| NFR-SEC-012 | 外部链接打开应进行受控跳转和统计记录,避免影响主阅读页面。 |
9.2 性能需求
| 编号 | 需求描述 |
|---|---|
| NFR-PERF-001 | 书刊列表、评论列表、下载记录、日志等列表接口应支持分页。 |
| NFR-PERF-002 | 管理端图表统计应通过后端聚合接口返回,减少前端计算压力。 |
| NFR-PERF-003 | 移动端列表应支持下拉刷新和滚动分页,避免一次性加载过多数据。 |
| NFR-PERF-004 | 阅读器应按章节加载内容,避免一次性加载整本书造成页面卡顿。 |
| NFR-PERF-005 | TTS、PDF 导出等耗时任务应通过状态轮询或异步记录反馈结果。 |
| NFR-PERF-006 | 权限、会话、短信验证码等高频校验数据应使用 Redis 缓存。 |
9.3 可用性需求
| 编号 | 需求描述 |
|---|---|
| NFR-USE-001 | 管理端应提供清晰的菜单结构和面包屑式页面层级。 |
| NFR-USE-002 | 移动端应适配手机屏幕,提供底部导航、弹层、滑动等移动交互。 |
| NFR-USE-003 | 页面加载中、空数据、操作成功、操作失败应有明确反馈。 |
| NFR-USE-004 | 表单提交前应进行必要校验,并提示错误字段。 |
| NFR-USE-005 | 删除、下架、强制下线、注销审核等高风险操作应进行确认。 |
| NFR-USE-006 | 阅读器应提供字体、行距、背景等阅读偏好设置,提高阅读体验。 |
| NFR-USE-007 | 登录后应支持返回原访问页面,减少用户路径中断。 |
9.4 可靠性需求
| 编号 | 需求描述 |
|---|---|
| NFR-REL-001 | 章节编辑应支持草稿自动保存,降低内容丢失风险。 |
| NFR-REL-002 | 章节编辑应通过锁机制减少多人编辑冲突。 |
| NFR-REL-003 | PDF 导出失败应记录失败状态,便于重新处理或排查。 |
| NFR-REL-004 | 移动端阅读进度应持续保存,便于继续阅读。 |
| NFR-REL-005 | 统计上报失败不应阻断用户正常阅读主流程。 |
| NFR-REL-006 | token 失效后应及时清理本地状态并引导重新登录。 |
9.5 可维护性需求
| 编号 | 需求描述 |
|---|---|
| NFR-MAINT-001 | 后端应按 common、model、mapper、service、web 模块分层维护。 |
| NFR-MAINT-002 | 管理端和移动端应按 api、views、router、store、utils 等目录组织。 |
| NFR-MAINT-003 | 权限码应集中维护,前后端保持一致。 |
| NFR-MAINT-004 | 系统配置项应通过配置管理维护,避免硬编码业务开关。 |
| NFR-MAINT-005 | 通用接口返回、分页、异常处理应保持统一。 |
| NFR-MAINT-006 | 关键业务操作应保留日志,便于问题追踪。 |
9.6 兼容性需求
| 编号 | 需求描述 |
|---|---|
| NFR-COMP-001 | 管理端应支持主流现代桌面浏览器。 |
| NFR-COMP-002 | 移动端应支持 Android 和 iOS 主流浏览器或 WebView。 |
| NFR-COMP-003 | 移动端页面应适配不同屏幕宽度。 |
| NFR-COMP-004 | 后端服务应支持 Java 8 运行环境。 |
10. 界面需求
10.1 管理端界面
| 页面 | 主要界面元素 |
|---|---|
| 登录页 | 账号、密码、登录按钮、错误提示 |
| 首页 | 指标卡片、趋势图、排行列表 |
| 电子书列表 | 搜索筛选、表格、状态标签、操作按钮、分页、回收站入口 |
| 新建/编辑电子书 | 基础信息表单、封面上传、分类选择、开关配置、保存按钮 |
| 分类管理 | 分类表格、新增/编辑弹窗、删除确认、排序操作 |
| 章节管理 | 章节树、章节表单、启停、排序、锁定状态、强制解锁 |
| 内容编辑 | 富文本编辑器、上传、文档导入、自动保存提示、提交、预览、TTS 状态 |
| 评论管理 | 筛选区、评论表格、删除/批量删除 |
| 数据统计 | 概览指标、趋势图、排行、详情图表 |
| PDF 管理 | 导出记录表格、导出弹窗、下载按钮、状态标签 |
| 预览管理 | 预览链接、密码、有效期、复制、反馈审核 |
| 用户管理 | 用户表格、用户表单、启停、重置密码、角色分配 |
| 移动用户管理 | 筛选、用户详情、启停、禁言、注销审核、强制下线 |
| 角色管理 | 角色表格、角色表单、权限树 |
| 操作日志 | 日志筛选、日志表格、详情弹窗 |
| 系统配置 | 配置表单、单项保存、批量保存 |
10.2 移动端界面
| 页面 | 主要界面元素 |
|---|---|
| 书刊列表 | 搜索框、分类筛选、书刊卡片、下拉刷新、分页加载、底部 Tab |
| 书刊详情 | 封面、标题、简介、目录、评分、评论、收藏、分享、下载 |
| 阅读器 | 正文、目录、工具栏、字体设置、背景设置、搜索、TTS、评论、评分 |
| 登录页 | 登录方式、手机号/密码或验证码、协议勾选、登录按钮 |
| 个人中心 | 用户头像、用户信息、功能入口、退出、注销 |
| 我的收藏 | 书刊收藏、章节收藏、取消收藏 |
| 我的标记 | 标记列表、删除、跳转定位 |
| 我的评论 | 评论列表、删除、跳转阅读 |
| 阅读历史 | 历史列表、继续阅读、清空 |
| 我的下载 | 下载记录、重新下载 |
| 预览页 | 密码输入、目录、阅读入口、错误状态 |
| 外部链接页 | 外链内容或跳转承载、加载/错误状态 |
| 协议页 | 用户协议、隐私政策内容 |
11. 运行环境需求
11.1 服务端环境
| 项目 | 要求 |
|---|---|
| JDK | Java 8 |
| 构建工具 | Maven |
| 数据库 | MySQL 8 或兼容版本 |
| 缓存 | Redis |
| Web 框架 | Spring Boot 2.7 |
| 文件存储 | 本地或可映射静态资源目录 |
11.2 前端环境
| 项目 | 管理端 | 移动端 |
|---|---|---|
| 框架 | Vue 2 | Vue 2 |
| UI 组件 | Element UI | Vant |
| 路由 | Vue Router | Vue Router |
| 状态管理 | Vuex | Vuex |
| HTTP | Axios | Axios |
| 构建工具 | Vue CLI | Vue CLI |
12. 验收标准
12.1 管理端验收标准
| 编号 | 验收项 |
|---|---|
| ACC-ADM-001 | 管理员可完成登录、获取权限、退出登录。 |
| ACC-ADM-002 | 不同权限用户登录后菜单、路由和按钮展示符合权限配置。 |
| ACC-ADM-003 | 管理员可完成电子书创建、编辑、章节维护、内容提交、发布和下架。 |
| ACC-ADM-004 | 管理员可完成分类新增、编辑、删除和排序。 |
| ACC-ADM-005 | 管理员可生成预览链接并完成预览审核。 |
| ACC-ADM-006 | 管理员可查看评论并删除评论。 |
| ACC-ADM-007 | 管理员可查看全局和单书统计数据。 |
| ACC-ADM-008 | 管理员可发起 PDF 导出并下载完成文件。 |
| ACC-ADM-009 | 系统管理员可维护管理端用户、角色权限、移动端用户、配置和日志。 |
12.2 移动端验收标准
| 编号 | 验收项 |
|---|---|
| ACC-APP-001 | 游客可浏览书刊列表和公开书刊详情。 |
| ACC-APP-002 | 用户可完成短信或密码登录,并访问需登录页面。 |
| ACC-APP-003 | 用户可进入阅读器阅读章节并切换章节。 |
| ACC-APP-004 | 阅读器可完成字体、行距、背景、搜索、目录和 TTS 等操作。 |
| ACC-APP-005 | 用户可收藏书刊或章节,并在我的收藏中查看和取消。 |
| ACC-APP-006 | 用户可发布评论、查看评论,并删除自己的评论。 |
| ACC-APP-007 | 用户可提交评分并查看评分汇总。 |
| ACC-APP-008 | 用户可查看和清空阅读历史。 |
| ACC-APP-009 | 用户可查看下载记录并重新下载。 |
| ACC-APP-010 | 用户可通过有效预览链接和密码访问预览内容。 |
| ACC-APP-011 | 被禁用、注销、禁言或未登录用户在受限场景下应被正确拦截。 |
12.3 安全与数据验收标准
| 编号 | 验收项 |
|---|---|
| ACC-SEC-001 | 未登录访问管理端业务页面或接口应被拦截。 |
| ACC-SEC-002 | 无权限管理员访问受限接口应被拒绝。 |
| ACC-SEC-003 | 移动端用户只能访问和操作自己的收藏、评论、标记、历史等数据。 |
| ACC-SEC-004 | 禁言用户不能发布评论。 |
| ACC-SEC-005 | 预览链接过期、密码错误或锁定时不能查看预览内容。 |
| ACC-SEC-006 | 文件上传、评论提交、配置保存等入口应进行参数校验。 |
| ACC-SEC-007 | 操作日志应能追踪关键后台操作。 |
13. 需求追踪矩阵
| 业务目标 | 对应功能模块 |
|---|---|
| 完成数字刊物内容生产 | 电子书管理、分类管理、章节管理、内容编辑、文件上传、文档解析 |
| 完成内容发布和审阅 | 电子书状态流转、预览管理、发布/下架、回收站 |
| 支持读者移动阅读 | 书刊列表、详情、阅读器、阅读设置、TTS、阅读进度 |
| 支持用户互动 | 收藏、评论、评分、标记、下载、分享 |
| 支持运营分析 | 页面访问统计、行为统计、书刊统计、章节热度、来源渠道、外链点击 |
| 支持系统管理 | 管理端用户、移动端用户、角色权限、配置、日志 |
| 保障访问安全 | JWT 鉴权、RBAC 权限、用户状态校验、预览密码、数据归属校验 |
14. 当前已知约束与说明
- 本文档基于当前仓库已实现功能整理,不包含未在代码中明确体现的未来规划功能。
- 管理端日志导出在界面中存在入口或提示,但若后端/前端未完全实现,应在验收时单独确认。
- 短信登录、文件存储、PDF 导出、TTS 等功能依赖运行环境和外部配置,部署验收时需确认配置完整性。
- 移动端部分公开接口允许游客访问,但收藏、评论、评分、下载、个人中心等个人能力应以登录态和后端校验为准。
- 前端权限控制用于体验优化和入口控制,不能替代后端接口权限校验。
- 统计上报属于辅助能力,上报失败不应阻塞阅读主流程,但后台统计完整性依赖客户端成功上报和后端正常入库。
- 软著或交付材料使用本文档时,应结合实际著作权人、完成日期、版本号和部署环境信息补充封面页。