diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 46341bb3..3ac74583 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -39,7 +39,7 @@ serde = { version = "1.0", features = ["derive"] } reqwest = { version = "0.11", features = ["json", "rustls-tls"] } sysproxy = { git="https://github.com/zzzgydi/sysproxy-rs", branch = "main" } auto-launch = { git="https://github.com/zzzgydi/auto-launch", branch = "main" } -tauri = { version = "1.5", features = [ "path-all", "protocol-asset", "dialog-open", "notification-all", "icon-png", "clipboard-all", "global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all"] } +tauri = { version = "1.5", features = [ "path-all", "protocol-asset", "dialog-open", "notification-all", "icon-png", "clipboard-all", "global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all", "devtools"] } [target.'cfg(windows)'.dependencies] runas = "=1.0.0" # 高版本会返回错误 Status diff --git a/src-tauri/src/cmds.rs b/src-tauri/src/cmds.rs index e7b106ad..75586a2b 100644 --- a/src-tauri/src/cmds.rs +++ b/src-tauri/src/cmds.rs @@ -9,7 +9,7 @@ use anyhow::{Context, Result}; use serde_yaml::Mapping; use std::collections::{HashMap, VecDeque}; use sysproxy::Sysproxy; -use tauri::api; +use tauri::{api, Manager}; type CmdResult = Result; #[tauri::command] @@ -294,6 +294,17 @@ pub fn copy_icon_file(path: String, name: String) -> CmdResult { } } +#[tauri::command] +pub fn open_devtools(app_handle: tauri::AppHandle) { + if let Some(window) = app_handle.get_window("main") { + if !window.is_devtools_open() { + window.open_devtools(); + } else { + window.close_devtools(); + } + } +} + #[tauri::command] pub fn exit_app(app_handle: tauri::AppHandle) { let _ = resolve::save_window_size_position(&app_handle, true); diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 4ea83ba1..1201eabd 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -57,6 +57,7 @@ fn main() -> std::io::Result<()> { cmds::test_delay, cmds::get_app_dir, cmds::copy_icon_file, + cmds::open_devtools, cmds::exit_app, // cmds::update_hotkeys, // profile diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx index 3de79888..05a15542 100644 --- a/src/components/setting/setting-verge.tsx +++ b/src/components/setting/setting-verge.tsx @@ -10,7 +10,13 @@ import { Input, Typography, } from "@mui/material"; -import { exitApp, openAppDir, openCoreDir, openLogsDir } from "@/services/cmds"; +import { + exitApp, + openAppDir, + openCoreDir, + openLogsDir, + openDevTools, +} from "@/services/cmds"; import { ArrowForward } from "@mui/icons-material"; import { checkUpdate } from "@tauri-apps/api/updater"; import { useVerge } from "@/hooks/use-verge"; @@ -27,6 +33,7 @@ import { LayoutViewer } from "./mods/layout-viewer"; import { UpdateViewer } from "./mods/update-viewer"; import getSystem from "@/utils/get-system"; import { routers } from "@/pages/_routers"; +import { appWindow } from "@tauri-apps/api/window"; interface Props { onError?: (err: Error) => void; } @@ -304,6 +311,17 @@ const SettingVerge = ({ onError }: Props) => { + + + + + + ("get_portable_flag"); } +export async function openDevTools() { + return invoke("open_devtools"); +} + export async function exitApp() { return invoke("exit_app"); }