diff --git a/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart b/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart index b4f75049..623643ae 100755 --- a/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart +++ b/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart @@ -1,4 +1,3 @@ - import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; @@ -32,7 +31,8 @@ class FaceDetailLogic extends BaseGetXController { _replySubscription = EventBusManager().eventBus!.on().listen((Reply reply) { // 添加人脸开始(此处用作删除人脸) - if ((reply is SenderAddFaceReply) && (state.ifCurrentScreen.value == true)) { + if ((reply is SenderAddFaceReply) && + (state.ifCurrentScreen.value == true)) { _replyAddFaceBegin(reply); } }); @@ -48,18 +48,21 @@ class FaceDetailLogic extends BaseGetXController { state.sureBtnState.value = 0; cancelBlueConnetctToastTimer(); dismissEasyLoading(); - if(state.isDeletFace.value == true){ + if (state.isDeletFace.value == true) { deletFaceData(); - }else{ + } else { editFaceData(); } break; case 0x06: //无权限 - final List? privateKey = await Storage.getStringList(saveBluePrivateKey); - final List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - final List? signKey = await Storage.getStringList(saveBlueSignKey); + final List? signKey = + await Storage.getStringList(saveBlueSignKey); final List signKeyDataList = changeStringListToIntList(signKey!); final List token = reply.data.sublist(5, 9); @@ -67,25 +70,25 @@ class FaceDetailLogic extends BaseGetXController { Storage.setStringList(saveBlueToken, saveStrList); IoSenderManage.senderAddFaceCommand( - keyID:state.keyId.value.toString(), - userID:await Storage.getUid(), - faceNo:int.parse(state.typeNumber.value), - useCountLimit:0xffff, - operate:state.isDeletFace.value ? 2 : 1, // 0:注册 1:修改 2:删除 3:删除全部 - isAdmin:state.isAdministrator.value == true ? 1 : 0, - isForce:state.isStressFace.value == true ? 1 : 0, // 是否是胁迫 - isRound:state.keyType.value == 4 ? 1: 0, // 是否是循环 - weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 - startDate: int.parse(state.startDate.value)~/1000, - endDate: int.parse(state.endDate.value)~/1000, - startTime:DateTool().dateToHNString(state.startTime.value), - endTime:DateTool().dateToHNString(state.endTime.value), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, - token: token, - isBeforeAddUser: false - ); + keyID: state.keyId.value.toString(), + userID: await Storage.getUid(), + faceNo: int.parse(state.typeNumber.value), + useCountLimit: 0xffff, + operate: state.isDeletFace.value ? 2 : 1, // 0:注册 1:修改 2:删除 3:删除全部 + isAdmin: state.isAdministrator.value == true ? 1 : 0, + isForce: state.isStressFace.value == true ? 1 : 0, // 是否是胁迫 + isRound: state.keyType.value == 4 ? 1 : 0, // 是否是循环 + weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber( + state.weekDay.value), // 周循环 + startDate: int.parse(state.startDate.value) ~/ 1000, + endDate: int.parse(state.endDate.value) ~/ 1000, + startTime: DateTool().dateToHNString(state.startTime.value), + endTime: DateTool().dateToHNString(state.endTime.value), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, + token: token, + isBeforeAddUser: false); break; default: //失败 @@ -108,35 +111,38 @@ class FaceDetailLogic extends BaseGetXController { BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState deviceConnectionState) async { if (deviceConnectionState == BluetoothConnectionState.connected) { - final List? privateKey = await Storage.getStringList(saveBluePrivateKey); - final List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); final List? token = await Storage.getStringList(saveBlueToken); final List getTokenList = changeStringListToIntList(token!); - final List? signKey = await Storage.getStringList(saveBlueSignKey); + final List? signKey = + await Storage.getStringList(saveBlueSignKey); final List signKeyDataList = changeStringListToIntList(signKey!); IoSenderManage.senderAddFaceCommand( - keyID:state.keyId.value.toString(), - userID:await Storage.getUid(), - faceNo:int.parse(state.typeNumber.value), - useCountLimit:0xffff, - operate:state.isDeletFace.value ? 2 : 1, // 0:注册 1:修改 2:删除 3:删除全部 - isAdmin:state.isAdministrator.value == true ? 1 : 0, - isForce:state.isStressFace.value == true ? 1 : 0, // 是否是胁迫 - isRound:state.keyType.value == 4 ? 1: 0, // 是否是循环 - weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 - startDate: int.parse(state.startDate.value)~/1000, - endDate: int.parse(state.endDate.value)~/1000, - startTime:DateTool().dateToHNString(state.startTime.value), - endTime:DateTool().dateToHNString(state.endTime.value), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - isBeforeAddUser: false - ); + keyID: state.keyId.value.toString(), + userID: await Storage.getUid(), + faceNo: int.parse(state.typeNumber.value), + useCountLimit: 0xffff, + operate: state.isDeletFace.value ? 2 : 1, // 0:注册 1:修改 2:删除 3:删除全部 + isAdmin: state.isAdministrator.value == true ? 1 : 0, + isForce: state.isStressFace.value == true ? 1 : 0, // 是否是胁迫 + isRound: state.keyType.value == 4 ? 1 : 0, // 是否是循环 + weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber( + state.weekDay.value), // 周循环 + startDate: int.parse(state.startDate.value) ~/ 1000, + endDate: int.parse(state.endDate.value) ~/ 1000, + startTime: DateTool().dateToHNString(state.startTime.value), + endTime: DateTool().dateToHNString(state.endTime.value), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, + token: getTokenList, + isBeforeAddUser: false); } else if (deviceConnectionState == BluetoothConnectionState.disconnected) { dismissEasyLoading(); @@ -170,11 +176,11 @@ class FaceDetailLogic extends BaseGetXController { faceName: state.changeNameController.text, ); if (entity.errorCode!.codeIsSuccessful) { - state.faceItemData.value.fingerprintName = state.changeNameController.text; + state.faceItemData.value.faceName = state.changeNameController.text; showToast('修改成功', something: () { Get.back(result: 'addScuess'); }); - }else{ + } else { Get.back(); } } @@ -210,13 +216,14 @@ class FaceDetailLogic extends BaseGetXController { useDateStr = '永久'.tr; } else if (state.keyType.value == 2) { useDateStr = - '${DateTool().dateToYMDHNString(state.startDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}'; + '${DateTool().dateToYMDHNString(state.startDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}'; } else if (state.keyType.value == 4) { useDateStr = - '${DateTool().dateToYMDString(state.startDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}'; + '${DateTool().dateToYMDString(state.startDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}'; } return useDateStr; } + @override void onReady() { super.onReady(); diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart index 5258cf72..d943e667 100755 --- a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart +++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart @@ -27,7 +27,8 @@ class LockSetPage extends StatefulWidget { State createState() => _LockSetPageState(); } -class _LockSetPageState extends State with RouteAware { +class _LockSetPageState extends State + with WidgetsBindingObserver, RouteAware { final LockSetLogic logic = Get.put(LockSetLogic()); final LockSetState state = Get.find().state; @@ -41,6 +42,8 @@ class _LockSetPageState extends State with RouteAware { void initState() { super.initState(); + WidgetsBinding.instance.addObserver(this); + logic.initLoadDataAction(() { setState(() {}); }); @@ -646,7 +649,7 @@ class _LockSetPageState extends State with RouteAware { } Widget rightText(String rightTitle) { - return Text(rightTitle ?? '', + return Text(rightTitle, textAlign: TextAlign.end, style: TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor)); } @@ -771,10 +774,19 @@ class _LockSetPageState extends State with RouteAware { AppRouteObserver().routeObserver.subscribe(this, ModalRoute.of(context)!); } + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + if (state == AppLifecycleState.paused) { + // 应用程序推入后台时清空输入框内容 + logic.state.passwordTF.clear(); + } + } + @override void dispose() { /// 取消路由订阅 AppRouteObserver().routeObserver.unsubscribe(this); + WidgetsBinding.instance.removeObserver(this); super.dispose(); }