alroyso пре 1 година
родитељ
комит
0d5bb33a19
1 измењених фајлова са 19 додато и 9 уклоњено
  1. 19 9
      lib/app/controller/service.dart

+ 19 - 9
lib/app/controller/service.dart

@@ -388,15 +388,25 @@ class ServiceController extends GetxController {
     }
   }
     Future<void> reloadClashCore() async {
-      controllers.config.config.value.selected = 'proxy.yaml';
-      if( coreStatus.value == RunningState.running){
-        controllers.global.updateMsg("重新配置...");
-        await controllers.config.readClashCoreApi();
-        controllers.global.updateMsg("${controllers.config.clashCoreApiAddress.value}...");
-        controllers.core.setApi(controllers.config.clashCoreApiAddress.value, controllers.config.clashCoreApiSecret.value);
-        controllers.global.updateMsg("setApi${controllers.config.clashCoreApiAddress.value}...");
-        await controllers.core.changeConfig(path.join(Paths.config.path, controllers.config.config.value.selected));
-        controllers.global.updateMsg("fetchReloadConfig${controllers.config.clashCoreApiAddress.value}...");
+      try
+        {
+          controllers.config.config.value.selected = 'proxy.yaml';
+          if( coreStatus.value == RunningState.running){
+            controllers.global.updateMsg("切换配置...");
+            await controllers.config.readClashCoreApi();
+            controllers.global.updateMsg("${controllers.config.clashCoreApiAddress.value}...");
+            controllers.core.setApi(controllers.config.clashCoreApiAddress.value, controllers.config.clashCoreApiSecret.value);
+            controllers.global.updateMsg("setApi${controllers.config.clashCoreApiAddress.value}...");
+            await controllers.core.changeConfig(path.join(Paths.config.path, controllers.config.config.value.selected));
+            controllers.global.updateMsg("fetchReloadConfig${controllers.config.clashCoreApiAddress.value}...");
+          }
+        } catch(e){
+          controllers.global.updateMsg("重新配置...");
+          await controllers.config.readClashCoreApi();
+          controllers.global.updateMsg("${controllers.config.clashCoreApiAddress.value}...");
+          controllers.core.setApi(controllers.config.clashCoreApiAddress.value, controllers.config.clashCoreApiSecret.value);
+          controllers.global.updateMsg("setApi${controllers.config.clashCoreApiAddress.value}...");
+          await controllers.core.changeConfig(path.join(Paths.config.path, controllers.config.config.value.selected));
       }
       //BotToast.showText(text: '正在重启 Core ……');
       // controllers.global.updateMsg("停止内核...");