alroyso 1 year ago
parent
commit
5a7f2dc765

+ 0 - 14
lib/app/controller/config.dart

@@ -105,20 +105,6 @@ find-process-mode: strict
 global-client-fingerprint: chrome
 proxies:
 rules:
-  - GEOSITE,OpenAI,proxy
-  - GEOSITE,TikTok,proxy
-  - GEOSITE,github,proxy
-  - GEOSITE,twitter,proxy
-  - GEOSITE,youtube,proxy
-  - GEOSITE,google,proxy
-  - GEOSITE,telegram,proxy
-  - GEOSITE,netflix,proxy
-  - GEOSITE,geolocation-!cn,proxy
-  - GEOSITE,cn,DIRECT
-  - GEOIP,google,proxy
-  - GEOIP,netflix,proxy
-  - GEOIP,telegram,proxy
-  - GEOIP,twitter,proxy
   - GEOIP,CN,DIRECT
   - MATCH,DIRECT
   ''';

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

@@ -245,6 +245,7 @@ class ServiceController extends GetxController {
         coreStatus.value = RunningState.running;
       } catch (e) {
         log.error("core -- $e");
+        controllers.global.handleApiError(e);
        // BotToast.showText(text: e.toString());
         coreStatus.value = RunningState.error;
       }

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

@@ -169,7 +169,9 @@ class HomeController extends GetxController {
   }
   Future<void> fetchAuthUser() async {
     try {
-
+      if (connectStatus.value == ConnectionStatus.stopped || connectStatus.value == ConnectionStatus.connecting) {
+        return;
+      }
       final ret  = await ApiService().fetchAuthUser(KAuthUser);
       if(controllers.global.selectedNode.value == null){
         controllers.global.selectedNode.value = ret;

+ 6 - 0
lib/app/modules/welcome/controllers/welcome_controller.dart

@@ -11,6 +11,7 @@ import '../../../routes/app_pages.dart';
 class WelcomeController extends GetxController {
   var isLoading = true.obs;
   var sysConfig = SysConfig().obs;
+  var error = "".obs;
   Future<void> fetchSysConfig() async {
     try {
       isLoading.value = true;
@@ -27,10 +28,15 @@ class WelcomeController extends GetxController {
 
     } catch (e) {
       controllers.global.handleApiError(e);
+      error.value = controllers.global.errorMsg.value;
+      controllers.global.errorMsg.value = ''; // Clear the error message immediately
+
     } finally {
       isLoading.value = false;
     }
   }
+
+
   @override
   void onInit() {
     super.onInit();

+ 24 - 8
lib/app/modules/welcome/views/welcome_view.dart

@@ -1,7 +1,10 @@
+import 'dart:ffi';
+
 import 'package:flutter/material.dart';
 
 import 'package:get/get.dart';
 
+import '../../../controller/controllers.dart';
 import '../controllers/welcome_controller.dart';
 
 class WelcomeView extends GetView<WelcomeController> {
@@ -12,9 +15,26 @@ class WelcomeView extends GetView<WelcomeController> {
     return Scaffold(
       backgroundColor: Colors.white,
       body: Obx(() {
-        return Center(
-          child: controller.isLoading.value
-              ? const Column(
+        if(controller.error.value.isNotEmpty) {
+          String mess = controller.error.value;
+          controller.error.value = '';
+          Future.delayed(Duration.zero, () async {
+            bool? result = await controllers.dialog.showNormalDialog(
+              title: "提示",
+              content: mess,
+              cancelText: "取消",
+              enterText: "确认",
+            );
+            if (result != null && result) {
+              // User pressed "确认"
+              await controller.fetchSysConfig();
+            } else {
+              // User pressed "取消" or dismissed the dialog
+            }
+          });
+        }
+        return const Center(
+          child: Column(
             mainAxisAlignment: MainAxisAlignment.center,
             children: <Widget>[
               CircularProgressIndicator(), // 菊花加载指示器
@@ -27,11 +47,7 @@ class WelcomeView extends GetView<WelcomeController> {
                 ),
               ),
             ],
-          )
-              : TextButton(child: const Text("重新获取"),onPressed: (){
-                controller.fetchSysConfig();
-
-          },), // 当不在加载时,你可能想要显示其他的 Widget
+          ), // 当不在加载时,你可能想要显示其他的 Widget
         );
 
       }),