Bladeren bron

Fix 修复登录失败没有提示的问题

Yue 1 maand geleden
bovenliggende
commit
e33a501742

+ 3 - 3
UI/CF.APP/chicken_farm/lib/pages/account/login_page.dart

@@ -120,10 +120,10 @@ class _LoginPageState extends ConsumerState<LoginPage> {
                                                   password: _passwordCtrl.text,
                                                 ),
                                               )
-                                              .then((_) async {
+                                              .then((success) async {
                                                 // 登录成功后跳转到主页
-                                                if (context.mounted) {
-                                                  logger.d('登录成功');
+                                                if (success &&
+                                                    context.mounted) {
                                                   context.goNamed(
                                                     AppRouteNames.home,
                                                   );

+ 6 - 1
UI/CF.APP/chicken_farm/lib/stores/auth_store.dart

@@ -5,6 +5,7 @@ import 'package:chicken_farm/core/services/navigation_service.dart';
 import 'package:chicken_farm/core/utils/jwt_token.dart';
 import 'package:chicken_farm/core/utils/logger.dart';
 import 'package:chicken_farm/core/utils/service_checker.dart';
+import 'package:chicken_farm/core/utils/toast.dart';
 import 'package:chicken_farm/modes/auth/login_model.dart';
 import 'package:chicken_farm/modes/user/user_model.dart';
 import 'package:chicken_farm/routes/app_routes.dart';
@@ -181,7 +182,7 @@ class AuthStore extends StateNotifier<AuthInfo> {
   }
 
   /// 登录操作
-  Future<void> login(LoginModel loginModel) async {
+  Future<bool> login(LoginModel loginModel) async {
     state = AuthInfo.loading();
     try {
       loginModel.clientId = AppConfig.clientId;
@@ -204,9 +205,13 @@ class AuthStore extends StateNotifier<AuthInfo> {
         roles: userInfo.roles,
       );
       logger.i('登录成功 state: $state');
+      return true;
     } catch (e) {
+      logger.e('登录失败: $e');
       await JwtToken.clear();
       state = AuthInfo.unauthenticated();
+      ToastUtil.errorAlert(e.toString());
+      return false;
     }
   }