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(); } }