# 开发路线图
**本文引用的文件**
- [README.md](file://README.md)
- [FEATURE_CHECKLIST.md](file://FEATURE_CHECKLIST.md)
- [.plans/audiobook-v2-ux/task_plan.md](file://.plans/audiobook-v2-ux/task_plan.md)
- [.plans/audiobook-v2-ux/team-snapshot.md](file://.plans/audiobook-v2-ux/team-snapshot.md)
- [.plans/audiobook-v2-ux/frontend-dev/task_plan.md](file://.plans/audiobook-v2-ux/frontend-dev/task_plan.md)
- [.plans/audiobook-v2-ux/backend-dev/task_plan.md](file://.plans/audiobook-v2-ux/backend-dev/task_plan.md)
- [docs/API.md](file://docs/API.md)
- [docs/database-structure.md](file://docs/database-structure.md)
- [docs/TTS成本分析报告.md](file://docs/TTS成本分析报告.md)
- [docs/播放页设计方案.md](file://docs/播放页设计方案.md)
- [docs/支付集成指南.md](file://docs/支付集成指南.md)
- [docs/订阅系统使用说明.md](file://docs/订阅系统使用说明.md)
- [my-uniapp-vue3/src/pages/player/index.vue](file://my-uniapp-vue3/src/pages/player/index.vue)
- [my-uniapp-vue3/src/pages/history/index.vue](file://my-uniapp-vue3/src/pages/history/index.vue)
- [my-uniapp-vue3/src/pages/book-generator/index.vue](file://my-uniapp-vue3/src/pages/book-generator/index.vue)
- [my-uniapp-vue3/src/pages/book-generator/chapter-detail.vue](file://my-uniapp-vue3/src/pages/book-generator/chapter-detail.vue)
- [server/src/modules/tts/tts.controller.ts](file://server/src/modules/tts/tts.controller.ts)
- [server/src/modules/player/player.controller.ts](file://server/src/modules/player/player.controller.ts)
- [server/src/modules/member/member.controller.ts](file://server/src/modules/member/member.controller.ts)
- [server/src/modules/share/share.controller.ts](file://server/src/modules/share/share.controller.ts)
- [server/src/modules/book-generator/book-generator.controller.ts](file://server/src/modules/book-generator/book-generator.controller.ts)
- [server/src/modules/audioedit/audioedit.controller.ts](file://server/src/modules/audioedit/audioedit.controller.ts)
- [server/src/modules/publish/publish.controller.ts](file://server/src/modules/publish/publish.controller.ts)
## 目录
1. [引言](#引言)
2. [项目结构](#项目结构)
3. [核心组件](#核心组件)
4. [架构总览](#架构总览)
5. [详细组件分析](#详细组件分析)
6. [依赖关系分析](#依赖关系分析)
7. [性能考虑](#性能考虑)
8. [故障排查指南](#故障排查指南)
9. [结论](#结论)
10. [附录](#附录)
## 引言
本开发路线图面向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、播放器、历史、会员、分享、书籍生成、音频编辑、发布等
```mermaid
graph TB
FE["前端
uniapp + Vue 3 + TypeScript"] --> BE["后端
Node.js + Koa"]
BE --> DB["数据库
MongoDB + Mongoose"]
BE --> TTS["TTS服务
阿里云/Minimax/Mock"]
BE --> FF["音频处理
FFmpeg"]
FE --> API["API接口"]
BE --> API
```
**图表来源**
- [README.md: 18-30:18-30](file://README.md#L18-L30)
- [docs/database-structure.md](file://docs/database-structure.md)
**章节来源**
- [README.md: 18-30:18-30](file://README.md#L18-L30)
- [docs/database-structure.md](file://docs/database-structure.md)
## 核心组件
- 认证模块:手机号登录、用户信息获取、JWT鉴权
- TTS模块:音色列表、音频生成、实时/离线合成、音频合并
- 播放器模块:播放控制、播放模式切换、进度控制、倍速播放
- 历史模块:历史记录查询、收藏、批量管理
- 会员模块:权益查询、状态查询、订单创建
- 书籍生成模块:大纲生成、章节内容生成、批量编排
- 分享模块:分享链接生成与传播
- 音频编辑模块:剪辑、拼接、降噪等
- 发布模块:多格式导出、社交平台发布
**章节来源**
- [README.md: 114-144:114-144](file://README.md#L114-L144)
- [docs/API.md](file://docs/API.md)
## 架构总览
整体架构围绕“前端页面 + 后端服务 + 数据存储 + 外部服务”的四层结构展开。前端通过RESTful API与后端交互,后端聚合TTS与FFmpeg能力,统一输出音频资源与播放体验。
```mermaid
graph TB
subgraph "前端层"
UI["页面组件
播放页/历史/书籍生成/会员"]
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](file://docs/API.md)
- [server/src/modules/tts/tts.controller.ts](file://server/src/modules/tts/tts.controller.ts)
- [server/src/modules/player/player.controller.ts](file://server/src/modules/player/player.controller.ts)
- [server/src/modules/member/member.controller.ts](file://server/src/modules/member/member.controller.ts)
- [server/src/modules/share/share.controller.ts](file://server/src/modules/share/share.controller.ts)
- [server/src/modules/book-generator/book-generator.controller.ts](file://server/src/modules/book-generator/book-generator.controller.ts)
- [server/src/modules/audioedit/audioedit.controller.ts](file://server/src/modules/audioedit/audioedit.controller.ts)
- [server/src/modules/publish/publish.controller.ts](file://server/src/modules/publish/publish.controller.ts)
## 详细组件分析
### MVP阶段(2周)已完成核心功能
- 项目初始化:前后端工程搭建、开发环境配置、基础依赖安装
- 用户登录:手机号验证码登录、用户信息获取、JWT鉴权中间件
- TTS核心功能:音色列表查询、文本转音频、音频合并、播放URL生成
- 音频播放器:播放/暂停、进度控制、倍速播放、播放模式切换
- 历史记录:音频生成历史、收藏管理、批量删除/下载
- 基础会员系统:权益查询、状态查询、订单创建
```mermaid
flowchart TD
Start(["MVP阶段开始"]) --> Init["项目初始化"]
Init --> Login["用户登录"]
Login --> TTS["TTS核心功能"]
TTS --> Player["音频播放器"]
Player --> History["历史记录"]
History --> Member["基础会员系统"]
Member --> End(["MVP阶段完成"])
```
**图表来源**
- [README.md: 147-153:147-153](file://README.md#L147-L153)
**章节来源**
- [README.md: 147-153:147-153](file://README.md#L147-L153)
- [FEATURE_CHECKLIST.md: 1-150:1-150](file://FEATURE_CHECKLIST.md#L1-L150)
### V1.0阶段(1个月)规划功能
- 智能简介生成:基于LLM生成书籍/章节简介,提升内容可读性
- 更多音色选择:接入更多TTS音色,支持音色试听与切换
- 分享功能:生成分享链接,支持社交平台传播
- 管理后台:内容审核、用户管理、数据看板、运营工具
```mermaid
sequenceDiagram
participant U as "用户"
participant F as "前端页面"
participant B as "后端服务"
participant L as "LLM服务"
participant T as "TTS服务"
U->>F : "输入书籍主题/章节内容"
F->>B : "请求智能简介生成"
B->>L : "调用LLM生成简介"
L-->>B : "返回简介内容"
B-->>F : "返回简介"
F-->>U : "展示并可继续生成音频"
```
**图表来源**
- [server/src/modules/book-generator/book-generator.controller.ts](file://server/src/modules/book-generator/book-generator.controller.ts)
- [server/src/services/llm/index.ts](file://server/src/services/llm/index.ts)
**章节来源**
- [README.md: 155-159:155-159](file://README.md#L155-L159)
### V1.5阶段(2-3个月)长期规划
- 批量生成功能:支持多章节/多书籍并发生成,提供进度可视化与失败重试
- 音频编辑能力:剪辑、拼接、降噪、淡入淡出等基础编辑功能
- 多格式导出支持:MP3、M4A、WAV、AAC等格式,满足不同平台需求
```mermaid
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](file://server/src/modules/book-generator/book-generator.controller.ts)
- [server/src/modules/audioedit/audioedit.controller.ts](file://server/src/modules/audioedit/audioedit.controller.ts)
- [server/src/modules/publish/publish.controller.ts](file://server/src/modules/publish/publish.controller.ts)
**章节来源**
- [README.md: 161-164:161-164](file://README.md#L161-L164)
### 概念性总览
以下为概念性流程图,展示从内容创作到音频发布的完整链路,便于理解各模块协作关系。
```mermaid
flowchart LR
Content["内容输入"] --> Outline["大纲生成"]
Outline --> Chapters["章节生成"]
Chapters --> TTSGen["TTS生成"]
TTSGen --> Merge["音频合并"]
Merge --> Edit["音频编辑"]
Edit --> Export["多格式导出"]
Export --> Publish["发布/分享"]
```
[此图为概念性示意,无需图表来源]
## 依赖关系分析
- 前端依赖后端API:播放页、历史页、书籍生成页均依赖对应控制器接口
- 后端模块耦合:TTS模块与音频处理强耦合,播放器模块依赖历史与收藏数据
- 外部依赖:阿里云TTS、WebSocket推送、对象存储、FFmpeg
```mermaid
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](file://docs/API.md)
- [my-uniapp-vue3/src/pages/player/index.vue](file://my-uniapp-vue3/src/pages/player/index.vue)
- [my-uniapp-vue3/src/pages/history/index.vue](file://my-uniapp-vue3/src/pages/history/index.vue)
- [my-uniapp-vue3/src/pages/book-generator/index.vue](file://my-uniapp-vue3/src/pages/book-generator/index.vue)
**章节来源**
- [docs/API.md](file://docs/API.md)
## 性能考虑
- TTS成本控制:结合字数限制与音色选择,优化生成策略与缓存
- 音频处理:合理设置FFmpeg参数,避免重复编码;批量生成时采用队列与并发控制
- 播放体验:播放器预加载与断点续播,减少首帧延迟
- 数据库优化:历史记录分页查询、索引优化、定期归档
**章节来源**
- [docs/TTS成本分析报告.md](file://docs/TTS成本分析报告.md)
- [docs/播放页设计方案.md](file://docs/播放页设计方案.md)
## 故障排查指南
- 登录/鉴权问题:检查JWT密钥配置与过期时间,确认中间件拦截逻辑
- TTS生成失败:核对阿里云凭证、网络连通性与限流策略
- 播放异常:确认音频URL有效性、跨域配置与CDN缓存
- 历史记录缺失:检查数据库连接、索引与权限
- 会员状态异常:核对订单状态与回调处理
**章节来源**
- [docs/app-troubleshooting.md](file://docs/app-troubleshooting.md)
- [docs/支付集成指南.md](file://docs/支付集成指南.md)
- [docs/订阅系统使用说明.md](file://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](file://README.md#L145-L164)
### 优先级排序与资源分配策略
- P0:紧急修复与关键缺陷(如轮询超时、WebSocket推送)
- P1:重要但非紧急功能(如一键完整生成、全局骨架屏)
- P2:体验提升(封面升级、手势切换、动态卡片)
- P3:锦上添花(热词缓存、返回按钮、确认弹窗)
资源分配建议:
- 前端:交互优化为主,保持与后端API契约一致
- 后端:重点补齐WebSocket推送、批量编排、LRC歌词时间轴等支撑能力
- 测试:自动化回归与性能压测并行
- 文档:API与架构文档同步更新
**章节来源**
- [.plans/audiobook-v2-ux/task_plan.md: 44-65:44-65](file://.plans/audiobook-v2-ux/task_plan.md#L44-L65)
- [.plans/audiobook-v2-ux/team-snapshot.md: 73-80:73-80](file://.plans/audiobook-v2-ux/team-snapshot.md#L73-L80)
- [.plans/audiobook-v2-ux/backend-dev/task_plan.md: 14-22:14-22](file://.plans/audiobook-v2-ux/backend-dev/task_plan.md#L14-L22)
- [.plans/audiobook-v2-ux/frontend-dev/task_plan.md: 24-28:24-28](file://.plans/audiobook-v2-ux/frontend-dev/task_plan.md#L24-L28)