# AI有声书 v2 - API 契约 > 前后端接口定义。字段名和类型的真理源头。 > 维护者:devs(添加/变更端点时**必须**更新) --- ## 现有 API ### 书籍相关 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/books | 获取书籍列表 | | GET | /api/books/:id | 获取书籍详情 | | POST | /api/book-generator/books | 创建书籍 | | POST | /api/book-generator/books/:id/generate | 生成内容 | | POST | /api/book-generator/books/:id/generate-audio | 生成音频 | | POST | /api/book-generator/books/:id/merge-audio | 合并音频 | | POST | /api/book-generator/books/:id/generate-video | 生成视频 | | POST | /api/book-generator/books/:id/publish | 发布/取消发布 | ### 播放器相关 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/player/progress | 获取播放进度 | | POST | /api/player/progress | 保存播放进度 | ### 用户相关 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/auth/login | 登录 | | GET | /api/user/profile | 获取用户信息 | --- ## 新增 API(优化项涉及) ### OPT-03: 首页最近收听 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/player/recent | 获取用户最近播放记录 | Response: ```json { "list": [ { "id": "string", "title": "string", "coverUrl": "string", "progress": 45, "updatedAt": "2026-05-07T10:00:00Z" } ] } ``` ### OPT-08: 一键完整生成 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/book-generator/books/:id/batch-generate | 编排完整生成流程 | | POST | /api/book-generator/books/:id/batch-generate/cancel | 取消生成任务 | | GET | /api/book-generator/books/:id/batch-generate/status | 查询任务状态 | Request: ```json { "steps": ["generate_content", "generate_audio", "merge_audio", "generate_video", "merge_video"] } ``` Response: ```json { "taskId": "string", "bookId": "string", "status": "started", "steps": ["generate_content", "generate_audio", "merge_audio", "generate_video", "merge_video"] } ``` WebSocket 事件: `batch_generation_progress` - 实时推送生成进度 `{ taskId, step, progress }` ### OPT-12: 意见反馈 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/feedback | 提交反馈 | Request: ```json { "type": "suggestion|bug|other", "title": "string", "content": "string", "contact": "string", "screenshotUrls": ["string"] } ``` Response: ```json { "id": "string", "status": "submitted" } ``` ### OPT-17: 歌词时间轴 LRC 格式时间戳由 TTS 服务生成,API 响应中新增 `lrcLyrics` 字段: ```json { "audioUrl": "string", "duration": 180, "lrcLyrics": "[00:00.00] 第一句歌词\n[00:03.50] 第二句歌词" } ``` --- ## WebSocket 事件 ### OPT-02: 生成完成推送 | 事件名 | 描述 | 数据 | |--------|------|------| | audio_generation_complete | 音频生成完成 | `{ bookId, chapterId, status }` | | video_generation_complete | 视频生成完成 | `{ bookId, chapterId, status }` | | batch_generation_progress | 批量生成进度 | `{ taskId, step, progress }` |