# backend-dev - 工作日志 > 用于上下文恢复。压缩/重启后先读此文件。 --- ## 2026-05-07 ### OPT-02: 轮询超时修复(WebSocket 推送) 完成以下修改: 1. **新建** `server/src/services/websocket.service.ts` - WebSocket 服务,基于 ws 库 - 挂载于 `/ws` 路径 - 提供 `pushAudioGenerationComplete` 和 `pushVideoGenerationComplete` 函数 2. **修改** `server/src/app.ts` - 导入 `initWebSocket` - 在 start() 函数中调用 `initWebSocket(server)` 3. **修改** `server/src/modules/tts/tts.service.ts` - 音频生成完成后推送 `audio_generation_complete` 事件 - 音频生成失败后推送 `audio_generation_complete` 事件(status: 'failed') 4. **修改** `server/src/modules/video-generator/video-generator.service.ts` - 视频生成完成后推送 `video_generation_complete` 事件 - 视频生成失败后推送 `video_generation_complete` 事件(status: 'failed') ### 待前端配合 - 移除 `index.vue` 和 `chapter-detail.vue` 中的 30s setTimeout 超时 - 改为监听 WebSocket 事件 `audio_generation_complete` 和 `video_generation_complete` ### 下一步 - [x] OPT-08: batch-generate API (已完成) - [x] OPT-12: feedback API (已完成) - [ ] OPT-17: 歌词时间轴 ### OPT-12: 意见反馈 API 完成以下修改: 1. **新建** `server/src/modules/feedback/feedback.service.ts` - 反馈服务,提供 submitFeedback 方法 - 使用 uuid 生成反馈 ID - 保存到 MySQL 数据库 2. **新建** `server/src/modules/feedback/feedback.controller.ts` - 路由: POST /api/feedback - 参数验证: type 必填且为 suggestion/bug/other, title/content 必填 - 调用 feedbackService.submitFeedback 3. **修改** `server/prisma/schema.prisma` - 新增 Feedback 模型 4. **修改** `server/src/app.ts` - 导入 feedbackRoutes - 注册 /api/feedback 路由 ### 待执行 - [ ] 运行 `npx prisma generate` - [ ] 运行 `npx prisma db push`