数字刊物系统 - 产品需求文档(PRD)
1. 文档信息
| 项目 | 内容 |
|---|---|
| 产品名称 | 数字刊物系统 |
| 版本 | V1.0 |
| 创建日期 | 2026-04-30 |
| 最后更新 | 2026-05-12 |
| 状态 | 评审中 |
2. 产品概述
2.1 背景与目标
提供数字化刊物的创建、管理与阅读能力,将传统纸质刊物转化为适配移动端的在线电子书。通过文档导入、富文本编辑、样式模板、一键排版等工具降低内容制作门槛;通过 AI 助学、全文搜索、PDF 离线下载等功能提升读者阅读体验;通过数据统计帮助运营人员量化内容传播效果。
2.2 目标用户
| 角色 | 描述 | 使用端 |
|---|---|---|
| 读者 | 通过微信或浏览器阅读、下载电子刊物 | 用户端(H5) |
| 内容编辑 | 创建和编辑电子书内容 | 管理端(PC Web) |
| 运营管理员 | 管理书刊上下架、查看数据统计、配置系统 | 管理端(PC Web) |
2.3 访问入口
| 端 | 入口 | 说明 |
|---|---|---|
| 用户端 | 微信公众号菜单栏 | H5 页面,微信内置浏览器打开 |
| 用户端 | Web 端网站链接 | H5 页面,移动/PC 浏览器均可访问 |
| 管理端 | 后台管理系统导航菜单 | PC Web,需管理员账号登录 |
3. 用户端功能需求
3.1 整体架构
用户端采用底部 Tab 导航架构,包含两个主 Tab:
| Tab | 页面 | 说明 |
|---|---|---|
| 书刊 | 书刊列表页 | 默认首页,展示所有已上架书刊 |
| 我的 | 个人中心页 | 登录入口、收藏、标记、评论、阅读记录等个人数据 |
登录策略:
- 浏览书刊列表、查看目录、阅读普通书籍章节内容:无需登录,游客可用
- 阅读 VIP 书籍章节内容:需登录
- 以下操作需登录后才能使用,未登录时点击跳转至「我的」Tab 引导登录:
- 评论
- 内容标记(高亮)
- 书籍收藏 / 章节收藏
- PDF 下载
- AI 助学
3.2 登录与鉴权
| 项目 | 说明 |
|---|---|
| 登录方式 | 手机号 + 短信验证码 |
| 登录入口 | 个人中心页顶部登录区域 |
| 触发时机 | 用户点击需登录的功能时,自动跳转至「我的」Tab 登录页 |
| 会话有效期 | 7天免登录(token 过期后需重新验证) |
| 未登录状态 | 可浏览书刊列表、目录、阅读内容;个人中心显示"请登录"引导 |
3.3 书刊列表页(书刊 Tab)
页面描述: 展示所有已上架的电子书刊列表,作为用户端首页。
展示字段:
- 封面图(缩略图,等比缩放后居中裁剪为 3:4 比例展示)
- 书刊标题
- 分类标签
- 简介(截断显示,最多两行)
排序规则: 按后台设置的排序权重降序,权重相同时按上架时间倒序。
交互逻辑:
- 点击书刊卡片 → 跳转至该书的目录页(3.4)
- 支持按分类筛选
状态说明:
- 空状态:暂无刊物,显示占位提示
- 加载中:骨架屏占位
- 加载失败:提示网络异常,支持点击重试
3.4 书刊目录页
页面描述: 展示某本书的基本信息、章节目录,并提供分享和下载入口。
展示字段:
- 封面图(大图)
- 标题
- 简介
- 目录列表(章节名称,标注各章节序号)
- 收藏按钮(收藏整本书)
- 下载 PDF 按钮(仅当后台开启该书下载权限时显示)
- 分享按钮
交互逻辑:
- 点击目录章节 → 跳转至对应章节内容页(3.5)
- 返回按钮 → 返回书刊列表
- 分享按钮 → 调用微信 JSSDK 分享(已有认证公众号;分享卡片包含:书刊标题、简介前30字、封面缩略图)
- 非微信环境分享 → 降级为「复制链接」模式:点击分享按钮弹出弹窗,展示书刊链接并提供一键复制按钮,提示"链接已复制,可粘贴分享给好友"
- 下载按钮 → 触发 PDF 下载流程(3.7)
3.5 章节内容页
页面描述: 展示具体章节的富文本内容,为核心阅读页面。
支持内容类型:
- 文字(保留排版样式)
- 图片(支持点击放大查看、支持跳转外部链接)
- 表格(响应式展示,支持横向滑动)
- 音频(内嵌播放器,当前页面播放)
- 视频(内嵌播放器,当前页面播放,支持全屏)
交互逻辑:
- 左右滑动 / 上下滑动切换章节(由管理员在书刊编辑信息中配置,默认上下滑动)
- 点击图片 → 放大预览;若图片绑定了外部链接则跳转
- 音频/视频 → 页面内播放,切换章节时自动暂停
- 收藏章节按钮 → 收藏当前章节(需登录)
- 底部常驻全局菜单栏(3.6)
状态说明:
- 章节内容为空时显示"内容编辑中"占位提示
- 音视频加载失败时显示重试按钮
3.6 全局菜单栏
适用范围: 章节内容页底部常驻。
| 菜单 | 功能说明 |
|---|---|
| 目录 | 侧边栏弹出当前书刊所有章节列表,当前章节高亮,点击可跳转 |
| AI 助学 | 弹出对话窗口,基于当前章节内容进行问答(详见 3.8) |
| 搜索 | 全书范围内模糊搜索关键词,结果按章节分组展示,点击跳转并高亮 |
| 字体 | 弹出设置面板:字号调节(14px-24px,拖动滑块)、行间距调节 |
| 下载 | 下载整本 PDF(仅当后台开启下载权限时显示) |
搜索功能详细说明:
- 搜索范围:当前书刊的所有已启用章节(包含章节标题和正文内容)
- 搜索方式:模糊匹配,不区分大小写
- 结果展示:按章节分组,每条结果显示匹配文字的上下文片段(前后各20字),关键词黄色高亮
- 结果排序:按章节顺序排列,同章节内按出现位置排序
- 点击结果:跳转到对应章节的匹配位置,关键词高亮显示 3 秒后渐隐
- 搜索历史:保留最近 10 条搜索记录(存储在本地),可点击快速搜索或清空
- 空结果:提示"未找到相关内容,换个关键词试试"
- 性能要求:10万字以内的书刊搜索响应 < 1s
字体设置说明:
- 设置范围:全局生效,对所有书刊统一应用(非按书刊独立配置)
- 持久化:已登录用户存储在服务端,跨设备同步;游客存储在 localStorage,仅当前设备有效
- 默认值:字号 16px,行间距 1.75 倍
3.7 PDF 下载
功能描述: 支持用户下载整本电子书的 PDF 文件,方便离线阅读。
入口: 书刊目录页下载按钮、章节内容页菜单栏下载按钮。
交互流程:
- 点击下载 → 显示文件大小,确认下载
- 直接下载已预生成的 PDF 文件(无需等待生成)
- 下载失败时提示重试
PDF 内容结构:
- 第一页:书刊封面
- 第二页:PDF 目录(按章节生成,带页码索引,点击可跳转)
- 正文:按章节顺序逐页排列,包含所有已启用章节的完整内容(文字、图片、表格)
- 保留排版样式,按 A4 纵向排版
- 音频/视频内容以二维码形式呈现(扫码可在线播放)
- 二维码指向固定的资源访问地址,书刊下架后二维码仍可访问媒体资源(资源独立于书刊状态);仅当书刊被永久删除时资源才清除
- 文件名格式:「书刊标题.pdf」
生成策略:
- 书刊上架时,服务端自动预生成整本书的 PDF 文件
- PDF 结构:封面页 → 目录页(按章节生成,带页码索引) → 正文(按章节逐页排列)
- 内容变更后自动触发重新生成,生成期间用户下载上一版本
- 用户端仅支持下载整本书(管理端支持按章节勾选导出)
权限控制:
- 后台可按书刊粒度配置下载权限,支持以下模式:
- 免费下载:所有已登录用户均可下载
- 付费下载:用户需付费后方可下载(预留收费扩展接口)
- 关闭下载:不允许用户下载,用户端隐藏下载入口
- 默认为「关闭下载」,需管理员手动开启
- 付费模式下,管理员可设置单本书的下载价格(预留字段,V1.0 暂不实现收费逻辑,仅做权限拦截)
- 用户下载时校验权限:未登录 → 引导登录;无权限 → 提示"暂无下载权限"或展示付费引导
3.8 AI 助学
功能描述: 基于当前阅读章节内容,提供智能问答辅助理解。
交互方式:
- 从菜单栏点击「AI 助学」弹出对话窗口
- 支持文字输入
- 支持语音输入(语音转文字后发送)
- 对话窗口可收起,不影响阅读
AI 上下文范围:
- 默认基于当前章节内容作为上下文
- 用户可手动选中章节内文字后点击「AI 解读」,将选中内容作为提问上下文
约束:
- 单次对话上下文保留最近 10 轮
- 切换章节后对话记录清空
- 接入 DeepSeek 大模型 API
- 单用户每日提问次数限制:20 次(达到上限后提示"今日提问次数已用完,明日重置")
- 每日次数重置时间:北京时间每日 00:00 自然日重置
3.9 阅读进度与标注
功能描述: 记录用户阅读进度,支持用户对内容进行标记和评论。
3.9.1 阅读进度记忆
- 自动记录用户当前阅读位置(书刊 + 章节 + 滚动位置)
- 用户再次打开同一本书时,自动弹出提示:"上次阅读到「第X章 章节名」,是否继续?"
- 选择「继续」跳转到上次位置,选择「从头开始」回到第一章
- 每本书独立记录进度
存储策略:
- 已登录用户:阅读进度存储在服务端,跨设备同步
- 未登录游客:阅读进度存储在浏览器 localStorage,仅当前设备有效,清除浏览器数据后丢失
- 游客登录后:本地进度自动同步至服务端(若服务端已有更新的进度则以服务端为准)
3.9.2 内容标记
- 用户可长按选中文字后进行高亮标记(支持多种颜色)
- 标记内容持久保存,下次打开仍可见
- 支持查看"我的标记"列表,按书刊和章节分组展示
- 点击标记项可跳转到对应位置
3.9.3 用户评论
- 章节内容页底部提供评论区入口
- 用户可对当前章节发表评论(文字,200字以内)
- 评论列表按时间倒序展示,显示用户昵称(手机号脱敏)、评论时间、内容
- 管理端可查看和管理所有评论(删除违规内容)
评论审核策略:
- 采用「先发后审」模式:评论提交后立即展示,管理员事后审核删除违规内容
- 敏感词过滤:提交时自动检测敏感词,命中则拦截并提示"评论包含违规内容,请修改后重新提交"
- 敏感词库由管理员在系统配置中维护(V1.4实现)
- 评论被管理员删除后,发表者在「我的评论」中看到状态变为"已被删除"(不展示删除原因)
3.9.4 书籍收藏
- 在书刊目录页点击「收藏」按钮,将整本书加入收藏(需登录)
- 已收藏的书显示实心收藏图标,再次点击取消收藏
- 收藏数据在个人中心「我的收藏」中统一管理
3.9.5 章节收藏
- 在章节内容页点击「收藏章节」按钮,收藏当前章节(需登录)
- 已收藏的章节显示实心收藏图标,再次点击取消
- 收藏数据在个人中心「我的收藏」中按书刊分组展示
3.10 个人中心(我的 Tab)
页面描述: 用户个人数据管理中心,承载登录入口和所有需要用户身份的功能数据。
3.10.1 未登录状态
- 页面顶部显示头像占位 + "请登录"按钮
- 点击后展开手机号+验证码登录表单
- 登录成功后刷新页面,展示用户信息和功能入口
3.10.2 已登录状态
用户信息区:
- 头像(默认头像)
- 手机号(中间四位脱敏显示)
- 退出登录按钮
- 注销账号入口
功能入口列表:
| 入口 | 说明 |
|---|---|
| 我的收藏 | 查看收藏的书籍和章节(3.10.3) |
| 我的标记 | 查看所有高亮标记内容(3.10.4) |
| 我的评论 | 查看自己发表的所有评论(3.10.5) |
| 阅读历史 | 查看最近阅读记录(3.10.6) |
| 我的下载 | 查看已下载的 PDF 记录(3.10.7) |
| 注销账号 | 申请注销账号并删除个人数据(3.10.8) |
| 用户协议 | 查看用户服务协议 |
| 隐私政策 | 查看隐私保护政策 |
3.10.3 我的收藏
- 分为「书籍收藏」和「章节收藏」两个子 Tab
- 书籍收藏:列表展示已收藏书刊(封面、标题、收藏时间),点击进入目录页
- 章节收藏:按书刊分组展示已收藏章节,点击跳转到对应章节
- 支持取消收藏(左滑删除或长按操作)
- 空状态提示:"暂无收藏,去书刊列表看看吧"
3.10.4 我的标记
- 按书刊和章节分组展示所有高亮标记
- 每条标记显示:标记文字内容(截断)、标记颜色、所属章节、标记时间
- 点击标记项 → 跳转到对应章节的标记位置
- 支持删除标记
3.10.5 我的评论
- 列表展示用户发表的所有评论
- 每条显示:评论内容、所属书刊/章节、发表时间
- 点击评论 → 跳转到对应章节评论区
- 支持删除自己的评论
3.10.6 阅读历史
- 按时间倒序展示最近阅读记录
- 每条显示:书刊封面、标题、最后阅读章节、阅读时间
- 点击 → 跳转到上次阅读位置(继续阅读)
- 支持清空阅读历史
3.10.7 我的下载
- 展示用户已下载的 PDF 记录
- 每条显示:书刊标题、下载时间、文件大小
- 提供重新下载入口(若 PDF 已更新则下载最新版本)
3.10.8 注销账号
- 入口:个人中心底部「注销账号」
- 点击后展示注销须知:注销后所有数据将被永久删除,包括收藏、标记、评论、阅读记录等,且不可恢复
- 用户确认后需重新验证手机号(发送验证码确认身份)
- 验证通过后进入 7 天冷静期:期间账号正常可用,7 天内重新登录可取消注销
- 冷静期结束后系统自动执行:删除用户所有个人数据、匿名化评论记录(保留内容但用户标识改为"已注销用户")
- 注销完成后手机号释放,可重新注册
3.11 VIP 书籍访问控制
功能描述: 管理端可将书籍设置为 VIP 类型,VIP 书籍需要用户登录后才能阅读内容。
用户端表现:
- 书刊列表页:VIP 书籍卡片显示「VIP」角标
- 目录页:VIP 书籍可正常查看封面、简介和目录结构
- 章节内容页:未登录用户点击 VIP 书籍的章节时,弹出登录引导(跳转个人中心登录)
- 登录后可正常阅读 VIP 书籍内容(后期可扩展为付费/会员制)
普通书籍 vs VIP 书籍:
| 对比项 | 普通书籍 | VIP 书籍 |
|---|---|---|
| 浏览列表/目录 | 无需登录 | 无需登录 |
| 阅读章节内容 | 无需登录 | 需登录 |
| 评论/标记/收藏 | 需登录 | 需登录 |
| 下载 PDF | 需登录 + 权限 | 需登录 + 权限 |
| 列表标识 | 无 | 显示 VIP 角标 |
4. 管理端功能需求
说明: 数字刊物管理为后台管理系统中的独立模块。
4.1 模块导航
后台登录后,在导航菜单中展示以下顶级模块:
电子书管理:
- 我的作品
- 新建电子书
- 分类管理
- 评论管理
- 数据统计
- PDF 导出管理
系统管理:
- 管理端用户管理
- 移动端用户管理
- 角色管理
- 操作日志
- 系统配置
4.2 我的作品
页面描述: 展示当前管理员创建的所有电子书列表,支持管理操作。
筛选条件:
- 排序:创建时间 / 修改时间(升序/降序)
- 状态:全部 / 已上架 / 已下架 / 待上架 / 草稿
- 书籍类型:全部 / 普通 / VIP
- 年份:下拉选择
- 分类:下拉选择(来源于分类管理配置)
列表字段:
| 字段 | 说明 |
|---|---|
| 封面 | 缩略图展示 |
| 标题 | 书刊名称 |
| 类型 | 普通 / VIP |
| 分类 | 所属分类标签 |
| 状态 | 已上架 / 已下架 / 待上架 / 草稿 |
| 创建时间 | 首次创建时间 |
| 最新修改时间 | 最后一次编辑时间 |
| 操作 | 见下方操作按钮说明 |
操作按钮:
| 操作 | 说明 |
|---|---|
| 编辑信息 | 弹窗修改封面、标题、简介、分类、排序权重 |
| 目录编辑 | 跳转目录编辑页(4.5) |
| 生成预览 | 生成预览链接供业务人员确认(4.7) |
| 查看数据 | 跳转该书的数据统计详情(4.8.2) |
| 导出 PDF | 导出该书为 PDF 文件(4.9) |
| 上架/下架 | 切换书刊可见状态;支持设置定时上架时间 |
| 删除 | 二次确认后软删除,可在回收站恢复 |
书刊状态机:
┌─────────────────────────────┐
│ ▼
[新建] ──→ 草稿 ──→ 已上架 ←──→ 已下架
│ ▲ │
│ │ │
▼ │ ▼
待上架 ──────┘ 已删除(回收站)
(定时到达) │
▼
永久删除(30天后)
| 当前状态 | 可执行操作 | 目标状态 |
|---|---|---|
| 草稿 | 立即上架 | 已上架 |
| 草稿 | 定时上架 | 待上架 |
| 草稿 | 删除 | 已删除(回收站) |
| 待上架 | 定时到达自动触发 | 已上架 |
| 待上架 | 取消定时 | 草稿 |
| 待上架 | 删除 | 已删除(回收站) |
| 已上架 | 下架 | 已下架 |
| 已下架 | 重新上架 | 已上架 |
| 已下架 | 定时上架 | 待上架 |
| 已下架 | 删除 | 已删除(回收站) |
| 已删除 | 恢复 | 已下架 |
| 已删除 | 永久删除(30天自动) | 彻底清除 |
状态规则:
- 草稿状态的书刊对用户端不可见
- 仅「已上架」状态的书刊在用户端展示
- 已下架的书刊保留所有数据,可随时重新上架
- 删除操作为软删除,进入回收站,30天后自动永久删除
- 编辑操作(编辑信息、目录编辑、内容编辑)在任何非删除状态下均可执行
定时上架:
- 点击「上架」时可选择「立即上架」或「定时上架」
- 定时上架需设置具体日期和时间(精确到分钟)
- 设置后书刊状态显示为"待上架(2026-06-01 09:00)"
- 到达设定时间后系统自动上架,对用户端可见
- 定时任务可随时取消或修改时间
回收站:
- 入口:「我的作品」页面顶部提供「回收站」入口按钮
- 展示所有已软删除的书刊,列表字段:标题、删除时间、删除人、剩余保留天数
- 操作:恢复(恢复后状态为「已下架」)、永久删除(二次确认)
- 自动清理:删除超过 30 天的书刊自动永久删除,不可恢复
- 永久删除后,该书刊的所有关联数据(章节内容、统计数据、评论、PDF文件)一并清除
- 数据范围:遵循角色的数据范围配置,「仅本人数据」只能看到自己删除的书刊
4.3 新建电子书
页面描述: 创建一本新的电子书,填写基础信息。
表单字段:
| 字段 | 类型 | 规则 |
|---|---|---|
| 封面图片 | 图片上传 | 必填,尺寸要求 1080 x 1920px,支持 JPG/PNG,≤5MB |
| 标题 | 文本输入 | 必填,50字以内 |
| 简介 | 多行文本 | 选填,300字以内 |
| 分类 | 下拉选择 | 必填,来源于分类管理配置 |
| 年份 | 下拉选择 | 必填,默认当前年份 |
| 排序权重 | 数字输入 | 选填,数值越大在用户端列表中越靠前,默认0 |
| 书籍类型 | 单选 | 普通 / VIP,默认普通;VIP 类型需用户登录后才能阅读内容 |
| 允许下载 | 下拉选择 | 下载权限模式:关闭下载 / 免费下载 / 付费下载,默认关闭 |
| 阅读方向 | 单选 | 上下滑动 / 左右滑动,默认上下滑动;控制用户端章节切换方向 |
交互逻辑:
- 提交成功后 → 书刊状态为「草稿」,自动跳转至「目录编辑」页面(4.5)
- 草稿状态的书刊对用户端不可见,需手动上架
4.4 分类管理
页面描述: 管理电子书的分类标签,供新建和筛选时使用。
功能:
- 新增分类(名称,20字以内)
- 编辑分类名称
- 删除分类(已关联书刊的分类不可删除,需先解除关联)
- 拖拽排序(控制下拉列表中的展示顺序)
4.5 目录编辑
页面描述: 管理电子书的章节目录结构。
入口:
- 新建电子书提交成功后自动进入
- 我的作品列表 → 点击「目录编辑」
功能:
- 新增章节
- 修改章节名称
- 删除章节(二次确认,同时删除该章节下的内容)
- 拖拽排序(调整章节顺序)
章节字段:
| 字段 | 规则 |
|---|---|
| 章节名称 | 文字输入,100字以内,必填 |
| 排序 | 支持拖拽调整,也可手动输入序号 |
| 状态 | 启用/禁用,禁用的章节用户端不展示 |
操作:
- 每个章节右侧提供「编辑内容」按钮 → 进入内容编辑(4.6)
- 章节内容为空时显示「未编辑」标记
4.6 内容编辑
页面描述: 编辑具体章节的富文本内容,为核心编辑功能。
入口:
- 目录编辑页 → 点击某章节「编辑内容」
自动保存: 编辑过程中每 30 秒自动保存草稿,页面顶部显示"已自动保存"时间戳。手动点击「保存」可立即保存。
协同编辑规则:
- 支持多人同时编辑同一本书的不同章节
- 同一章节同一时间仅允许一人编辑(章节级锁定)
- 当章节被他人编辑时,显示"XXX 正在编辑"提示,「编辑内容」按钮置灰
- 编辑者退出编辑页面或超过 5 分钟无操作时自动释放锁定
- 管理员可在目录编辑页强制解锁(用于异常情况)
4.6.1 富文本编辑器
基础编辑能力:
- 文字编辑:加粗、斜体、下划线、删除线、字体颜色、背景色、对齐方式
- 段落:标题层级(H1-H4)、有序列表、无序列表、引用块
- 插入:图片、音频、视频、表格、分割线、外部链接
- 操作:撤销、重做、全选、清除格式
媒体上传规则:
| 类型 | 格式 | 大小限制 |
|---|---|---|
| 图片 | JPG / PNG / WebP / GIF | 单张 ≤ 10MB |
| 音频 | MP3 / WAV / AAC | 单个 ≤ 100MB |
| 视频 | MP4 / MOV / AVI / MKV | 单个 ≤ 500MB |
视频转码:
- 上传后服务端自动转码为 H.264 编码 MP4 格式,确保全平台兼容
- 转码过程异步执行,完成前显示"处理中"状态
- 转码完成后自动替换为转码后的文件,编辑器内可正常预览播放
参考产品: 135编辑器
4.6.2 文档导入
支持管理员直接导入已有文档,系统自动解析并高保真转换为章节内容,适配移动端阅读。
支持格式:
| 格式 | 解析说明 |
|---|---|
| Word(.doc/.docx) | 解析标题层级、正文段落、图片、表格,保留加粗/斜体/颜色等文字样式 |
| Excel(.xls/.xlsx) | 将表格内容转换为移动端自适应表格组件,支持横向滑动查看 |
| PPT(.ppt/.pptx) | 逐页解析为独立内容块,保留文字、图片、布局;仅保留静态内容,忽略动画和过渡效果 |
| PDF(.pdf) | 解析文字和图片内容;纯图片型 PDF 通过 OCR 识别文字后导入,提供人工校对入口 |
导入流程:
- 点击编辑器工具栏「导入文档」按钮,选择本地文件
- 上传完成后进入解析预览页(独立页面)
- 预览页展示解析结果,管理员可逐段确认、修改、删除、调整顺序
- 点击「确认导入」将内容追加到当前编辑器(不覆盖已有内容)
- 导入后可继续使用样式选择和一键排版进行美化
OCR 校对(针对纯图片型 PDF):
- OCR 识别完成后进入校对模式:左侧显示原始图片,右侧显示识别文字
- 识别置信度低于 90% 的文字段落标红提示,供管理员重点核对
- 管理员可直接在右侧修改识别结果
- 校对完成后点击「确认」进入常规预览流程
高保真转换规则:
| 原始元素 | 转换结果 |
|---|---|
| 标题(H1-H6) | 保留层级,映射为编辑器对应标题格式 |
| 正文段落 | 保留字体样式(加粗、斜体、颜色、字号) |
| 图片 | 提取并上传至系统存储,保持原始比例,自适应移动端宽度 |
| 表格 | 转换为响应式表格,窄屏时支持横向滚动 |
| 列表(有序/无序) | 保留列表结构和层级缩进 |
| 超链接 | 保留链接地址和锚文本 |
| 页眉/页脚/页码 | 自动过滤,不导入 |
| 批注/修订记录 | 自动过滤,不导入 |
| 目录索引 | 自动过滤,不导入 |
移动端适配处理:
- 图片宽度自适应屏幕,超宽图片等比缩放至100%容器宽度
- 表格超出屏幕宽度时启用横向滑动,表头固定
- PPT 内容按页拆分为卡片式布局
- 正文字号统一不小于 14px
约束与限制:
- 单文件大小上限:50MB
- 单次最多导入 1 个文件(避免内容混乱)
- 导入为追加模式,不覆盖编辑器已有内容
- 若编辑器中已有内容,导入前弹出选择:"追加到末尾"或"清空后导入",默认追加
- 导入后内容与源文件解耦,后续修改互不影响
- 复杂排版(多栏布局、艺术字、SmartArt、图表)降级为截图+文字形式
- 加密/受保护文档无法导入,提示用户解除保护后重试
4.6.3 样式选择
在编辑器内选中文字或图片后,可从样式面板选择预设样式进行替换。替换样式后,文字内容仍可继续编辑。
标题样式:
| 样式名称 | 说明 | 适用场景 |
|---|---|---|
| 章节标题 | 带背景色的大标题(蓝色/红色可选) | 一级大标题 |
| 编号标题 | 带中文编号前缀(一、二、三...) | 二级标题 |
| 纯序号 | 带数字序号前缀(1、2、3...) | 三级标题 |
图文样式:
| 样式名称 | 说明 | 适用场景 |
|---|---|---|
| 双图 | 两张图片并排展示(各占50%宽度) | 对比展示 |
| 三图 | 三张图片排列展示(各占33%宽度) | 多图并列 |
| 滑动图片 | 横向滑动浏览(适合3张以上图片) | 图片集/画廊 |
使用规则:
- 样式仅改变视觉呈现,不改变内容本身
- 同一段内容只能应用一种样式,重复选择会覆盖
- 可通过「清除样式」恢复为默认格式
4.6.4 一键排版
选择排版模板后,系统根据编辑器内的文字内容自动识别结构并批量应用样式。
前置条件: 编辑器内已有文字内容(手动输入或文档导入均可)。
操作流程:
- 点击工具栏「一键排版」按钮
- 选择一个排版模板(模板预览色系和风格)
- 系统自动分析内容结构并应用样式
- 生成排版预览,管理员确认或撤销
自动匹配规则:
| 匹配条件 | 应用样式 |
|---|---|
| 文本以「第X章」「第X节」开头 | 章节标题样式 |
| 文本以「一、」「二、」「三、」等开头 | 编号标题样式 |
| 文本以「1、」「2、」「3、」等开头 | 纯序号标题样式 |
| 连续 2 张图片 | 双图样式 |
| 连续 3 张图片 | 三图样式 |
| 连续 3 张以上图片 | 滑动图片样式 |
| 其余正文段落 | 统一正文样式 |
正文统一样式:
- 字号:16px
- 字体:微软雅黑
- 行间距:1.75倍
- 段间距:段前0、段后0
- 首行缩进:2字符
约束:
- 一键排版为全量覆盖操作,会替换当前所有手动样式设置
- 操作前弹出确认提示:"一键排版将覆盖当前样式设置,是否继续?"
- 支持一键撤销(Ctrl+Z),恢复排版前状态
- 同一模板内标题样式保持同色系
模板管理:
- V1.0 提供 3-5 套预设排版模板(不同色系和风格)
- 后续版本支持管理员自定义模板(选择标题样式、图文样式、正文参数组合保存为新模板)
4.6.5 保存与提交
| 操作 | 说明 |
|---|---|
| 自动保存 | 每 30 秒自动保存为草稿,页面顶部显示"已自动保存"时间戳 |
| 手动保存 | 点击「保存」按钮,立即保存当前编辑内容 |
| 提交 | 点击「提交」按钮,保存内容并返回目录编辑页(4.5) |
| 预览 | 点击「预览」按钮,以移动端视角预览当前章节效果(新窗口) |
4.7 预览与审核
功能描述: 电子书编辑完成后,支持生成预览链接供相关业务人员在线确认内容和格式,无需登录管理端即可查看。
入口:
- 我的作品列表 → 操作栏「生成预览」按钮
- 目录编辑页 → 顶部「预览整书」按钮
预览模式:
| 类型 | 说明 |
|---|---|
| 单章节预览 | 内容编辑页点击「预览」,仅预览当前章节 |
| 整书预览 | 生成完整的电子书预览,包含所有章节(含禁用章节,标注"未启用") |
预览链接:
- 点击「生成预览链接」后,系统生成一个独立的预览 URL
- 生成时需设置 4 位数字访问密码,打开链接后需输入密码方可查看
- 密码错误 5 次后锁定该链接 30 分钟(防暴力破解)
- 预览链接可复制分享给业务人员(无需登录管理端即可访问)
- 链接有效期:72 小时(到期后自动失效,可重新生成)
- 预览页面顶部显示醒目的"预览模式"水印标识,与正式版区分
- 预览页面展示效果与用户端正式版完全一致(移动端排版)
审核反馈:
- 预览页面底部提供「通过」「需修改」按钮
- 点击「需修改」可输入修改意见(文字,500字以内)
- 修改意见自动同步到管理端,在对应书刊的操作栏显示红点提醒
- 管理员可在「审核记录」中查看所有反馈意见及处理状态
审核与上架关系:
- 审核为可选流程,不作为上架的强制前置条件
- 书刊可在未经审核的情况下直接上架(适用于紧急发布场景)
- 若已生成预览并收到"需修改"反馈,上架时弹出提示:"该书刊有未处理的审核意见,是否仍要上架?",管理员确认后可继续上架
- 审核状态流转:待审核 → 已通过 / 需修改 → 已修改(编辑内容后自动更新) → 可重新生成预览链接发起新一轮审核
- 每次重新生成预览链接视为新一轮审核,历史审核记录保留可追溯
预览记录:
| 字段 | 说明 |
|---|---|
| 生成时间 | 预览链接创建时间 |
| 生成人 | 操作的管理员 |
| 预览链接 | 可复制的 URL |
| 有效期 | 到期时间 |
| 访问次数 | 该链接被打开的次数 |
| 审核状态 | 待审核 / 已通过 / 需修改 |
| 审核意见 | 业务人员填写的反馈内容 |
4.8 数据统计
页面描述: 展示电子书的用户访问数据,帮助运营人员了解内容传播效果。
入口:
- 导航菜单 → 数据统计(查看全局数据)
- 我的作品列表 → 点击「查看数据」(查看单书数据)
4.8.1 总览面板
核心指标卡片:
| 指标 | 说明 |
|---|---|
| 总访问量(PV) | 所有书刊的累计页面浏览次数 |
| 独立访客数(UV) | 按用户去重的访问人数 |
| 今日新增访问 | 当天 PV / UV |
| 总下载次数 | PDF 下载累计次数 |
| 总分享次数 | 分享操作累计次数 |
| AI 助学调用次数 | AI 对话累计次数 |
图表:
- 访问趋势折线图(PV/UV 双轴,按日/周/月切换)
- 书刊访问量 TOP10 排行柱状图
- 分类访问量占比饼图
时间筛选: 今日 / 近7天 / 近30天 / 自定义区间
4.8.2 单书统计
| 指标 | 说明 |
|---|---|
| 访问量(PV/UV) | 该书的浏览数据 |
| 章节热度排行 | 各章节访问量排序,识别热门/冷门内容 |
| 平均阅读时长 | 用户在该书上的平均停留时间 |
| 阅读完成率 | 阅读到最后一章的用户占比 |
| 下载次数 | 该书 PDF 被下载的次数 |
| 分享次数 | 该书被分享的次数 |
| 访问趋势图 | 按日/周维度展示访问量折线图 |
| 来源渠道 | 微信 / 浏览器直接访问 / 分享链接进入 的占比 |
阅读时长计算规则:
- 统计口径:页面可见状态下的停留时间(切后台、锁屏、切换Tab不计入)
- 离开判定:用户关闭页面、切换到其他书刊、或页面不可见超过 5 分钟视为本次阅读结束
- 异常值处理:单次阅读时长超过 2 小时的记录不纳入平均值计算(视为异常挂机)
- 平均值计算:所有有效阅读记录的时长总和 ÷ 有效阅读次数
4.8.3 用户行为明细
| 字段 | 说明 |
|---|---|
| 时间 | 行为发生的具体时间 |
| 用户标识 | 手机号(中间四位脱敏:138****5678) |
| 书刊名称 | 访问的书刊 |
| 章节名称 | 访问的具体章节 |
| 停留时长 | 本次访问的停留时间 |
| 行为类型 | 阅读 / 下载 / 分享 / AI提问 |
筛选: 时间范围、书刊、行为类型
导出: 支持导出为 Excel(.xlsx),最多导出近 90 天数据
数据保留策略:
- 明细数据保留 1 年,超过 1 年的数据自动归档
- 归档数据不再支持在线查询,可申请导出历史归档包
- 汇总统计数据(PV/UV/下载/分享总量)永久保留
4.9 PDF 导出管理
页面描述: 管理书刊 PDF 的生成和用户端下载权限。
预生成机制(用户端下载用):
- 书刊上架时自动触发整本书 PDF 预生成
- PDF 结构:封面页 → 目录页(按章节生成,带页码) → 正文内容(按章节逐页排列)
- 内容更新后自动重新生成,生成期间用户下载上一版本
- 用户端仅支持下载整本书 PDF
PDF 重新生成触发规则:
- 触发条件:已上架书刊的章节内容被「提交」时触发(非每次自动保存)
- 防抖机制:内容提交后延迟 10 分钟再触发生成(合并短时间内的多次提交)
- 生成队列:多本书同时触发时按队列顺序执行,避免服务器资源过载
- 生成期间用户下载上一版本,生成完成后自动切换为新版本
管理端手动导出(存档/分发用):
- 在「我的作品」列表中,每本书提供「导出 PDF」操作
- 导出时可选择:全部章节 / 勾选指定章节
- 勾选章节导出时,PDF 目录仅包含所选章节,正文按所选章节顺序排列
- 导出完成后提供下载链接
用户端下载权限配置:
- 在书刊编辑信息中配置下载权限模式:
- 关闭下载:用户端不显示下载入口
- 免费下载:已登录用户可直接下载
- 付费下载:预留收费扩展,当前版本显示"暂未开放"提示(后期对接支付)
- 后期收费扩展方向:单本付费、会员免费下载、下载券等(V2.0 规划)
生成记录:
| 字段 | 说明 |
|---|---|
| 生成时间 | PDF 生成完成的时间 |
| 触发方式 | 自动(上架/内容更新) / 手动导出 |
| 操作人 | 管理员账号(手动导出时记录) |
| 书刊名称 | 对应的书刊 |
| 导出范围 | 全部章节 / 指定章节列表 |
| 文件大小 | 生成的 PDF 文件大小 |
| 页数 | PDF 总页数 |
| 状态 | 已生成 / 生成中 / 生成失败 |
4.10 评论管理
页面描述: 管理用户在章节内容页发表的评论。
列表字段:
| 字段 | 说明 |
|---|---|
| 评论时间 | 用户发表评论的时间 |
| 用户标识 | 手机号(脱敏显示) |
| 书刊名称 | 评论所属书刊 |
| 章节名称 | 评论所属章节 |
| 评论内容 | 用户发表的文字内容 |
| 状态 | 正常 / 已删除 |
功能:
- 按书刊、章节、时间范围筛选
- 删除违规评论(软删除,用户端不再展示)
- 批量删除
- 支持关键词搜索评论内容
4.11 系统管理
说明: 独立顶级导航模块,用于管理系统用户、角色和权限配置。仅超级管理员默认拥有全部系统管理权限,其他角色需授权后方可访问。
4.11.1 管理端用户管理
页面描述: 管理后台系统的管理员账号,支持创建、编辑、分配角色等操作。
列表字段:
| 字段 | 说明 |
|---|---|
| 用户名 | 登录账号 |
| 姓名 | 真实姓名 |
| 角色 | 已分配的角色(可多个,逗号分隔显示) |
| 状态 | 启用 / 禁用 |
| 创建时间 | 账号创建时间 |
| 最后登录时间 | 最近一次登录时间 |
| 操作 | 编辑 / 分配角色 / 重置密码 / 启用/禁用 |
新增用户表单:
| 字段 | 类型 | 规则 |
|---|---|---|
| 用户名 | 文本 | 必填,4-20位字母数字下划线,不可重复 |
| 姓名 | 文本 | 必填,20字以内 |
| 密码 | 密码 | 必填,≥8位,含大小写字母+数字 |
| 手机号 | 文本 | 选填,用于接收系统通知 |
| 角色 | 多选下拉 | 必填,至少分配一个角色 |
功能操作:
- 编辑:修改姓名、手机号(用户名创建后不可修改)
- 分配角色:弹窗勾选角色,支持多选,保存后立即生效
- 重置密码:生成随机密码或设置指定密码,重置后强制用户下次登录修改
- 启用/禁用:禁用后该账号无法登录,已有会话立即失效
- 筛选:按角色、状态筛选
约束:
- 超级管理员账号不可被禁用(系统至少保留一个可用的超级管理员)
- 不可删除用户,仅支持禁用(保留操作审计记录)
4.11.2 移动端用户管理
页面描述: 查看和管理通过移动端注册的用户,支持查看用户行为数据和账号状态管理。
列表字段:
| 字段 | 说明 |
|---|---|
| 手机号 | 注册手机号(中间四位脱敏) |
| 注册时间 | 首次登录/注册时间 |
| 最后登录时间 | 最近一次登录时间 |
| 状态 | 正常 / 已禁用 |
| 阅读书刊数 | 累计阅读过的书刊数量 |
| 评论数 | 累计发表的评论数 |
| 操作 | 查看详情 / 启用/禁用 |
筛选条件:
- 注册时间范围
- 状态:全部 / 正常 / 已禁用
- 手机号搜索(支持模糊搜索后四位)
用户详情页:
| 模块 | 内容 |
|---|---|
| 基本信息 | 手机号、注册时间、最后登录时间、状态、登录次数 |
| 阅读数据 | 阅读过的书刊列表、各书阅读进度、总阅读时长 |
| 收藏数据 | 书籍收藏列表、章节收藏列表 |
| 标记数据 | 高亮标记数量和列表 |
| 评论数据 | 发表的评论列表(可在此直接删除违规评论) |
| 下载记录 | PDF 下载历史 |
| AI 使用 | AI 助学提问次数统计 |
操作:
- 启用/禁用:禁用后用户无法登录移动端,已有 token 立即失效
- 禁用时需填写禁用原因(内部记录,不展示给用户)
- 批量禁用:支持勾选多个用户批量操作
4.11.3 角色管理
页面描述: 管理系统角色,支持动态创建角色并配置权限。
列表字段:
| 字段 | 说明 |
|---|---|
| 角色名称 | 角色的显示名称 |
| 角色描述 | 角色用途说明 |
| 类型 | 预置 / 自定义 |
| 关联用户数 | 当前分配了该角色的用户数量 |
| 创建时间 | 角色创建时间 |
| 操作 | 编辑 / 配置权限 / 删除 |
新增/编辑角色表单:
| 字段 | 类型 | 规则 |
|---|---|---|
| 角色名称 | 文本 | 必填,20字以内,不可重复 |
| 角色描述 | 多行文本 | 选填,100字以内 |
配置权限:
- 点击「配置权限」进入权限分配页面
- 以树形结构展示所有权限项(参见 6.4.2 权限树)
- 支持按模块全选/取消全选
- 勾选父级菜单权限时,自动勾选其下所有操作权限
- 取消父级菜单权限时,自动取消其下所有操作权限
- 保存后立即生效,已登录用户下次请求时按新权限校验
约束:
- 预置角色不可删除,超级管理员角色的权限不可修改
- 删除自定义角色前,若有关联用户,弹出提示要求先解除关联
- 支持「复制角色」快捷操作:基于已有角色的权限配置创建新角色
4.11.4 操作日志
页面描述: 记录管理端关键操作的审计日志,便于追溯和安全审计。
记录范围:
- 用户管理操作(创建/禁用/启用/重置密码/分配角色)
- 角色管理操作(创建/编辑/删除/权限变更)
- 书刊管理操作(创建/上架/下架/删除/恢复)
- 内容操作(文档导入、一键排版)
- 评论删除操作
- 移动端用户禁用/启用操作
- PDF 导出操作
- 预览链接生成操作
- 登录/登出操作(记录登录时间、IP、设备信息)
列表字段:
| 字段 | 说明 |
|---|---|
| 操作时间 | 精确到秒 |
| 操作人 | 执行操作的管理员账号 |
| 操作类型 | 操作分类(用户管理/角色管理/内容管理等) |
| 操作内容 | 具体操作描述(如:"禁用移动端用户 138****5678") |
| IP 地址 | 操作者的 IP |
功能:
- 按操作类型、操作人、时间范围筛选
- 支持导出为 Excel
- 日志保留 1 年,超期自动归档
4.11.5 系统配置
页面描述: 管理系统级可配参数,避免硬编码,支持运营灵活调整。
| 配置项 | 默认值 | 说明 |
|---|---|---|
| AI 助学每日提问上限 | 20次 | 单用户每日可提问次数 |
| 预览链接有效期 | 72小时 | 预览链接过期时间 |
| 回收站保留天数 | 30天 | 软删除书刊的保留时间 |
| 评论字数上限 | 200字 | 用户单条评论最大字数 |
| 用户注销冷静期 | 7天 | 注销申请后的等待天数 |
| PDF 重新生成延迟 | 10分钟 | 内容提交后触发PDF生成的防抖时间 |
操作:
- 修改配置后立即生效(部分配置如PDF延迟需下次触发时生效)
- 所有配置修改记录到操作日志
- 仅超级管理员可访问系统配置页面
5. 非功能需求
5.1 性能要求
| 场景 | 指标 |
|---|---|
| 用户端首屏加载 | < 2s(4G网络) |
| 章节切换 | < 1s |
| 图片加载 | 懒加载 + 渐进式加载 + CDN 加速 |
| 音视频播放 | 流式加载,3s 内开始播放 |
| PDF 生成 | < 30s(100页以内) |
| 文档导入解析 | < 60s(50MB 以内文件) |
| 管理端页面加载 | < 3s |
| 并发能力 | 支持 1000+ 用户同时在线阅读 |
5.2 兼容性要求
| 平台 | 要求 |
|---|---|
| 微信内置浏览器 | iOS 14+ / Android 8+ |
| 移动端 Safari | iOS 14+ |
| 移动端 Chrome | Android 8+ |
| 移动端 Firefox | 最新两个大版本(兼容但非首要适配目标) |
| 管理端浏览器 | Chrome 90+、Edge 90+ |
| 屏幕适配 | 用户端适配 320px-428px 宽度;管理端最小宽度 1280px |
5.3 安全要求
5.3.1 身份认证
| 类别 | 要求 |
|---|---|
| 管理端认证 | 账号 + 密码登录,密码强度要求:≥8位,含大小写字母+数字;连续输错3次后需输入图形验证码 |
| 移动端认证 | 手机号 + 短信验证码登录/注册(首次登录自动注册) |
| 登录终端限制 | 移动端注册用户仅可登录移动端(H5),管理端用户不限终端 |
| 接口鉴权 | 所有 API 需携带有效 token,过期返回 401,token 中携带用户类型标识 |
5.3.2 短信验证码安全策略
| 规则 | 说明 |
|---|---|
| 发送频率 | 同一手机号 60 秒内仅可发送 1 次 |
| 单日上限 | 同一手机号每日最多发送 10 条验证码 |
| 验证码有效期 | 5 分钟内有效,过期需重新获取 |
| 错误次数限制 | 连续输错 5 次后锁定 15 分钟,期间不可重新发送 |
| IP 限制 | 同一 IP 每小时最多请求 20 次验证码(防刷) |
5.3.3 账号与会话管理
| 类别 | 要求 |
|---|---|
| 管理端会话 | token 有效期 8 小时,超时需重新登录 |
| 移动端会话 | token 有效期 7 天,过期后需重新验证手机号 |
| 并发登录 | 管理端同一账号允许单设备登录,新登录踢出旧会话;移动端允许多设备同时在线 |
| 密码错误锁定 | 管理端连续输错密码 5 次,账号锁定 30 分钟 |
| 账号封禁 | 管理员可在后台禁用任意用户账号(管理端/移动端),被禁用账号 token 立即失效,登录时提示"账号已被禁用,请联系管理员" |
| 操作审计 | 管理端关键操作(角色变更、权限修改、账号禁用)记录操作日志,保留 1 年 |
5.3.4 权限控制
| 类别 | 要求 |
|---|---|
| 权限模型 | 基于 RBAC(用户-角色-权限),支持动态配置 |
| 权限粒度 | 菜单可见性 + 操作级按钮控制 |
| 前端控制 | 根据当前用户角色动态渲染导航菜单和操作按钮 |
| 后端校验 | 每个 API 接口独立校验调用者权限,前端隐藏不代替后端鉴权 |
| 超级管理员 | 拥有所有权限,不受权限配置影响,系统至少保留一个超级管理员 |
| 终端隔离 | 接口层校验 token 中的用户类型,移动端 token 无法调用管理端 API |
5.3.5 其他安全要求
| 类别 | 要求 |
|---|---|
| 文件上传 | 校验文件类型(白名单)、大小、内容(防止恶意文件) |
| 数据脱敏 | 用户手机号在统计页面和评论列表脱敏展示 |
| 外部链接 | 跳转前弹出安全提示,告知即将离开当前页面 |
| 防盗链 | 图片/音视频资源启用防盗链,仅允许授权域名访问 |
| 预览链接 | 有效期限制 + 4位密码保护 + 不可被搜索引擎索引 |
5.4 数据规格
| 项目 | 规格 |
|---|---|
| 封面图片 | 1080 x 1920px,JPG/PNG,≤ 5MB |
| 书刊标题 | ≤ 50字 |
| 书刊简介 | ≤ 300字 |
| 章节名称 | ≤ 100字 |
| 分类名称 | ≤ 20字 |
| 内容图片 | JPG/PNG/WebP/GIF,单张 ≤ 10MB |
| 音频文件 | MP3/WAV/AAC,单个 ≤ 100MB |
| 视频文件 | MP4/MOV/AVI/MKV,单个 ≤ 500MB,上传后统一转码为 H.264 MP4 |
| 导入文档 | doc/docx/xls/xlsx/ppt/pptx/pdf,单个 ≤ 50MB |
6. 权限与访问控制(RBAC)
6.1 RBAC 模型概述
系统采用基于角色的访问控制(RBAC)模型,核心结构为:用户(User)→ 角色(Role)→ 权限(Permission)。
| 要素 | 说明 |
|---|---|
| 用户(User) | 系统的实际使用者,分为管理端用户和移动端用户两个独立用户池 |
| 角色(Role) | 权限的集合,可动态创建和配置,一个用户可分配多个角色 |
| 权限(Permission) | 最小控制单元,分为菜单权限和操作权限,角色通过关联权限获得能力 |
核心规则:
- 用户与角色为多对多关系:一个用户可拥有多个角色,一个角色可分配给多个用户
- 角色与权限为多对多关系:一个角色可关联多个权限,一个权限可属于多个角色
- 用户的最终权限 = 其所有角色权限的并集
- 管理端用户和移动端用户为两套独立用户池,不互通
6.2 用户分类与登录限制
| 用户类型 | 注册方式 | 登录方式 | 可访问端 | 说明 |
|---|---|---|---|---|
| 管理端用户 | 超级管理员在后台创建 | 账号 + 密码 | 管理端(不限终端) | 可通过PC、平板等任意设备访问管理端 |
| 移动端用户 | 手机号+验证码自主注册 | 手机号 + 验证码 | 仅移动端(H5) | 不可访问管理端,接口层强制校验 |
终端隔离机制:
- 管理端 API 和移动端 API 使用不同的接口前缀(如
/admin/api/和/app/api/) - Token 中携带用户类型标识(admin / app),接口层校验类型匹配
- 移动端 token 调用管理端接口直接返回 403
- 管理端登录页不提供手机号验证码登录入口
6.3 管理端角色管理(动态配置)
6.3.1 角色类型
| 类型 | 说明 |
|---|---|
| 预置角色 | 系统内置,不可删除,可修改其关联权限(超级管理员角色的权限不可修改) |
| 自定义角色 | 管理员动态创建,可自由编辑、删除 |
6.3.2 预置角色
| 角色名称 | 说明 | 可否修改权限 | 可否删除 |
|---|---|---|---|
| 超级管理员 | 拥有全部权限,系统至少保留一个 | 否 | 否 |
| 运营管理员 | 默认拥有内容管理+数据统计+评论管理权限 | 是 | 否 |
| 内容编辑 | 默认拥有书刊创建和编辑权限 | 是 | 否 |
6.3.3 自定义角色
- 超级管理员可创建新角色,设置角色名称和描述
- 创建后从权限树中勾选该角色拥有的权限项
- 支持复制已有角色快速创建(复制权限配置)
- 自定义角色可随时编辑权限、重命名或删除
- 删除角色前需确认:若有用户关联该角色,需先解除关联或转移至其他角色
6.4 权限粒度定义(菜单 + 操作级)
6.4.1 权限类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 菜单权限 | 控制导航菜单/页面是否可见 | 「数据统计」菜单是否显示 |
| 操作权限 | 控制页面内按钮/操作是否可用 | 「导出Excel」按钮是否显示 |
6.4.2 管理端权限树
电子书管理
├── 我的作品
│ ├── 查看列表
│ ├── 编辑信息
│ ├── 目录编辑
│ ├── 内容编辑
│ ├── 强制解锁(协同编辑锁定)
│ ├── 生成预览
│ ├── 查看数据
│ ├── 上架/下架
│ ├── 定时上架
│ ├── 删除书刊
│ ├── 恢复书刊(回收站)
│ └── 导出PDF
├── 新建电子书
│ └── 创建书刊
├── 分类管理
│ ├── 查看分类
│ ├── 新增分类
│ ├── 编辑分类
│ └── 删除分类
├── 评论管理
│ ├── 查看评论
│ ├── 删除评论
│ └── 批量删除
├── 数据统计
│ ├── 查看总览
│ ├── 查看单书统计
│ ├── 查看用户行为明细
│ └── 导出数据
└── PDF导出管理
├── 查看导出记录
├── 配置下载权限
└── 手动导出
系统管理
├── 用户管理(管理端)
│ ├── 查看用户列表
│ ├── 新增用户
│ ├── 编辑用户
│ ├── 启用/禁用用户
│ ├── 分配角色
│ └── 重置密码
├── 移动端用户管理
│ ├── 查看用户列表
│ ├── 查看用户详情
│ └── 启用/禁用用户
├── 角色管理
│ ├── 查看角色列表
│ ├── 新增角色
│ ├── 编辑角色
│ ├── 删除角色
│ └── 分配权限
└── 操作日志
├── 查看日志
└── 导出日志
└── 系统配置
└── 修改配置
6.4.3 权限控制规则
| 规则 | 说明 |
|---|---|
| 前端控制 | 根据用户角色动态渲染菜单和按钮,无权限的菜单不显示,无权限的按钮隐藏或置灰 |
| 后端校验 | 每个 API 独立校验权限,前端隐藏不替代后端鉴权 |
| 权限继承 | 父级菜单权限关闭时,其下所有子操作权限自动不可用 |
6.4.4 数据范围控制
除功能权限外,角色还需配置数据可见范围,用于控制用户能操作哪些书刊数据:
| 数据范围 | 说明 | 适用场景 |
|---|---|---|
| 全部数据 | 可查看和操作所有书刊 | 运营管理员、超级管理员 |
| 仅本人数据 | 只能查看和操作自己创建的书刊 | 内容编辑 |
配置方式:
- 在角色管理的「配置权限」页面中,除勾选功能权限外,增加「数据范围」下拉选择
- 每个角色独立配置数据范围
- 自定义角色创建时默认为「仅本人数据」
页面表现:
- 「我的作品」页面根据数据范围动态展示内容:
- 数据范围为「仅本人数据」:仅展示当前用户创建的书刊
- 数据范围为「全部数据」:展示系统中所有书刊,列表增加「创建人」字段
- 数据统计页面同理:「仅本人数据」只能查看自己书刊的统计,「全部数据」可查看所有
6.5 移动端用户权限
移动端用户不纳入 RBAC 动态配置范围,采用固定策略:
| 状态 | 可用功能 |
|---|---|
| 未登录(游客) | 浏览书刊列表、查看目录、阅读普通书籍章节 |
| 已登录(注册用户) | 游客功能 + 阅读VIP书籍 + 评论 + 标记 + 收藏 + 下载 + AI助学 |
| 已禁用 | 无法登录,提示"账号已被禁用,请联系管理员" |
权限控制逻辑:
- 内容访问权限由书籍类型(普通/VIP)决定,非用户角色决定
- 后续如需扩展会员/付费体系(V2.0),可在移动端引入用户等级概念
7. 已确认决策
| 编号 | 决策项 | 结论 |
|---|---|---|
| D1 | AI 助学调用限制 | 单用户每日 20 次提问上限 |
| D2 | PDF 生成策略 | 管理端发布时预生成整本书,用户直接下载;管理端支持勾选章节导出 |
| D3 | 多人协作 | 支持,同一章节同时仅一人编辑(章节级锁定) |
| D4 | 微信分享 | 已有认证公众号,使用 JSSDK 实现分享 |
| D5 | 排版模板 | 初期提供 3-5 套预设模板,后续支持管理员自定义 |
| D6 | 阅读进度 | 支持进度记忆 + 内容标记 + 用户评论 |
| D7 | 定时上架 | 支持设置定时上架时间 |
| D8 | OCR 兜底 | 提供人工校对入口,低置信度文字标红提示 |
| D9 | PPT 导入 | 仅保留静态内容,忽略动画和过渡效果 |
| D10 | 数据保留 | 明细数据保留 1 年,超期自动归档;汇总数据永久保留 |
| D11 | 用户评论 | 支持章节级评论,管理端可审核删除 |
| D12 | 视频转码 | 上传后统一转码为 H.264 MP4 |
| D13 | 预览密码 | 生成预览链接时需设置 4 位数字访问密码 |
| D14 | 下载权限控制 | 支持关闭/免费/付费三种模式,预留收费扩展接口 |
| D15 | 用户端架构 | 底部 Tab 导航(书刊 + 我的),个人中心承载登录和用户数据 |
| D16 | 登录策略 | 浏览免登录,评论/标记/收藏/下载/AI需登录,VIP书籍阅读需登录 |
| D17 | 书籍类型 | 区分普通和VIP两种类型,VIP需登录才能阅读内容,预留付费扩展 |
| D18 | 权限模型 | 采用RBAC模型,用户-角色-权限三层结构,支持动态配置 |
| D19 | 用户池隔离 | 管理端用户和移动端用户为独立用户池,移动端用户仅可登录移动端 |
| D20 | 权限粒度 | 管理端权限细化到菜单可见性+操作级按钮控制 |
| D21 | 移动端权限 | 移动端用户为单一角色,不纳入RBAC动态配置,通过书籍类型和登录状态控制 |
| D22 | 角色管理 | 预置角色不可删除(可修改权限),支持自定义角色动态创建 |
8. 页面结构总览
用户端(H5,底部 Tab 架构)
├── [书刊 Tab] 书刊列表页(首页,分类筛选,VIP角标)
├── [我的 Tab] 个人中心
│ ├── 登录/用户信息
│ ├── 我的收藏(书籍收藏 / 章节收藏)
│ ├── 我的标记(高亮内容列表)
│ ├── 我的评论(评论记录)
│ ├── 阅读历史(最近阅读 + 继续阅读)
│ └── 我的下载(PDF 下载记录)
├── 书刊目录页(封面/简介/目录/收藏/下载/分享)
├── 章节内容页
│ ├── 全局菜单栏
│ │ ├── 目录(侧边栏跳转)
│ │ ├── AI 助学(对话窗口,每日20次)
│ │ ├── 搜索(全书关键词搜索)
│ │ ├── 字体(字号/行距调节)
│ │ └── 下载(PDF 离线下载)
│ ├── 收藏章节(需登录)
│ ├── 内容标记(长按高亮,需登录)
│ └── 评论区(章节级评论,需登录)
└── VIP 访问控制(VIP书籍阅读需登录)
管理端(PC Web)
├── 电子书管理
│ ├── 我的作品(列表/筛选/类型/上下架/定时上架/删除/生成预览)
│ ├── 新建电子书(基础信息 + 书籍类型:普通/VIP)
│ ├── 分类管理(增删改查/排序)
│ ├── 目录编辑(章节增删改/拖拽排序/协同锁定)
│ ├── 内容编辑
│ │ ├── 富文本编辑器(文字/图片/音视频/表格)
│ │ ├── 文档导入(Word/Excel/PPT/PDF → OCR校对 → 预览 → 确认)
│ │ ├── 样式选择(标题样式/图文样式)
│ │ ├── 一键排版(3-5套模板,后续支持自定义)
│ │ ├── 视频转码(上传后自动转 H.264 MP4)
│ │ └── 保存/提交/预览
│ ├── 预览与审核
│ │ ├── 生成预览链接(72小时有效 + 密码保护)
│ │ ├── 审核反馈(通过/需修改+意见)
│ │ └── 预览记录
│ ├── 评论管理(查看/删除/批量操作)
│ ├── 数据统计
│ │ ├── 总览面板(指标卡片/趋势图/排行榜)
│ │ ├── 单书统计(章节热度/阅读时长/来源渠道)
│ │ └── 用户行为明细(日志/筛选/导出/1年保留)
│ └── PDF 导出管理(预生成/权限配置/导出记录)
├── 系统管理
│ ├── 管理端用户管理(列表/新增/编辑/分配角色/重置密码/启用禁用)
│ ├── 移动端用户管理(列表/详情/启用禁用/行为数据)
│ ├── 角色管理(列表/新增/编辑/删除/配置权限/复制角色)
│ ├── 操作日志(审计记录/筛选/导出)
│ └── 系统配置(可配参数管理)
9. 版本规划建议
| 阶段 | 范围 | 说明 |
|---|---|---|
| V1.0 MVP | 书刊管理 + 富文本编辑 + 用户端阅读(Tab架构)+ 个人中心(登录/注册)+ 分享 + 协同编辑 + 系统管理(RBAC + 用户管理) | 核心流程跑通,含基础权限体系 |
| V1.1 | 收藏 + 阅读历史 + VIP书籍类型 + 移动端用户管理 | 用户体系完善和内容分级 |
| V1.2 | 文档导入 + OCR校对 + 样式选择 + 一键排版 + 预览审核 | 提升内容制作效率 |
| V1.3 | PDF 预生成/下载/导出 + 视频转码 + 定时上架 + 回收站 | 完善内容分发能力 |
| V1.4 | 数据统计 + 用户评论 + 内容标记 + 评论管理 + 操作日志 | 运营工具和用户互动 |
| V1.5 | AI 助学 + 全书搜索 + 阅读进度记忆 | 提升阅读体验 |
| V2.0 | 自定义排版模板 + 付费下载/会员体系 + 更多数据分析 + 用户注销 | 商业化扩展 |
版本依赖说明:
- V1.0 包含个人中心的登录功能(作为用户端基础设施),确保登录入口可用
- V1.0 的系统管理包含:管理端用户管理、角色管理、权限配置(RBAC基础能力)
- V1.1 的 VIP 书籍依赖 V1.0 的登录功能
- V1.1 的移动端用户管理依赖 V1.0 的用户注册数据积累
- V1.4 的操作日志依赖 V1.0 的 RBAC 体系