alroyso 1 year ago
parent
commit
29218fe748

+ 7 - 2
lib/app/modules/home/controllers/home_controller.dart

@@ -43,6 +43,7 @@ class HomeController extends GetxController {
   var userMode = User().obs;
   var UsersysConfig = SysConfig().obs;
   var serviceStuatus = false.obs;
+  var coreStuatus = false.obs;
   var connectStatus = Rx<ConnectionStatus>(ConnectionStatus.disconnected);
   var nodeModes = <NodeMode>[];
   bool get isRunning => connectStatus.value == ConnectionStatus.stopped && controllers.global.allowStatusUpdate;
@@ -300,7 +301,7 @@ class HomeController extends GetxController {
 
   Future<void> installService() async{
     if(serviceStuatus.value == false){
-      controllers.service.serviceModeSwitch(true);
+      await controllers.service.serviceModeSwitch(true);
       serviceStuatus.value = true;
       controllers.global.updateMsg("正在安装服务");
     }
@@ -308,12 +309,16 @@ class HomeController extends GetxController {
 
   Future<void> UninstallService() async{
     if(serviceStuatus.value){
-      controllers.service.serviceModeSwitch(false);
+      await controllers.service.serviceModeSwitch(false);
       serviceStuatus.value = false;
       controllers.global.updateMsg("正在卸载服务");
     }
 
   }
+  Future<void> coreRestart() async{
+    await controllers.service.reloadClashCore();
+  }
+
 
   final count = 0.obs;
   @override

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

@@ -189,18 +189,31 @@ 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("卸载服务"))
+
+
                       ],
                     ),
                   ),
                 ),
+                Padding(
+                  padding: const EdgeInsets.fromLTRB(60, 10, 50, 0),
+                  child: Row(
+                    children: [
+                      ElevatedButton(onPressed: (){
+                        if(controller.serviceStuatus.value){
+                          controller.installService();
+                        } else{
+                          controller.UninstallService();
+                        }
+                      }, child: controller.serviceStuatus.value == true ? const Text("安装服务") : const Text("卸载服务")),
+                      const SizedBox(width: 10,),
+                      ElevatedButton(onPressed: (){
+                        controller.coreRestart();
+                      }, child: const Text("重启内核")),
+                    ],
+
+                  ),
+                )
                 // const SizedBox(height: 20,),
                 // Align(
                 //   alignment: Alignment.center,