Преглед на файлове

fix: patch clash config

GyDi преди 2 години
родител
ревизия
b7c3863882
променени са 2 файла, в които са добавени 10 реда и са изтрити 4 реда
  1. 2 0
      src-tauri/src/feat.rs
  2. 8 4
      src/components/setting/mods/clash-port-viewer.tsx

+ 2 - 0
src-tauri/src/feat.rs

@@ -169,7 +169,9 @@ pub async fn patch_clash(patch: Mapping) -> Result<()> {
             || patch.get("secret").is_some()
             || patch.get("external-controller").is_some()
         {
+            Config::generate()?;
             CoreManager::global().run_core().await?;
+            handle::Handle::refresh_clash();
         }
 
         // 更新系统代理

+ 8 - 4
src/components/setting/mods/clash-port-viewer.tsx

@@ -61,10 +61,14 @@ const ClashPortViewer = ({ handler }: Props) => {
     setOpen(false);
     if (port === config?.["mixed-port"]) return;
 
-    await patchClashConfig({ "mixed-port": port });
-    setGlobalClashPort(port);
-    Notice.success("Change Clash port successfully!", 1000);
-    mutateClash();
+    try {
+      await patchClashConfig({ "mixed-port": port });
+      setGlobalClashPort(port);
+      Notice.success("Change Clash port successfully!", 1000);
+      mutateClash();
+    } catch (err: any) {
+      Notice.error(err.message || err.toString(), 5000);
+    }
   });
 
   return (