From d2852bb34a79ea4742058ef457db9d10eb8c10c3 Mon Sep 17 00:00:00 2001
From: GyDi <zzzgydi@gmail.com>
Date: Mon, 14 Nov 2022 01:45:58 +0800
Subject: [PATCH] refactor: fix

---
 src-tauri/src/core/timer.rs    | 17 +++++++++++------
 src-tauri/src/core/tray.rs     |  7 +------
 src-tauri/src/main.rs          |  4 ++--
 src-tauri/src/utils/resolve.rs |  8 ++------
 4 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/src-tauri/src/core/timer.rs b/src-tauri/src/core/timer.rs
index 8859dcc..0c612b0 100644
--- a/src-tauri/src/core/timer.rs
+++ b/src-tauri/src/core/timer.rs
@@ -75,7 +75,7 @@ impl Timer {
         let diff_map = self.gen_diff();
 
         let mut timer_map = self.timer_map.lock();
-        let delay_timer = self.delay_timer.lock();
+        let mut delay_timer = self.delay_timer.lock();
 
         for (uid, diff) in diff_map.into_iter() {
             match diff {
@@ -85,12 +85,12 @@ impl Timer {
                 }
                 DiffFlag::Add(tid, val) => {
                     let _ = timer_map.insert(uid.clone(), (tid, val));
-                    crate::log_err!(self.add_task(uid, tid, val));
+                    crate::log_err!(self.add_task(&mut delay_timer, uid, tid, val));
                 }
                 DiffFlag::Mod(tid, val) => {
                     let _ = timer_map.insert(uid.clone(), (tid, val));
                     crate::log_err!(delay_timer.remove_task(tid));
-                    crate::log_err!(self.add_task(uid, tid, val));
+                    crate::log_err!(self.add_task(&mut delay_timer, uid, tid, val));
                 }
             }
         }
@@ -153,7 +153,13 @@ impl Timer {
     }
 
     /// add a cron task
-    fn add_task(&self, uid: String, tid: TaskID, minutes: u64) -> Result<()> {
+    fn add_task(
+        &self,
+        delay_timer: &mut DelayTimer,
+        uid: String,
+        tid: TaskID,
+        minutes: u64,
+    ) -> Result<()> {
         let task = TaskBuilder::default()
             .set_task_id(tid)
             .set_maximum_parallel_runnable_num(1)
@@ -162,8 +168,7 @@ impl Timer {
             .spawn_async_routine(move || Self::async_task(uid.to_owned()))
             .context("failed to create timer task")?;
 
-        self.delay_timer
-            .lock()
+        delay_timer
             .add_task(task)
             .context("failed to add timer task")?;
 
diff --git a/src-tauri/src/core/tray.rs b/src-tauri/src/core/tray.rs
index 20762cb..5a12f07 100644
--- a/src-tauri/src/core/tray.rs
+++ b/src-tauri/src/core/tray.rs
@@ -17,9 +17,6 @@ impl Tray {
 
         let version = app_handle.package_info().version.to_string();
 
-        dbg!(&zh);
-        dbg!(&version);
-
         if zh {
             SystemTrayMenu::new()
                 .add_item(CustomMenuItem::new("open_window", "打开面板"))
@@ -128,9 +125,7 @@ impl Tray {
             SystemTrayEvent::LeftClick { .. } => {
                 resolve::create_window(app_handle);
             }
-            e @ _ => {
-                dbg!("trya");
-            }
+            _ => {}
         }
     }
 }
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 40010c6..f0005e7 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -12,7 +12,7 @@ mod feat;
 mod utils;
 
 use crate::utils::{init, resolve, server};
-use tauri::{api, CustomMenuItem, Manager, SystemTray, SystemTrayMenu};
+use tauri::{api, Manager, SystemTray};
 
 fn main() -> std::io::Result<()> {
     // 单例检测
@@ -59,7 +59,7 @@ fn main() -> std::io::Result<()> {
             cmds::view_profile,
             cmds::patch_profile,
             cmds::create_profile,
-            // cmds::import_profile,
+            cmds::import_profile,
             cmds::update_profile,
             cmds::delete_profile,
             cmds::select_profile,
diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs
index e6d8033..9034fce 100644
--- a/src-tauri/src/utils/resolve.rs
+++ b/src-tauri/src/utils/resolve.rs
@@ -14,15 +14,11 @@ pub fn resolve_setup(app: &mut App) {
     // 启动核心
     log_err!(CoreManager::global().init());
 
-    // log_err!(app
-    //     .tray_handle()
-    //     .set_menu(tray::Tray::tray_menu(&app.app_handle())));
-
-    log_err!(tray::Tray::update_systray(&app.app_handle()));
-
     // setup a simple http server for singleton
     server::embed_server(app.app_handle());
 
+    log_err!(tray::Tray::update_systray(&app.app_handle()));
+
     let silent_start = {
         let verge = VergeN::global().config.lock();
         verge.enable_silent_start.clone()
-- 
GitLab