🔧 核心重构: 1. 使用 Tauri Shell Plugin 替代直接 Command: - 导入 tauri_plugin_shell::ShellExt - 使用 app.shell().command() 创建进程 - 利用 CommandEvent 处理进程输出 - 支持异步事件驱动的进程通信 2. 改进编码处理: - 在 Windows 下设置 PYTHONIOENCODING=utf-8 - 设置 PYTHONUTF8=1 环境变量 - 使用 String::from_utf8_lossy 处理输出 - 确保跨平台编码兼容性 3. 优化 JSON 输出解析: - 实时检测 JSON 格式的输出行 - 提取最后的完整 JSON 对象 - 区分进度信息和最终结果 - 保持向后兼容性 4. 增强错误处理和调试: - 分别收集 stdout 和 stderr - 详细的进程状态跟踪 - 改进的错误信息格式 - 实时输出日志便于调试 5. 函数签名更新: - 所有 Python 命令函数添加 AppHandle 参数 - 支持 Tauri 的依赖注入模式 - 保持类型安全和错误处理 ✅ 修复效果: - 解决进程通信问题 ✓ - 正确识别成功/失败状态 ✓ - 改善 Windows 编码支持 ✓ - 符合 Tauri 社区最佳实践 ✓ 现在 Python 进程通信应该更加稳定可靠! |
||
|---|---|---|
| .. | ||
| AIVideoPage.tsx | ||
| EditorPage.tsx | ||
| HomePage.tsx | ||
| SettingsPage.tsx | ||