开发路线图
本文引用的文件
- README.md
- FEATURE_CHECKLIST.md
- .plans/audiobook-v2-ux/task_plan.md
- .plans/audiobook-v2-ux/team-snapshot.md
- .plans/audiobook-v2-ux/frontend-dev/task_plan.md
- .plans/audiobook-v2-ux/backend-dev/task_plan.md
- docs/API.md
- docs/database-structure.md
- docs/TTS成本分析报告.md
- docs/播放页设计方案.md
- docs/支付集成指南.md
- docs/订阅系统使用说明.md
- my-uniapp-vue3/src/pages/player/index.vue
- my-uniapp-vue3/src/pages/history/index.vue
- my-uniapp-vue3/src/pages/book-generator/index.vue
- my-uniapp-vue3/src/pages/book-generator/chapter-detail.vue
- server/src/modules/tts/tts.controller.ts
- server/src/modules/player/player.controller.ts
- server/src/modules/member/member.controller.ts
- server/src/modules/share/share.controller.ts
- server/src/modules/book-generator/book-generator.controller.ts
- server/src/modules/audioedit/audioedit.controller.ts
- server/src/modules/publish/publish.controller.ts
目录
- 引言
- 项目结构
- 核心组件
- 架构总览
- 详细组件分析
- 依赖关系分析
- 性能考虑
- 故障排查指南
- 结论
- 附录
引言
本开发路线图面向AI有声书生成平台,系统性梳理从MVP到V1.0再到V1.5的发展蓝图,明确各阶段里程碑、交付物与优先级策略。当前仓库已实现MVP阶段核心能力(项目初始化、用户登录、TTS核心功能、音频播放器、历史记录、基础会员系统),并进入UX优化阶段。本文在现有基础上扩展规划V1.0与V1.5的关键功能,提供可执行的实施路径与资源分配建议。
项目结构
项目采用前后端分离架构:
- 前端:基于uniapp + Vue 3 + TypeScript,支持H5与小程序双端
- 后端:基于Node.js + Koa,模块化组织业务域(TTS、播放器、会员、分享、书籍生成等)
- 数据层:MongoDB + Mongoose;FFmpeg用于音频处理
关键模块:认证、TTS、播放器、历史、会员、分享、书籍生成、音频编辑、发布等
graph TB
FE["前端<br/>uniapp + Vue 3 + TypeScript"] --> BE["后端<br/>Node.js + Koa"]
BE --> DB["数据库<br/>MongoDB + Mongoose"]
BE --> TTS["TTS服务<br/>阿里云/Minimax/Mock"]
BE --> FF["音频处理<br/>FFmpeg"]
FE --> API["API接口"]
BE --> API
图表来源
- README.md: 18-30:18-30
- docs/database-structure.md
章节来源
- README.md: 18-30:18-30
- docs/database-structure.md
核心组件
- 认证模块:手机号登录、用户信息获取、JWT鉴权
- TTS模块:音色列表、音频生成、实时/离线合成、音频合并
- 播放器模块:播放控制、播放模式切换、进度控制、倍速播放
- 历史模块:历史记录查询、收藏、批量管理
- 会员模块:权益查询、状态查询、订单创建
- 书籍生成模块:大纲生成、章节内容生成、批量编排
- 分享模块:分享链接生成与传播
- 音频编辑模块:剪辑、拼接、降噪等
- 发布模块:多格式导出、社交平台发布
章节来源
- README.md: 114-144:114-144
- docs/API.md
架构总览
整体架构围绕“前端页面 + 后端服务 + 数据存储 + 外部服务”的四层结构展开。前端通过RESTful API与后端交互,后端聚合TTS与FFmpeg能力,统一输出音频资源与播放体验。
graph TB
subgraph "前端层"
UI["页面组件<br/>播放页/历史/书籍生成/会员"]
end
subgraph "后端层"
AUTH["认证模块"]
TTS["TTS模块"]
PLAYER["播放器模块"]
HISTORY["历史模块"]
MEMBER["会员模块"]
SHARE["分享模块"]
GEN["书籍生成模块"]
EDIT["音频编辑模块"]
PUB["发布模块"]
end
subgraph "基础设施"
DB["MongoDB"]
OSS["对象存储"]
WS["WebSocket"]
end
UI --> AUTH
UI --> TTS
UI --> PLAYER
UI --> HISTORY
UI --> MEMBER
UI --> SHARE
UI --> GEN
UI --> EDIT
UI --> PUB
AUTH --> DB
TTS --> DB
PLAYER --> DB
HISTORY --> DB
MEMBER --> DB
SHARE --> DB
GEN --> DB
EDIT --> DB
PUB --> DB
TTS --> OSS
PLAYER --> OSS
GEN --> OSS
EDIT --> OSS
PUB --> OSS
GEN --> WS
PLAYER --> WS
图表来源
- docs/API.md
- server/src/modules/tts/tts.controller.ts
- server/src/modules/player/player.controller.ts
- server/src/modules/member/member.controller.ts
- server/src/modules/share/share.controller.ts
- server/src/modules/book-generator/book-generator.controller.ts
- server/src/modules/audioedit/audioedit.controller.ts
- server/src/modules/publish/publish.controller.ts
详细组件分析
MVP阶段(2周)已完成核心功能
图表来源
- README.md: 147-153:147-153
章节来源
- README.md: 147-153:147-153
- FEATURE_CHECKLIST.md: 1-150:1-150
V1.0阶段(1个月)规划功能
图表来源
- server/src/modules/book-generator/book-generator.controller.ts
- server/src/services/llm/index.ts
章节来源
- README.md: 155-159:155-159
V1.5阶段(2-3个月)长期规划
- 批量生成功能:支持多章节/多书籍并发生成,提供进度可视化与失败重试
- 音频编辑能力:剪辑、拼接、降噪、淡入淡出等基础编辑功能
多格式导出支持:MP3、M4A、WAV、AAC等格式,满足不同平台需求
flowchart TD
BatchStart["批量生成入口"] --> Select["选择书籍/章节"]
Select --> Queue["加入生成队列"]
Queue --> Progress["实时进度监控"]
Progress --> Retry{"是否失败?"}
Retry -- 是 --> AutoRetry["自动重试/人工干预"]
Retry -- 否 --> Merge["音频合并"]
AutoRetry --> Merge
Merge --> Export["多格式导出"]
Export --> Done["完成并通知"]
图表来源
- server/src/modules/book-generator/book-generator.controller.ts
- server/src/modules/audioedit/audioedit.controller.ts
- server/src/modules/publish/publish.controller.ts
章节来源
- README.md: 161-164:161-164
概念性总览
以下为概念性流程图,展示从内容创作到音频发布的完整链路,便于理解各模块协作关系。
flowchart LR
Content["内容输入"] --> Outline["大纲生成"]
Outline --> Chapters["章节生成"]
Chapters --> TTSGen["TTS生成"]
TTSGen --> Merge["音频合并"]
Merge --> Edit["音频编辑"]
Edit --> Export["多格式导出"]
Export --> Publish["发布/分享"]
[此图为概念性示意,无需图表来源]
依赖关系分析
- 前端依赖后端API:播放页、历史页、书籍生成页均依赖对应控制器接口
- 后端模块耦合:TTS模块与音频处理强耦合,播放器模块依赖历史与收藏数据
外部依赖:阿里云TTS、WebSocket推送、对象存储、FFmpeg
graph TB
FE_Player["播放页"] --> API_Player["播放器API"]
FE_History["历史页"] --> API_History["历史API"]
FE_Book["书籍生成页"] --> API_Book["书籍生成API"]
API_Player --> Svc_Player["播放器服务"]
API_History --> Svc_History["历史服务"]
API_Book --> Svc_Book["书籍生成服务"]
Svc_Book --> Svc_TTS["TTS服务"]
Svc_TTS --> Ext_TTS["外部TTS"]
图表来源
- docs/API.md
- my-uniapp-vue3/src/pages/player/index.vue
- my-uniapp-vue3/src/pages/history/index.vue
- my-uniapp-vue3/src/pages/book-generator/index.vue
章节来源
性能考虑
- TTS成本控制:结合字数限制与音色选择,优化生成策略与缓存
- 音频处理:合理设置FFmpeg参数,避免重复编码;批量生成时采用队列与并发控制
- 播放体验:播放器预加载与断点续播,减少首帧延迟
- 数据库优化:历史记录分页查询、索引优化、定期归档
章节来源
- docs/TTS成本分析报告.md
- docs/播放页设计方案.md
故障排查指南
- 登录/鉴权问题:检查JWT密钥配置与过期时间,确认中间件拦截逻辑
- TTS生成失败:核对阿里云凭证、网络连通性与限流策略
- 播放异常:确认音频URL有效性、跨域配置与CDN缓存
- 历史记录缺失:检查数据库连接、索引与权限
- 会员状态异常:核对订单状态与回调处理
章节来源
- docs/app-troubleshooting.md
- docs/支付集成指南.md
- docs/订阅系统使用说明.md
结论
本路线图以MVP为基础,逐步扩展至V1.0与V1.5,形成从“可用”到“好用”再到“专业”的演进路径。建议优先保障核心稳定性(播放、历史、TTS),再推进UX优化与高级功能。通过模块化设计与清晰的API契约,确保各阶段交付质量与可维护性。
附录
阶段里程碑与交付物
- MVP(2周)
- 交付:登录、TTS、播放器、历史、基础会员
- 验收:功能清单核对、UI一致性检查
- V1.0(1个月)
- 交付:智能简介、更多音色、分享、管理后台
- 验收:API契约更新、文档同步、回归测试
- V1.5(2-3个月)
- 交付:批量生成、音频编辑、多格式导出
- 验收:性能基准测试、兼容性验证、运维监控完善
章节来源
- README.md: 145-164:145-164
优先级排序与资源分配策略
- P0:紧急修复与关键缺陷(如轮询超时、WebSocket推送)
- P1:重要但非紧急功能(如一键完整生成、全局骨架屏)
- P2:体验提升(封面升级、手势切换、动态卡片)
- P3:锦上添花(热词缓存、返回按钮、确认弹窗)
资源分配建议:
- 前端:交互优化为主,保持与后端API契约一致
- 后端:重点补齐WebSocket推送、批量编排、LRC歌词时间轴等支撑能力
- 测试:自动化回归与性能压测并行
- 文档:API与架构文档同步更新
章节来源
- .plans/audiobook-v2-ux/task_plan.md: 44-65:44-65
- .plans/audiobook-v2-ux/team-snapshot.md: 73-80:73-80
- .plans/audiobook-v2-ux/backend-dev/task_plan.md: 14-22:14-22
- .plans/audiobook-v2-ux/frontend-dev/task_plan.md: 24-28:24-28