alroyso 1 year ago
parent
commit
c321cc1037

+ 12 - 2
lib/app/controller/service.dart

@@ -282,8 +282,18 @@ class ServiceController extends GetxController {
   }
     Future<void> reloadClashCore() async {
       controllers.config.config.value.selected = 'proxy.yaml';
-      if( coreStatus.value == RunningState.running){
-        await controllers.core.fetchReloadConfig({"path":  path.join(Paths.config.path, controllers.config.config.value.selected),"payload":""});
+      // if( coreStatus.value == RunningState.running){
+      //   await controllers.core.fetchReloadConfig({"path":  path.join(Paths.config.path, controllers.config.config.value.selected),"payload":""});
+      // }
+      BotToast.showText(text: '正在重启 Core ……');
+      await stopClashCore();
+      await controllers.config.readClashCoreApi();
+      await startClashCore();
+      if (coreStatus.value == RunningState.error) {
+        BotToast.showText(text: '重启失败');
+      } else {
+        await controllers.core.updateVersion();
+        BotToast.showText(text: '重启成功');
       }
     }
 

+ 1 - 1
lib/app/modules/home/controllers/home_controller.dart

@@ -159,7 +159,7 @@ class HomeController extends GetxController {
         controllers.global.allowStatusUpdate = false;
         await controllers.config.setBreakConnections(true);
         // // 停止服务
-        await controllers.service.stopClash();
+        await controllers.service.stopClashCore();
         await controllers.global.systemProxySwitch(false);
         updateStatus(ConnectionStatus.disconnected);
         return;