From 534dbd394935e8b571102fe080c6a45fcea98197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=B1=BC=E5=BC=80=E5=8F=91?= Date: Thu, 4 Jun 2026 17:38:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=9F=E4=B8=80=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=209:16=20=E6=AF=94=E4=BE=8B=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=AE=B9=E5=B7=AE=E4=B8=BA=203%=20=E7=9B=B8=E5=AF=B9=E8=AF=AF?= =?UTF-8?q?=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rust 层 video_compose.rs 和 lib.rs 中的校验使用绝对误差 0.01 (约 1.78% 相对误差),比前端 videoValidation.ts 的 3% 更严格, 导致部分前端通过的视频在 Rust 层被拦截。 统一改为 , 与前端的相对误差算法保持一致。 --- tauri-app/src-tauri/src/commands/video_compose.rs | 4 ++-- tauri-app/src-tauri/src/lib.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tauri-app/src-tauri/src/commands/video_compose.rs b/tauri-app/src-tauri/src/commands/video_compose.rs index 415530b..14f245b 100644 --- a/tauri-app/src-tauri/src/commands/video_compose.rs +++ b/tauri-app/src-tauri/src/commands/video_compose.rs @@ -39,14 +39,14 @@ fn get_project_video_dir(app: &AppHandle, project_id: &str) -> Result Result<(), String> { if width == 0 || height == 0 { return Err("无法读取视频分辨率".to_string()); } let ratio = width as f64 / height as f64; let expected = 9.0 / 16.0; - if (ratio - expected).abs() > 0.01 { + if (ratio - expected).abs() / expected > 0.03 { return Err(format!( "视频比例必须是 9:16,当前为 {}×{}(比例 {:.3})", width, height, ratio diff --git a/tauri-app/src-tauri/src/lib.rs b/tauri-app/src-tauri/src/lib.rs index 5acc380..2f5e6bd 100644 --- a/tauri-app/src-tauri/src/lib.rs +++ b/tauri-app/src-tauri/src/lib.rs @@ -688,7 +688,7 @@ async fn video_composite_synthesis( } let ratio = meta.width as f64 / meta.height as f64; let expected = 9.0 / 16.0; - if (ratio - expected).abs() > 0.01 { + if (ratio - expected).abs() / expected > 0.03 { return ApiResponse { code: 400, message: format!(