diff --git a/ln_jq_app/lib/pages/home/controller.dart b/ln_jq_app/lib/pages/home/controller.dart index 998664f..ac8b213 100644 --- a/ln_jq_app/lib/pages/home/controller.dart +++ b/ln_jq_app/lib/pages/home/controller.dart @@ -29,14 +29,6 @@ class HomeController extends GetxController with BaseControllerMixin { @override void onInit() { super.onInit(); - - // 检查是否同意过隐私政策,只有同意后才初始化推送 - if (StorageService.to.isPrivacyAgreed) { - requestPermission(); - initAliyunPush(); - addPushCallback(); - } - FlutterNativeSplash.remove(); log('page-init'); @@ -159,6 +151,13 @@ class HomeController extends GetxController with BaseControllerMixin { // 根据登录状态和登录渠道返回不同的首页 Widget getHomePage() { if (StorageService.to.isLoggedIn) { + // 检查是否同意过隐私政策,只有同意后才初始化推送 + if (StorageService.to.isPrivacyAgreed) { + requestPermission(); + initAliyunPush(); + addPushCallback(); + } + if (StorageService.to.loginChannel == LoginChannel.station) { return B_BaseWidgetsPage(); } else if (StorageService.to.loginChannel == LoginChannel.driver) { diff --git a/ln_jq_app/lib/pages/login/view.dart b/ln_jq_app/lib/pages/login/view.dart index ee15b18..e6b00fa 100644 --- a/ln_jq_app/lib/pages/login/view.dart +++ b/ln_jq_app/lib/pages/login/view.dart @@ -140,9 +140,29 @@ class _LoginPageState extends State with SingleTickerProviderStateMix children: [ const SizedBox(height: 30), // 根据 Tab 显示不同的输入框 - _tabController.index == 0 + !_isAgreed + ? GestureDetector( + onTap: () => _handleLogin(controller), + behavior: HitTestBehavior.opaque, + child: Container( + width: double.infinity, + height: 55.h, + padding: const EdgeInsets.symmetric( + horizontal: 24, + ), + alignment: Alignment.centerLeft, + child: Text( + "请先阅读并同意用户协议和隐私政策", + style: TextStyle( + color: Colors.grey, + fontSize: 16, + ), + ), + ), + ) + : (_tabController.index == 0 ? _buildDriverInputFields(controller) - : _buildStationInputFields(controller), + : _buildStationInputFields(controller)), const SizedBox(height: 30), // 统一登录按钮 @@ -151,7 +171,7 @@ class _LoginPageState extends State with SingleTickerProviderStateMix const SizedBox(height: 10), buildAgreement(), const SizedBox(height: 80), - _buildFooterSlogan() + _buildFooterSlogan(), ], ), ), @@ -475,7 +495,6 @@ class _LoginPageState extends State with SingleTickerProviderStateMix } } - _processLoginResponse(responseData, "station", account); } catch (e) { dismissLoading(); @@ -539,7 +558,6 @@ class _LoginPageState extends State with SingleTickerProviderStateMix Logger.d("暂时不处理 查询车辆信息失败的情况"); } - dismissLoading(); Get.offAll(() => BaseWidgetsPage()); } else { @@ -596,9 +614,7 @@ class _LoginPageState extends State with SingleTickerProviderStateMix } // 添加推送回调 - _aliyunPush.addMessageReceiver( - onNotificationOpened: _onNotificationOpened, - ); + _aliyunPush.addMessageReceiver(onNotificationOpened: _onNotificationOpened); isPushInitialized = true; Logger.d('推送服务初始化成功');