From ecef3ace0ad3c0fa0f438b3fb10901b5aba44076 Mon Sep 17 00:00:00 2001 From: wuyaxi <18682150237@163.com> Date: Thu, 17 Jul 2025 10:51:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=9B=BA=E4=BB=B6=E7=9A=84=E4=B8=B2=E8=81=94=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../addLock/lockAddFaq/lockAddFaq_logic.dart | 30 ++++++++++++++ .../addLock/lockAddFaq/lockAddFaq_page.dart | 5 ++- .../addLock/nearbyLock/nearbyLock_page.dart | 40 ++++++++++--------- 3 files changed, 55 insertions(+), 20 deletions(-) create mode 100644 lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart diff --git a/lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart b/lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart new file mode 100644 index 00000000..1070195c --- /dev/null +++ b/lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart @@ -0,0 +1,30 @@ +import 'dart:io'; +import 'package:get/get.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'package:star_lock/mine/addLock/nearbyLock/nearbyLock_logic.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; +import 'package:star_lock/widget/permission/permission_dialog.dart'; +import 'package:star_lock/appRouters.dart'; + +class LockAddFaqLogic extends BaseGetXController { + // 修改升级方法 + void startOtaUpgrade() async { + // 返回到附近的锁页面 + Get.back(); + + // 延迟一下确保页面切换完成 + await Future.delayed(Duration(milliseconds: 300)); + + // 设置升级状态,让附近的锁页面显示升级按钮 + final NearbyLockLogic nearbyLogic = Get.find(); + nearbyLogic.state.otaState.value = true; + + // 显示提示,引导用户进行升级 + Get.snackbar( + '固件升级'.tr, + '请点击右下角"尝试升级"按钮进行固件升级'.tr, + duration: Duration(seconds: 3), + snackPosition: SnackPosition.TOP, + ); + } +} diff --git a/lib/mine/addLock/lockAddFaq/lockAddFaq_page.dart b/lib/mine/addLock/lockAddFaq/lockAddFaq_page.dart index 4097f234..b2d5be9f 100644 --- a/lib/mine/addLock/lockAddFaq/lockAddFaq_page.dart +++ b/lib/mine/addLock/lockAddFaq/lockAddFaq_page.dart @@ -4,6 +4,7 @@ import 'package:get/get.dart'; import '../../../app_settings/app_colors.dart'; import '../../../tools/titleAppBar.dart'; +import 'package:star_lock/mine/addLock/lockAddFaq/lockAddFaq_logic.dart'; class LockAddFaqPage extends StatefulWidget { const LockAddFaqPage({Key? key}) : super(key: key); @@ -13,6 +14,8 @@ class LockAddFaqPage extends StatefulWidget { } class _LockAddFaqPageState extends State { + final LockAddFaqLogic logic = Get.put(LockAddFaqLogic()); + @override Widget build(BuildContext context) { return Scaffold( @@ -68,7 +71,7 @@ class _LockAddFaqPageState extends State { width: double.infinity, padding: EdgeInsets.symmetric(horizontal: 20.w), child: ElevatedButton.icon( - onPressed: Get.back, + onPressed: logic.startOtaUpgrade, // 调用升级方法 icon: const Icon(Icons.system_update_alt, color: Colors.white), label: Text( '尝试升级固件'.tr, diff --git a/lib/mine/addLock/nearbyLock/nearbyLock_page.dart b/lib/mine/addLock/nearbyLock/nearbyLock_page.dart index f5c79a54..1c36ec17 100755 --- a/lib/mine/addLock/nearbyLock/nearbyLock_page.dart +++ b/lib/mine/addLock/nearbyLock/nearbyLock_page.dart @@ -104,26 +104,28 @@ class _NearbyLockPageState extends State with RouteAware { ), ), ), - // 右下角:无法连接?尝试升级 - Positioned( - right: 16.w, - bottom: 64.h, - child: Obx(() => TextButton( - onPressed: () async { - bool skip = false; - if (!state.otaState.value) { - skip = await Get.dialog( - const _TipDialog(), - ); - } - state.otaState.value = skip; - }, - child: Text( - state.otaState.value ? '点击返回设备配对'.tr : '尝试升级'.tr, - style: TextStyle(fontSize: 22.sp), + // 右下角:尝试升级按钮(只在升级模式下显示) + Obx(() => state.otaState.value + ? Positioned( + right: 16.w, + bottom: 64.h, + child: TextButton( + onPressed: () async { + bool skip = false; + if (!state.otaState.value) { + skip = await Get.dialog( + const _TipDialog(), + ); + } + state.otaState.value = skip; + }, + child: Text( + state.otaState.value ? '点击返回设备配对'.tr : '尝试升级'.tr, + style: TextStyle(fontSize: 22.sp), + ), ), - )), - ), + ) + : const SizedBox.shrink()), ], ), );