alroyso 1 жил өмнө
parent
commit
5b406af717

+ 13 - 11
lib/app/global_controller/GlobalController.dart

@@ -9,17 +9,19 @@ class GlobalController extends GetxController {
   var isLoading = false.obs;
   var errorMsg = ''.obs;
   Future<void> fetchNodes() async {
-    try {
-      isLoading.value = true;
-      nodeModes.clear();
-      nodeModes.value = await ApiService().getNode("/api/client/v4/nodes?vless=1");
-      LogHelper().d(nodeModes.toList());
-      //loadSelectedNode();
-    } catch (e) {
-      errorMsg.value = e.toString();
-    } finally {
-      isLoading.value = false;
-    }
+    nodeModes.value = await ApiService().getNode("/api/client/v4/nodes?vless=1");
+
+    // try {
+    //   isLoading.value = true;
+    //   nodeModes.clear();
+    //   nodeModes.value = await ApiService().getNode("/api/client/v6/nodes?vless=1");
+    //   LogHelper().d(nodeModes.toList());
+    //   //loadSelectedNode();
+    // } catch (e) {
+    //   throw e.toString();
+    // } finally {
+    //   isLoading.value = false;
+    // }
   }
 
 }

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

@@ -57,7 +57,7 @@ class HomeController extends GetxController {
         sysConfig.value = SysConfig.fromJson(data);
         LogHelper().d(sysConfig.value.toJson());
       }
-      globalController.fetchNodes();
+
     } catch (e) {
       errorMsg.value = e.toString();
     } finally {
@@ -68,12 +68,25 @@ class HomeController extends GetxController {
     try {
       isLoading.value = true;
       userMode.value = await ApiService().userinfo("/api/client/v4/userinfo");
+      await globalController.fetchNodes();
     } catch (e) {
       errorMsg.value = e.toString();
     } finally {
       isLoading.value = false;
     }
   }
+
+  Future<void> fetchNode() async {
+    try {
+      isLoading.value = true;
+      await globalController.fetchNodes();
+    } catch (e) {
+      errorMsg.value = e.toString();
+    } finally {
+      isLoading.value = false;
+    }
+  }
+
   //await SharedPreferencesUtil().setObject("localUser", userModes.toJson());
 
   Future<void> fetchLocalUser() async {

+ 25 - 3
lib/app/modules/home/views/home_view.dart

@@ -28,12 +28,33 @@ class HomeView extends GetView<HomeController> {
       ),
       child: Scaffold(
           backgroundColor: Colors.transparent,
-          appBar: const SysAppBar(title: Text("首页"),),
+          appBar: SysAppBar(title: Text("首页"),actions: [
+            Row(
+              children: [
+                IconButton(
+                  icon: const Icon(Icons.refresh),
+                  onPressed: () {
+                    controller.fetchNode();
+                  },
+                ),
+                const Text('刷新节点'), // 这里是您的标题
+              ],
+            ),
+          ],),
 
           body: Obx(() {
-
-            return controller.globalController.isLoading.value ? const CircularProgressIndicator() : Column(
+            if(controller.errorMsg.isNotEmpty){
+              WidgetsBinding.instance.addPostFrameCallback((_) {
+                ScaffoldMessenger.of(context).showSnackBar(
+                    SnackBar(content: Text(controller.errorMsg.value))
+                );
+              });
+            }
+            return controller.isLoading.value ? const Center(child: CircularProgressIndicator()) : Column(
               children: [
+                // 错误消息展示
+
+
                 UserStatusWidget(isActive: controller.GetEnable(),isLoading: controller.isLoading.value,username:controller.GetUserName(),expiryDate: controller.GetExpiredAt(),userTraffic:controller.GetTraffic(),onRefresh: () async {
                   // 这里插入刷新操作代码
                   //await Future.delayed(Duration(seconds: 2));
@@ -142,6 +163,7 @@ class _UserStatusWidgetState extends State<UserStatusWidget> {
             Column(
               crossAxisAlignment: CrossAxisAlignment.start, // 这将使子组件从左边开始对齐
               children: [
+
                 Row(
                   children: [
                     Text(widget.username),