root
66ec36b474
fix: 修复 JSON-RPC 通信中的状态识别和结果解析问题
🔧 关键修复:
1. Python 脚本最终结果输出:
- 在函数结束前发送 JSON-RPC 格式的最终结果
- 成功时:rpc.success(result)
- 失败时:rpc.error(JSONRPCError.GENERATION_FAILED, msg, details)
- 确保最终结果是标准 JSON-RPC 2.0 格式
2. Rust 解析逻辑优化:
- 区分进度通知和最终结果响应
- 优先返回 JSON-RPC 结果/错误响应
- 备用机制:检查直接 JSON 中的 status 字段
- 避免返回进度消息作为最终结果
3. 前端 JSON-RPC 响应处理:
- 检测 jsonrpc: '2.0' 格式
- 提取 result 字段作为成功结果
- 处理 error 字段并抛出相应错误
- 保持向后兼容直接 JSON 格式
4. 错误处理链路完善:
- Python 异常 → JSON-RPC 错误响应
- Rust 解析 → 提取错误信息
- 前端处理 → 显示具体错误原因
- 端到端的错误传播机制
✅ 修复效果:
- 正确识别成功/失败状态 ✓
- 返回最终结果而非进度消息 ✓
- 标准化的错误处理 ✓
- 完整的 JSON-RPC 2.0 支持 ✓
现在前端应该能正确显示视频生成的成功状态!
2025-07-10 13:07:50 +08:00
..
2025-07-10 10:43:40 +08:00
2025-07-10 12:38:52 +08:00
2025-07-10 11:25:55 +08:00
2025-07-10 13:02:04 +08:00
2025-07-10 13:07:50 +08:00