diff --git a/UPDATELOG.md b/UPDATELOG.md index 8222eda9..25b87c94 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -43,12 +43,15 @@ - 改进核心启动/停止/重启后的状态刷新机制 - 修复 `Windows` 安装器删除用户自启问题 - 修复 `Windows` 安装器参数使用错误问题 +- 修复 `macOS` 下点击 `Dock` 图标无法恢复窗口显示的问题 - 修复 `IPC` 迁移后节点测速功能异常 - 修复 `IPC` 迁移后连接上下行速率计算功能异常 -- 修复 `IPC` 迁移后内核日志(等级切换)功能异常 +- 修复 `IPC` 迁移后内核日志功能异常 - 修复 `External-Controller-Cors` 无法保存所需前置条件 - 修复首页端口不一致问题 - 修复首页流量统计卡片重构后无法显示流量刻度线 +- 修复日志页面启动/停止和清除按钮功能混淆,现在启动/停止按钮控制后端日志监控,清除按钮仅清理前端显示的日志 +- 修复日志等级设置的持久化配置,首次加载时正确应用已保存的日志等级到后端 ### 🔧 技术改进 diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 333b50b4..11a42bba 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -8,6 +8,8 @@ mod module; mod process; mod state; mod utils; +#[cfg(target_os = "macos")] +use crate::utils::window_manager::WindowManager; use crate::{ core::hotkey, process::AsyncHandler, @@ -498,10 +500,33 @@ pub fn run() { /// Handle application reopen events (macOS) #[cfg(target_os = "macos")] pub fn handle_reopen(app_handle: &tauri::AppHandle, has_visible_windows: bool) { - if !has_visible_windows { - AppHandleManager::global().set_activation_policy_regular(); - } + logging!( + info, + Type::System, + true, + "处理 macOS 应用重新打开事件: has_visible_windows={}", + has_visible_windows + ); + AppHandleManager::global().init(app_handle.clone()); + + if !has_visible_windows { + // 当没有可见窗口时,设置为 regular 模式并显示主窗口 + AppHandleManager::global().set_activation_policy_regular(); + + logging!(info, Type::System, true, "没有可见窗口,尝试显示主窗口"); + + let result = WindowManager::show_main_window(); + logging!( + info, + Type::System, + true, + "窗口显示操作完成,结果: {:?}", + result + ); + } else { + logging!(info, Type::System, true, "已有可见窗口,无需额外操作"); + } } /// Handle window close requests