mxivideo/src-tauri
root e4fdb666ce fix: 按 Tauri 最佳实践重构 Python 进程通信
🔧 核心重构:

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 进程通信应该更加稳定可靠!
2025-07-10 12:51:30 +08:00
..
capabilities fix: 根据 Tauri v2 官方文档修复窗口控制功能 2025-07-10 10:26:03 +08:00
icons first commit 2025-07-10 09:41:40 +08:00
src fix: 按 Tauri 最佳实践重构 Python 进程通信 2025-07-10 12:51:30 +08:00
.gitignore first commit 2025-07-10 09:41:40 +08:00
Cargo.toml fix: 修复文件选择功能 - 添加 Tauri 对话框支持 2025-07-10 11:40:23 +08:00
build.rs first commit 2025-07-10 09:41:40 +08:00
tauri.conf.json fix: 根据 Tauri v2 官方文档修复窗口控制功能 2025-07-10 10:26:03 +08:00