From 5fa6b5b616e45db57232479e096edbc1e9e2356c Mon Sep 17 00:00:00 2001 From: Julian Freeman Date: Mon, 8 Dec 2025 10:06:25 -0400 Subject: [PATCH] fix some ui and trying to fix black window --- src-tauri/src/binary_manager.rs | 22 ++++++++++++++++------ src-tauri/src/downloader.rs | 4 ++++ src/views/Home.vue | 13 ++++++------- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src-tauri/src/binary_manager.rs b/src-tauri/src/binary_manager.rs index d8fd5a7..5ac487b 100644 --- a/src-tauri/src/binary_manager.rs +++ b/src-tauri/src/binary_manager.rs @@ -5,6 +5,8 @@ use tauri::AppHandle; use anyhow::{Result, anyhow}; #[cfg(target_family = "unix")] use std::os::unix::fs::PermissionsExt; +#[cfg(target_os = "windows")] +use std::os::windows::process::CommandExt; use zip::ZipArchive; use std::io::Cursor; @@ -104,9 +106,13 @@ pub async fn update_ytdlp(app: &AppHandle) -> Result { } // Use built-in update for yt-dlp - let output = std::process::Command::new(&path) - .arg("-U") - .output()?; + let mut cmd = std::process::Command::new(&path); + cmd.arg("-U"); + + #[cfg(target_os = "windows")] + cmd.creation_flags(0x08000000); + + let output = cmd.output()?; if !output.status.success() { let stderr = String::from_utf8_lossy(&output.stderr).to_string(); @@ -127,9 +133,13 @@ pub fn get_ytdlp_version(app: &AppHandle) -> Result { return Ok("未安装".to_string()); } - let output = std::process::Command::new(&path) - .arg("--version") - .output()?; + let mut cmd = std::process::Command::new(&path); + cmd.arg("--version"); + + #[cfg(target_os = "windows")] + cmd.creation_flags(0x08000000); + + let output = cmd.output()?; if output.status.success() { Ok(String::from_utf8_lossy(&output.stdout).trim().to_string()) diff --git a/src-tauri/src/downloader.rs b/src-tauri/src/downloader.rs index 2f0d17b..c8d1e66 100644 --- a/src-tauri/src/downloader.rs +++ b/src-tauri/src/downloader.rs @@ -66,6 +66,8 @@ pub async fn fetch_metadata(app: &AppHandle, url: &str, parse_mix_playlist: bool let qjs_path = binary_manager::get_qjs_path(app)?; // Get absolute path to quickjs let mut cmd = Command::new(ytdlp_path); + #[cfg(target_os = "windows")] + cmd.creation_flags(0x08000000); // Pass the runtime and its absolute path to --js-runtimes cmd.arg("--js-runtimes").arg(format!("quickjs:{}", qjs_path.to_string_lossy())); @@ -200,6 +202,8 @@ pub async fn download_video( }).ok(); let mut cmd = Command::new(ytdlp_path); + #[cfg(target_os = "windows")] + cmd.creation_flags(0x08000000); let mut child = cmd .args(&args) diff --git a/src/views/Home.vue b/src/views/Home.vue index c555916..ab2867d 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -225,23 +225,22 @@ async function startDownload() {
-
- 仅音频 +
+ 仅音频
- 画质
- 仅音频 + 仅音频