From a937d0a68bf96df7dbaad467555d805364e018f5 Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Thu, 23 May 2024 18:38:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E9=A6=96=E6=AC=A1?= =?UTF-8?q?=E9=85=8D=E9=94=81=E5=90=8E=EF=BC=8C=E9=9D=99=E6=AD=A2=E5=BC=80?= =?UTF-8?q?=E9=94=81=E9=A1=B5=E9=9D=A2=202=20=E7=A7=92=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E9=94=81=E8=AE=BE=E5=A4=87=E6=9C=AA=E4=BF=AE=E6=94=B9=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/mine/addLock/saveLock/saveLock_logic.dart | 93 +++++++++++-------- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/lib/mine/addLock/saveLock/saveLock_logic.dart b/lib/mine/addLock/saveLock/saveLock_logic.dart index 58f6c5aa..de4af74d 100755 --- a/lib/mine/addLock/saveLock/saveLock_logic.dart +++ b/lib/mine/addLock/saveLock/saveLock_logic.dart @@ -8,7 +8,9 @@ import 'package:get/get.dart'; import 'package:star_lock/blue/io_protocol/io_changeAdministratorPassword.dart'; import 'package:star_lock/blue/io_protocol/io_senderCustomPasswords.dart'; import 'package:star_lock/blue/io_type.dart'; +import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart'; import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart'; +import 'package:star_lock/mine/addLock/saveLock/entity/SaveLockEntity.dart'; import 'package:star_lock/tools/commonDataManage.dart'; import '../../../app_settings/app_settings.dart'; @@ -33,7 +35,7 @@ class SaveLockLogic extends BaseGetXController { void _initReplySubscription() { _replySubscription = - EventBusManager().eventBus!.on().listen((reply) { + EventBusManager().eventBus!.on().listen((Reply reply) { if (reply is AddUserReply && state.ifCurrentScreen.value == true) { _replyAddUserKey(reply); } @@ -50,16 +52,16 @@ class SaveLockLogic extends BaseGetXController { // 添加用户 Future _replyAddUserKey(Reply reply) async { - var token = reply.data.sublist(42, 46); - List strTokenList = changeIntListToStringList(token); + final List token = reply.data.sublist(42, 46); + final List strTokenList = changeIntListToStringList(token); Storage.setStringList(saveBlueToken, strTokenList); - int status = reply.data[46]; + final int status = reply.data[46]; switch (status) { case 0x00: //成功 如果成功保存用户编号 state.lockUserNo = listChangInt(reply.data.sublist(47, 49)); - AppLog.log("state.lockUserNo:${state.lockUserNo}"); + AppLog.log('state.lockUserNo:${state.lockUserNo}'); // 关闭超时 cancelBlueConnetctToastTimer(); @@ -67,16 +69,20 @@ class SaveLockLogic extends BaseGetXController { break; case 0x06: //无权限 - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); + final List? publicKey = + await Storage.getStringList(saveBluePublicKey); + final List publicKeyDataList = + changeStringListToIntList(publicKey!); IoSenderManage.senderAddUser( lockID: BlueManage().connectDeviceName, authUserID: await Storage.getUid(), - keyID: "1", + keyID: '1', userID: await Storage.getUid(), openMode: 1, keyType: 1, @@ -216,21 +222,25 @@ class SaveLockLogic extends BaseGetXController { (BluetoothConnectionState deviceConnectionState) async { if (deviceConnectionState == BluetoothConnectionState.connected) { // 私钥 - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); + final List? publicKey = + await Storage.getStringList(saveBluePublicKey); + final List publicKeyDataList = + changeStringListToIntList(publicKey!); - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = [0, 0, 0, 0]; + final List? token = await Storage.getStringList(saveBlueToken); + List getTokenList = [0, 0, 0, 0]; if (token != null) { getTokenList = changeStringListToIntList(token); } IoSenderManage.senderAddUser( lockID: BlueManage().connectDeviceName, authUserID: await Storage.getUid(), - keyID: "1", + keyID: '1', userID: await Storage.getUid(), openMode: 1, keyType: 1, @@ -356,35 +366,37 @@ class SaveLockLogic extends BaseGetXController { // } void bindBlueAdmin() async { - state.lockInfo["adminPwd"] = state.adminPassword; + state.lockInfo['adminPwd'] = state.adminPassword; - var positionMap = {}; - positionMap['longitude'] = state.addressInfo["longitude"]; - positionMap['latitude'] = state.addressInfo["latitude"]; - positionMap['country'] = state.addressInfo["country"]; - positionMap['province'] = state.addressInfo["province"]; - positionMap['city'] = state.addressInfo["city"]; - positionMap['district'] = state.addressInfo["district"]; - positionMap['township'] = state.addressInfo["street"]; - positionMap['address'] = state.addressInfo["address"]; + final Map positionMap = {}; + positionMap['longitude'] = state.addressInfo['longitude']; + positionMap['latitude'] = state.addressInfo['latitude']; + positionMap['country'] = state.addressInfo['country']; + positionMap['province'] = state.addressInfo['province']; + positionMap['city'] = state.addressInfo['city']; + positionMap['district'] = state.addressInfo['district']; + positionMap['township'] = state.addressInfo['street']; + positionMap['address'] = state.addressInfo['address']; - var bluetooth = {}; + final Map bluetooth = {}; bluetooth['bluetoothDeviceId'] = BlueManage().connectDeviceMacAddress; bluetooth['bluetoothDeviceName'] = BlueManage().connectDeviceName; - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); + final List? publicKey = + await Storage.getStringList(saveBluePublicKey); + final List publicKeyDataList = changeStringListToIntList(publicKey!); bluetooth['publicKey'] = publicKeyDataList; - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = changeStringListToIntList(privateKey!); bluetooth['privateKey'] = getPrivateKeyList; - var signKey = await Storage.getStringList(saveBlueSignKey); - List signKeyDataList = changeStringListToIntList(signKey!); + final List? signKey = await Storage.getStringList(saveBlueSignKey); + final List signKeyDataList = changeStringListToIntList(signKey!); bluetooth['signKey'] = signKeyDataList; - var entity = await ApiRepository.to.bindingBlueAdmin( + final SaveLockEntity entity = await ApiRepository.to.bindingBlueAdmin( lockAlias: state.aliName.value, position: positionMap, bluetooth: bluetooth, @@ -464,11 +476,18 @@ class SaveLockLogic extends BaseGetXController { eventBus.fire(RefreshLockListInfoDataEvent(clearScanDevices: true)); BlueManage().disconnect(); Get.close(state.isFromMap == 1 ? 5 : 6); + //刚刚配对完,需要对开锁页锁死 2 秒 + Future.delayed(const Duration(milliseconds: 200), () { + if (Get.isRegistered()) { + Get.find() + .functionBlocker + .countdownProhibited(duration: const Duration(seconds: 2)); + } + }); } @override void onReady() { - // TODO: implement onReady super.onReady(); _initReplySubscription(); @@ -476,13 +495,11 @@ class SaveLockLogic extends BaseGetXController { @override void onInit() { - // TODO: implement onInit super.onInit(); } @override void onClose() { - // TODO: implement onClose _replySubscription.cancel(); super.onClose(); }