fix: 优化升级固件的串联逻辑
This commit is contained in:
parent
b49a904999
commit
ecef3ace0a
30
lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart
Normal file
30
lib/mine/addLock/lockAddFaq/lockAddFaq_logic.dart
Normal 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,
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -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,
|
||||
|
||||
@ -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()),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user