1.5 KiB
1.5 KiB
实现方案 - 2026-04-29-23-10-27
对应需求
- 需求分析文档:
需求分析-2026-04-29-23-10-27.md
方案概述
修复前后端数据结构不匹配、上传后未创建项目、WebSocket 连接状态处理不当三个问题。
修改文件清单
文件 1: src/lib/api.ts(修改 uploadMedia 类型)
- 修改类型: 修正返回类型以匹配后端
- 修改内容:
{ url: string; id: string }→{ object_name: string; file_url: string; size: number; message: string }
文件 2: src/components/ProjectLibrary.tsx(修改上传逻辑)
- 修改类型: 修复字段引用 + 上传后创建项目
- 修改内容:
result.url→result.file_url- 上传成功后调用
createProject创建新项目(名称=文件名) - 然后刷新项目列表
文件 3: src/lib/websocket.ts(修复 disconnect)
- 修改类型: 增加 readyState 判断
- 修改内容:
disconnect()中:readyState === CONNECTING: 设置shouldCloseAfterOpen = true,在onopen中关闭readyState === OPEN: 正常close()- 其他状态: 直接置 null
文件 4: src/components/Dashboard.tsx(增加清理保护)
- 修改类型: 延迟 connect / 增加 mounted 标志
- 修改内容: useEffect 中增加
mountedref,卸载时置 false,避免卸载后回调执行
新增依赖
无
兼容性分析
- 返回类型修改需确保调用方同步更新
- WebSocket 修复不影响正常连接流程
预估工作量
- 10 分钟