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 '../../../app_settings/app_colors.dart';
|
||||||
import '../../../tools/titleAppBar.dart';
|
import '../../../tools/titleAppBar.dart';
|
||||||
|
import 'package:star_lock/mine/addLock/lockAddFaq/lockAddFaq_logic.dart';
|
||||||
|
|
||||||
class LockAddFaqPage extends StatefulWidget {
|
class LockAddFaqPage extends StatefulWidget {
|
||||||
const LockAddFaqPage({Key? key}) : super(key: key);
|
const LockAddFaqPage({Key? key}) : super(key: key);
|
||||||
@ -13,6 +14,8 @@ class LockAddFaqPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _LockAddFaqPageState extends State<LockAddFaqPage> {
|
class _LockAddFaqPageState extends State<LockAddFaqPage> {
|
||||||
|
final LockAddFaqLogic logic = Get.put(LockAddFaqLogic());
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@ -68,7 +71,7 @@ class _LockAddFaqPageState extends State<LockAddFaqPage> {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
padding: EdgeInsets.symmetric(horizontal: 20.w),
|
padding: EdgeInsets.symmetric(horizontal: 20.w),
|
||||||
child: ElevatedButton.icon(
|
child: ElevatedButton.icon(
|
||||||
onPressed: Get.back,
|
onPressed: logic.startOtaUpgrade, // 调用升级方法
|
||||||
icon: const Icon(Icons.system_update_alt, color: Colors.white),
|
icon: const Icon(Icons.system_update_alt, color: Colors.white),
|
||||||
label: Text(
|
label: Text(
|
||||||
'尝试升级固件'.tr,
|
'尝试升级固件'.tr,
|
||||||
|
|||||||
@ -104,26 +104,28 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// 右下角:无法连接?尝试升级
|
// 右下角:尝试升级按钮(只在升级模式下显示)
|
||||||
Positioned(
|
Obx(() => state.otaState.value
|
||||||
right: 16.w,
|
? Positioned(
|
||||||
bottom: 64.h,
|
right: 16.w,
|
||||||
child: Obx(() => TextButton(
|
bottom: 64.h,
|
||||||
onPressed: () async {
|
child: TextButton(
|
||||||
bool skip = false;
|
onPressed: () async {
|
||||||
if (!state.otaState.value) {
|
bool skip = false;
|
||||||
skip = await Get.dialog(
|
if (!state.otaState.value) {
|
||||||
const _TipDialog(),
|
skip = await Get.dialog(
|
||||||
);
|
const _TipDialog(),
|
||||||
}
|
);
|
||||||
state.otaState.value = skip;
|
}
|
||||||
},
|
state.otaState.value = skip;
|
||||||
child: Text(
|
},
|
||||||
state.otaState.value ? '点击返回设备配对'.tr : '尝试升级'.tr,
|
child: Text(
|
||||||
style: TextStyle(fontSize: 22.sp),
|
state.otaState.value ? '点击返回设备配对'.tr : '尝试升级'.tr,
|
||||||
|
style: TextStyle(fontSize: 22.sp),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)),
|
)
|
||||||
),
|
: const SizedBox.shrink()),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user