# AI有声书 v2 - 架构 > 系统架构和关键设计决策。 > 维护者:team-lead, devs(架构变更后更新) ## 系统概览 AI 有声书生成平台,包含: - **前端**:uni-app (Vue 3),多端支持(H5/小程序) - **后端**:Node.js + Express,Prisma ORM - **数据库**:PostgreSQL - **实时通信**:WebSocket(生成进度推送) ## 组件图 ``` ┌─────────────────┐ ┌─────────────────┐ │ 微信小程序 │ │ H5 / Web │ │ (uni-app) │ │ (uni-app) │ └────────┬────────┘ └────────┬────────┘ │ │ └───────────┬───────────┘ │ HTTP/WebSocket ┌───────────▼───────────┐ │ Node.js API │ │ (Express + Prisma) │ └───────────┬───────────┘ │ ┌─────────────────┼─────────────────┐ │ │ │ ┌───▼───┐ ┌─────▼─────┐ ┌─────▼─────┐ │PostgreSQL│ │ 文件存储 │ │ AI 服务 │ │ │ │(本地/NFS) │ │ (TTS API) │ └─────────┘ └───────────┘ └───────────┘ ``` ## 目录结构 ``` audio_codebuddy/ ├── my-uniapp-vue3/ # 前端 uniapp 项目 │ └── src/ │ ├── pages/ # 页面 │ ├── components/ # 组件 │ ├── stores/ # Pinia 状态 │ └── utils/ # 工具函数 ├── server/ # 后端 Node.js │ └── src/ │ ├── modules/ # 业务模块 │ │ └── book-generator/ │ ├── services/ # 服务层 │ └── app.ts # Express 入口 └── 优化开发计划.md # 优化文档 ``` ## 技术栈 - **前端**:Vue 3 + TypeScript + uni-app + Pinia - **后端**:Node.js + Express + TypeScript + Prisma - **数据库**:PostgreSQL + Prisma ORM - **实时**:WebSocket(ws 库) - **AI**:TTS API(外部服务) ## 关键设计 ### 有声书生成流程 1. 创建书籍 → AI 生成章节内容 2. 生成音频 → TTS 文字转语音 3. 生成视频 → 音频 + 封面图合成 4. 发布分享 ### 状态管理 - 前端:Pinia stores(bookStore, playerStore, userStore) - 后端:Prisma + 内存状态(book-generator.store.ts) ### API 设计 - RESTful API - WebSocket 推送生成进度 - 前后端接口见 api-contracts.md