# 开发路线图 **本文引用的文件** - [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)