alroyso пре 1 година
родитељ
комит
58bcb1fee3

+ 1 - 1
lib/app/controller/service.dart

@@ -214,7 +214,7 @@ class ServiceController extends GetxController {
         BotToast.showText(text: e.toString());
       }
       await startService();
-      //await startClashCore();
+      await startClashCore();
     }
 
     Future<void> startClashCore() async {

+ 19 - 3
lib/app/modules/home/controllers/home_controller.dart

@@ -42,7 +42,7 @@ class HomeController extends GetxController {
   var localUsers = LocalUser().obs;
   var userMode = User().obs;
   var UsersysConfig = SysConfig().obs;
-
+  var serviceStuatus = false.obs;
   var connectStatus = Rx<ConnectionStatus>(ConnectionStatus.disconnected);
   var nodeModes = <NodeMode>[];
   bool get isRunning => connectStatus.value == ConnectionStatus.stopped && controllers.global.allowStatusUpdate;
@@ -128,6 +128,7 @@ class HomeController extends GetxController {
         }
 
       } else {
+
         controllers.global.updateMsg("正在启动系统模式...");
         controllers.config.clashCoreTunEnable.value = false;
         controllers.global.startSysMode();
@@ -189,8 +190,8 @@ class HomeController extends GetxController {
   Future<void> fetchAuthUser() async {
     try {
       final coreStatus = controllers.service.coreStatus.value;
-      if(coreStatus != RunningState.running){
-        controllers.global.updateMsg("内核没有启动,");
+      if (coreStatus == RunningState.running){
+        controllers.global.updateMsg("内核没有启动...");
         return;
       }
 
@@ -297,7 +298,22 @@ class HomeController extends GetxController {
     }
   }
 
+  Future<void> installService() async{
+    if(serviceStuatus.value == false){
+      controllers.service.serviceModeSwitch(true);
+      serviceStuatus.value = true;
+      controllers.global.updateMsg("正在安装服务");
+    }
+  }
 
+  Future<void> UninstallService() async{
+    if(serviceStuatus.value){
+      controllers.service.serviceModeSwitch(false);
+      serviceStuatus.value = false;
+      controllers.global.updateMsg("正在卸载服务");
+    }
+
+  }
 
   final count = 0.obs;
   @override

+ 8 - 0
lib/app/modules/home/views/home_view.dart

@@ -189,6 +189,14 @@ class HomeView extends GetView<HomeController> {
                               controllers.global.updateRoute(controllers.global.routeModes[idx])
                             }
                         ),
+                        const SizedBox(width: 10,),
+                        ElevatedButton(onPressed: (){
+                          if(controller.serviceStuatus.value){
+                            controller.installService();
+                          } else{
+                            controller.UninstallService();
+                          }
+                        }, child: controller.serviceStuatus.value == true ? const Text("安装服务") : const Text("卸载服务"))
                       ],
                     ),
                   ),