From 412b419fac8fda61187bf5824d73b96c164005ab Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Wed, 4 Mar 2026 11:40:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(login):=20=E9=87=8D=E6=9E=84=E7=A4=BE?= =?UTF-8?q?=E4=BA=A4=E7=99=BB=E5=BD=95=E6=8C=89=E9=92=AE=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BB=A5=E4=BF=AE=E5=A4=8D=E9=97=B4=E8=B7=9D?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重构社交登录按钮的渲染逻辑,使用列表构建和循环渲染代替条件运算符,确保按钮间间距一致。避免在条件分支中手动添加 SizedBox 导致的间距缺失问题。 --- lib/modules/login/views/login_view.dart | 57 ++++++++++++++----------- pubspec.yaml | 2 +- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/lib/modules/login/views/login_view.dart b/lib/modules/login/views/login_view.dart index d39c7987b..bfe280e28 100644 --- a/lib/modules/login/views/login_view.dart +++ b/lib/modules/login/views/login_view.dart @@ -446,33 +446,38 @@ class LoginView extends GetView { ], ), SizedBox(height: 24.h), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (controller.isChinaMainland.value) ...[ - _buildSocialButton( - FontAwesomeIcons.weixin, Colors.green, isDarkMode), - ] else if (GetPlatform.isAndroid) ...[ - _buildSocialButton( - FontAwesomeIcons.google, Colors.red, isDarkMode), - ], + Builder( + builder: (_) { + final buttons = []; - // Apple登录按钮(仅在iOS上显示) - if (GetPlatform.isIOS) ...[ - SizedBox(width: 24.w), - _buildSocialButton( - FontAwesomeIcons.apple, Colors.black, isDarkMode), - ], - // SizedBox(width: 24.w), - // _buildSocialButton( - // FontAwesomeIcons.facebook, Colors.blue, isDarkMode), - // 根据配置显示游客登录按钮 - if (controller.isGuestLoginVisible) ...[ - SizedBox(width: 24.w), - _buildSocialButton(FontAwesomeIcons.userSecret, Colors.black, - isDarkMode), // 游客登录按钮 - ], - ], + if (controller.isChinaMainland.value) { + buttons.add(_buildSocialButton( + FontAwesomeIcons.weixin, Colors.green, isDarkMode)); + } else if (GetPlatform.isAndroid) { + buttons.add(_buildSocialButton( + FontAwesomeIcons.google, Colors.red, isDarkMode)); + } + + if (GetPlatform.isIOS) { + buttons.add(_buildSocialButton( + FontAwesomeIcons.apple, Colors.black, isDarkMode)); + } + + if (controller.isGuestLoginVisible) { + buttons.add(_buildSocialButton( + FontAwesomeIcons.userSecret, Colors.black, isDarkMode)); + } + + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + for (int i = 0; i < buttons.length; i++) ...[ + if (i > 0) SizedBox(width: 24.w), + buttons[i], + ], + ], + ); + }, ), ], ); diff --git a/pubspec.yaml b/pubspec.yaml index bbfe87532..53e2803fa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: voitrans description: "Voitrans - AI Voice Assistant." publish_to: "none" -version: 1.0.22+72 +version: 1.0.23+97 environment: sdk: ">=3.3.0 <4.0.0"