fix:修复开锁和闭锁时的反馈

This commit is contained in:
anfe 2024-05-15 16:29:39 +08:00
parent 6019e61f3d
commit 9029cea991
6 changed files with 25 additions and 20 deletions

View File

@ -842,5 +842,6 @@
"未避免异常情况,请在门打开时升级": "Unavoidable exceptions, please upgrade when the door is open", "未避免异常情况,请在门打开时升级": "Unavoidable exceptions, please upgrade when the door is open",
"钥匙无效": "The key is invalid", "钥匙无效": "The key is invalid",
"操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "The operation failed. Please confirm whether the lock is nearby, or restart your phone's Bluetooth and try again.", "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "The operation failed. Please confirm whether the lock is nearby, or restart your phone's Bluetooth and try again.",
"如果是全自动锁,请使屏幕变亮": "If it is a fully automatic lock, please make the screen brighter" "如果是全自动锁,请使屏幕变亮": "If it is a fully automatic lock, please make the screen brighter",
"正在尝试闭锁……": "Attempting to lock..."
} }

View File

@ -870,5 +870,6 @@
"未避免异常情况,请在门打开时升级": "未避免异常情况,请在门打开时升级", "未避免异常情况,请在门打开时升级": "未避免异常情况,请在门打开时升级",
"钥匙无效": "钥匙无效", "钥匙无效": "钥匙无效",
"操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。", "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。",
"如果是全自动锁,请使屏幕变亮": "如果是全自动锁,请使屏幕变亮" "如果是全自动锁,请使屏幕变亮": "如果是全自动锁,请使屏幕变亮",
"正在尝试闭锁……": "正在尝试闭锁……"
} }

View File

@ -840,5 +840,6 @@
"未避免异常情况,请在门打开时升级": "未避免异常情况,请在门打开时升级", "未避免异常情况,请在门打开时升级": "未避免异常情况,请在门打开时升级",
"钥匙无效": "钥匙无效", "钥匙无效": "钥匙无效",
"操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。", "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。",
"如果是全自动锁,请使屏幕变亮": "如果是全自动锁,请使屏幕变亮" "如果是全自动锁,请使屏幕变亮": "如果是全自动锁,请使屏幕变亮",
"正在尝试闭锁……": "正在尝试闭锁……"
} }

View File

@ -119,7 +119,7 @@ abstract class Reply{
break; break;
case 0x16: case 0x16:
// ... // ...
AppLog.log("$logTag ${commandType!.typeName}正在开锁中..."); AppLog.log("$logTag ${commandType!.typeName} $status 正在开锁中...");
showErrorMessage("正在开锁中..."); showErrorMessage("正在开锁中...");
break; break;
case 0xff: case 0xff:
@ -129,7 +129,7 @@ abstract class Reply{
break; break;
default: default:
// //
AppLog.log("$logTag ${commandType!.typeName} 蓝牙返回其他错误问题"); AppLog.log("$logTag ${commandType!.typeName} $status 蓝牙返回其他错误问题");
break; break;
} }
} }

View File

@ -5,6 +5,7 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/blue/io_protocol/io_getStarLockStatusInfo.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/widget/permission/permission_dialog.dart'; import 'package:star_lock/widget/permission/permission_dialog.dart';
@ -46,7 +47,8 @@ class LockDetailLogic extends BaseGetXController {
// } // }
// //
// if (reply is GetStarLockStatuInfoReply && state.ifCurrentScreen.value == true) { // if (reply is GetStarLockStatuInfoReply &&
// state.ifCurrentScreen.value == true) {
// _replyGetStarLockStatusInfo(reply); // _replyGetStarLockStatusInfo(reply);
// } // }
@ -62,7 +64,6 @@ class LockDetailLogic extends BaseGetXController {
// } // }
}); });
} }
// //
Future<void> _replyOpenLock(Reply reply) async { Future<void> _replyOpenLock(Reply reply) async {
int status = reply.data[6]; int status = reply.data[6];
@ -74,10 +75,7 @@ class LockDetailLogic extends BaseGetXController {
cancelBlueConnetctToastTimer(); cancelBlueConnetctToastTimer();
state.iSClosedUnlockSuccessfulPopup.value = true; state.iSClosedUnlockSuccessfulPopup.value = true;
if (state.closedUnlockSuccessfulTimer != null) { state.closedUnlockSuccessfulTimer?.cancel();
state.closedUnlockSuccessfulTimer!.cancel();
state.closedUnlockSuccessfulTimer = null;
}
// 3 // 3
state.closedUnlockSuccessfulTimer = Timer.periodic(3.seconds, (timer) { state.closedUnlockSuccessfulTimer = Timer.periodic(3.seconds, (timer) {
state.iSClosedUnlockSuccessfulPopup.value = false; state.iSClosedUnlockSuccessfulPopup.value = false;
@ -136,22 +134,23 @@ class LockDetailLogic extends BaseGetXController {
break; break;
case 0x0d: case 0x0d:
// ... // ...
showToast('钥匙无效'.tr); closeLuckStatus();
state.openLockBtnState.value = 0;
state.openDoorBtnisUneable.value = false;
state.animationController!.stop();
cancelBlueConnetctToastTimer();
break; break;
default: default:
// //
state.openLockBtnState.value = 0; closeLuckStatus();
state.openDoorBtnisUneable.value = false;
state.animationController!.stop();
cancelBlueConnetctToastTimer();
break; break;
} }
} }
//
void closeLuckStatus() {
state.openLockBtnState.value = 0;
state.openDoorBtnisUneable.value = false;
state.animationController!.stop(canceled: true);
cancelBlueConnetctToastTimer();
}
// //
// Future<void> _replyGetStarLockStatusInfo(Reply reply) async { // Future<void> _replyGetStarLockStatusInfo(Reply reply) async {
// int status = reply.data[2]; // int status = reply.data[2];

View File

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -1290,6 +1291,7 @@ class _LockDetailPageState extends State<LockDetailPage>
left: 155.w, left: 155.w,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
state.closedUnlockSuccessfulTimer?.cancel();
setState(() { setState(() {
state.iSClosedUnlockSuccessfulPopup.value = false; state.iSClosedUnlockSuccessfulPopup.value = false;
}); });
@ -1370,6 +1372,7 @@ class _LockDetailPageState extends State<LockDetailPage>
state.openLockBtnState.value = 1; state.openLockBtnState.value = 1;
state.animationController!.forward(); state.animationController!.forward();
EasyLoading.showToast("正在尝试闭锁……".tr, duration: 2000.milliseconds);
AppLog.log("长按闭锁"); AppLog.log("长按闭锁");
if (state.isOpenLockNeedOnline.value == 0) { if (state.isOpenLockNeedOnline.value == 0) {
// //