From e7a9e4483a352ff4fa2099a9a04a1f3c8ea33c8c Mon Sep 17 00:00:00 2001 From: userGyl Date: Thu, 15 Jan 2026 13:29:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=20=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/pages/b_page/reservation/controller.dart | 11 ++++++++++- ln_jq_app/lib/pages/b_page/site/controller.dart | 14 +++++++++++--- .../lib/pages/c_page/car_info/controller.dart | 1 + ln_jq_app/lib/pages/c_page/mine/controller.dart | 1 + .../lib/pages/c_page/reservation/controller.dart | 8 +++++--- 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/ln_jq_app/lib/pages/b_page/reservation/controller.dart b/ln_jq_app/lib/pages/b_page/reservation/controller.dart index 1d192f5..6bc7718 100644 --- a/ln_jq_app/lib/pages/b_page/reservation/controller.dart +++ b/ln_jq_app/lib/pages/b_page/reservation/controller.dart @@ -35,6 +35,9 @@ class ReservationController extends GetxController with BaseControllerMixin { final TextEditingController broadcastContentController = TextEditingController(); final RxInt selectedTabIndex = 0.obs; + @override + bool get listenLifecycleEvent => true; + @override void onInit() { super.onInit(); @@ -45,11 +48,17 @@ class ReservationController extends GetxController with BaseControllerMixin { startAutoRefresh(); } + @override + void onPaused() { + stopAutoRefresh(); + super.onPaused(); + } + @override void onClose() { + stopAutoRefresh(); broadcastTitleController.dispose(); broadcastContentController.dispose(); - stopAutoRefresh(); super.onClose(); } diff --git a/ln_jq_app/lib/pages/b_page/site/controller.dart b/ln_jq_app/lib/pages/b_page/site/controller.dart index ca92f57..bdc16be 100644 --- a/ln_jq_app/lib/pages/b_page/site/controller.dart +++ b/ln_jq_app/lib/pages/b_page/site/controller.dart @@ -137,6 +137,9 @@ class SiteController extends GetxController with BaseControllerMixin { final TextEditingController searchController = TextEditingController(); + @override + bool get listenLifecycleEvent => true; + @override void onInit() { super.onInit(); @@ -145,6 +148,12 @@ class SiteController extends GetxController with BaseControllerMixin { startAutoRefresh(); } + @override + void onPaused() { + stopAutoRefresh(); + super.onPaused(); + } + @override void onClose() { stopAutoRefresh(); @@ -162,7 +171,7 @@ class SiteController extends GetxController with BaseControllerMixin { }); } - /// 【6. 新增】停止定时器的方法 + ///停止定时器的方法 void stopAutoRefresh() { // 如果定时器存在并且是激活状态,就取消它 _refreshTimer?.cancel(); @@ -278,7 +287,7 @@ class SiteController extends GetxController with BaseControllerMixin { child: TextField( controller: amountController, textAlign: TextAlign.center, - keyboardType: TextInputType.number, + keyboardType: TextInputType.number, inputFormatters: [ FilteringTextInputFormatter.digitsOnly, // 只允许数字输入 ], @@ -580,7 +589,6 @@ class SiteController extends GetxController with BaseControllerMixin { } } catch (e) { } finally { - //加载列表数据 fetchReservationData(); } diff --git a/ln_jq_app/lib/pages/c_page/car_info/controller.dart b/ln_jq_app/lib/pages/c_page/car_info/controller.dart index b88a5f1..3b549f7 100644 --- a/ln_jq_app/lib/pages/c_page/car_info/controller.dart +++ b/ln_jq_app/lib/pages/c_page/car_info/controller.dart @@ -35,6 +35,7 @@ class CarInfoController extends GetxController with BaseControllerMixin { // 如果未绑定车辆,且本次会话尚未提示过,则弹出提示 if (!StorageService.to.hasShownBindVehicleDialog && StorageService.to.isLoggedIn && + StorageService.to.loginChannel == LoginChannel.driver && !StorageService.to.hasVehicleInfo) { Future.delayed(const Duration(milliseconds: 500), () { DialogX.to.showConfirmDialog( diff --git a/ln_jq_app/lib/pages/c_page/mine/controller.dart b/ln_jq_app/lib/pages/c_page/mine/controller.dart index f6ed010..ff50584 100644 --- a/ln_jq_app/lib/pages/c_page/mine/controller.dart +++ b/ln_jq_app/lib/pages/c_page/mine/controller.dart @@ -85,6 +85,7 @@ class MineController extends GetxController with BaseControllerMixin { if (result.code == 0 && result.data != null) { String total = result.data["total"].toString(); isNotice = int.parse(total) > 0; + updateUi(); } } } diff --git a/ln_jq_app/lib/pages/c_page/reservation/controller.dart b/ln_jq_app/lib/pages/c_page/reservation/controller.dart index f2ff8ac..45b22a6 100644 --- a/ln_jq_app/lib/pages/c_page/reservation/controller.dart +++ b/ln_jq_app/lib/pages/c_page/reservation/controller.dart @@ -557,10 +557,9 @@ class C_ReservationController extends GetxController with BaseControllerMixin { } @override - void dispose() { - _sheetWorker?.dispose(); + void onPaused() { stopAutoRefresh(); - super.dispose(); + super.onPaused(); } void startAutoRefresh() { @@ -757,6 +756,7 @@ class C_ReservationController extends GetxController with BaseControllerMixin { // 如果未绑定车辆,且本次会话尚未提示过,则弹出提示 if (!StorageService.to.hasShownBindVehicleDialog && StorageService.to.isLoggedIn && + StorageService.to.loginChannel == LoginChannel.driver && !StorageService.to.hasVehicleInfo) { Future.delayed(const Duration(milliseconds: 500), () { DialogX.to.showConfirmDialog( @@ -787,6 +787,8 @@ class C_ReservationController extends GetxController with BaseControllerMixin { if (_debounce != null) { _debounce?.cancel(); } + _sheetWorker?.dispose(); + stopAutoRefresh(); super.onClose(); } }