fix: 优化升级固件的串联逻辑

This commit is contained in:
wuyaxi 2025-07-17 10:51:39 +08:00
parent b49a904999
commit ecef3ace0a
3 changed files with 55 additions and 20 deletions

View File

@ -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<NearbyLockLogic>();
nearbyLogic.state.otaState.value = true;
//
Get.snackbar(
'固件升级'.tr,
'请点击右下角"尝试升级"按钮进行固件升级'.tr,
duration: Duration(seconds: 3),
snackPosition: SnackPosition.TOP,
);
}
}

View File

@ -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<LockAddFaqPage> {
final LockAddFaqLogic logic = Get.put(LockAddFaqLogic());
@override
Widget build(BuildContext context) {
return Scaffold(
@ -68,7 +71,7 @@ class _LockAddFaqPageState extends State<LockAddFaqPage> {
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,

View File

@ -104,26 +104,28 @@ class _NearbyLockPageState extends State<NearbyLockPage> 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()),
],
),
);