数字刊物系统需求规格说明书

数字刊物系统需求规格说明书

1. 文档概述

1.1 文档目的

本文档基于当前项目已实现功能,整理数字刊物系统的业务目标、用户角色、功能需求、数据需求、接口需求、权限要求和非功能需求,用于项目验收、后续开发、测试设计、交付说明和软件著作权材料整理。

1.2 项目名称

  • 系统名称:数字刊物系统
  • 后端工程名称:digial-press
  • 管理端前端工程:ui-admin
  • 移动端前端工程:ui-mobile
  • 当前版本:1.0.0 / 1.0.0-SNAPSHOT

1.3 系统范围

系统面向数字刊物的内容制作、发布、阅读、互动、统计和系统管理场景,包含:

  1. 管理端:电子书管理、分类管理、章节管理、内容编辑、评论管理、数据统计、PDF 导出、预览管理、管理端用户管理、移动端用户管理、角色权限、操作日志、系统配置。
  2. 移动端:书刊列表、书刊详情、阅读器、登录注册、个人中心、收藏、划线标记、评论、阅读历史、下载记录、预览访问、评分、统计上报。
  3. 后端服务:管理端 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-commondp-modeldp-mapperdp-servicedp-admin-webdp-app-web

3. 角色与权限需求

3.1 管理端角色模型

系统采用用户、角色、权限码三层模型:

  1. 管理员账号可绑定一个或多个角色。
  2. 角色可配置权限树中的权限节点。
  3. 后端接口通过权限码进行方法级鉴权。
  4. 前端根据权限码控制菜单、路由和按钮可见性。
  5. 前端权限仅用于交互入口收敛,最终访问控制以后端接口鉴权为准。

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 总览、趋势、排行、书籍详情、章节、来源、外链
PDF 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 主要状态枚举

状态类别 取值
电子书状态 draftscheduledpublishedunpublished
章节状态 启用、禁用
管理员状态 启用、禁用
移动端用户状态 启用、禁用
移动端禁言状态 正常、禁言
移动端注销状态 正常、申请注销、已注销
PDF 导出状态 pendingprocessingcompletedfailed
PDF 触发类型 automanual
PDF 导出范围 allselected
预览审核状态 pendingapprovedrejected
评论审核/展示状态 已通过评论可在移动端公开展示

7.3 数据约束

编号 需求描述
DATA-001 电子书、章节、用户、评论、评分等数据应具备唯一标识。
DATA-002 电子书删除应支持软删除和回收站恢复。
DATA-003 移动端展示的书刊应过滤未发布和已删除数据。
DATA-004 用户个人数据查询应按当前登录用户隔离。
DATA-005 评论、收藏、标记、阅读历史等个人操作应校验数据归属。
DATA-006 统计数据应记录访问对象、用户、时间和行为类型。
DATA-007 操作日志应记录操作人、操作内容、操作时间和结果。
DATA-008 文件和导出记录应保存可访问地址、状态和关联业务对象。

8. 业务流程需求

8.1 电子书发布流程

  1. 管理员创建电子书基础信息。
  2. 管理员维护分类、封面、简介、阅读方向、下载模式等信息。
  3. 管理员创建章节结构。
  4. 管理员编辑章节内容,可保存草稿或提交正式内容。
  5. 管理员可生成预览链接供外部审阅。
  6. 审阅通过或内容确认后,管理员发布或定时发布电子书。
  7. 移动端用户可在书刊列表和详情页访问已发布书刊。
  8. 如需暂停访问,管理员可下架电子书。
  9. 如需删除,管理员可将电子书移入回收站,并支持恢复或彻底删除。

8.2 移动端阅读流程

  1. 用户进入书刊列表。
  2. 用户筛选或搜索目标书刊。
  3. 用户进入书刊详情。
  4. 系统判断书刊是否 VIP 或是否需要登录。
  5. 用户选择章节进入阅读器。
  6. 阅读器加载章节内容和目录信息。
  7. 用户阅读过程中可切换章节、搜索正文、调整阅读设置、播放 TTS。
  8. 系统记录页面访问、阅读进度和阅读时长。
  9. 用户可进行收藏、评论、评分、下载、分享等互动。

8.3 评论流程

  1. 用户在书刊详情或阅读器发起评论。
  2. 系统校验用户是否登录。
  3. 系统校验用户是否启用、未注销、未禁言。
  4. 系统校验书刊是否允许评论。
  5. 系统校验评论内容长度和合法性。
  6. 评论保存后,符合公开状态的评论可在移动端展示。
  7. 管理端可查询和删除评论。
  8. 用户可在我的评论中删除本人评论。

8.4 用户注销流程

  1. 移动端用户在个人中心发起注销申请。
  2. 系统记录用户注销状态为申请中。
  3. 用户可在审核前撤销注销申请。
  4. 管理员在移动端用户管理中查看注销申请。
  5. 管理员可审核通过或驳回注销申请。
  6. 审核通过后,用户进入已注销状态。
  7. 管理员可根据业务需要重新激活或删除符合条件的用户。

8.5 预览审阅流程

  1. 管理员为电子书生成预览链接和访问密码。
  2. 外部审阅人打开预览链接。
  3. 系统校验链接是否有效和是否过期。
  4. 审阅人输入 4 位密码。
  5. 密码正确后,审阅人查看目录并进入阅读。
  6. 审阅结束后,管理端可对反馈进行通过或拒绝处理。
  7. 拒绝时应记录拒绝意见。

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. 当前已知约束与说明

  1. 本文档基于当前仓库已实现功能整理,不包含未在代码中明确体现的未来规划功能。
  2. 管理端日志导出在界面中存在入口或提示,但若后端/前端未完全实现,应在验收时单独确认。
  3. 短信登录、文件存储、PDF 导出、TTS 等功能依赖运行环境和外部配置,部署验收时需确认配置完整性。
  4. 移动端部分公开接口允许游客访问,但收藏、评论、评分、下载、个人中心等个人能力应以登录态和后端校验为准。
  5. 前端权限控制用于体验优化和入口控制,不能替代后端接口权限校验。
  6. 统计上报属于辅助能力,上报失败不应阻塞阅读主流程,但后台统计完整性依赖客户端成功上报和后端正常入库。
  7. 软著或交付材料使用本文档时,应结合实际著作权人、完成日期、版本号和部署环境信息补充封面页。