From b57c18a9c0396b076e2e54135203f72eeac388d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Wed, 13 Dec 2023 17:38:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=A1=E3=80=81=E6=8C=87?= =?UTF-8?q?=E7=BA=B9=E6=A8=A1=E5=9D=97bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io_protocol/io_addStressFingerprint.dart | 12 +- .../blue/io_protocol/io_addStressICCard.dart | 7 +- star_lock/lib/blue/sender_manage.dart | 6 + .../card/addICCard/addICCard_logic.dart | 41 ++++-- .../card/cardDetail/cardDetail_state.dart | 2 +- .../otherTypeKeyChangeDate_logic.dart | 1 + .../otherTypeKeyChangeValidityDate_logic.dart | 1 + .../addFingerprint/addFingerprint_logic.dart | 127 ++++++++++++------ .../addFingerprint/addFingerprint_page.dart | 2 +- .../addFingerprint/addFingerprint_state.dart | 1 + .../addFingerprintTypeManage_page.dart | 2 +- .../addFingerprintType_logic.dart | 7 +- .../fingerprintDetail_logic.dart | 14 +- .../fingerprintDetail_page.dart | 2 +- .../fingerprintList/fingerprintList_page.dart | 3 +- .../fingerprintList_state.dart | 3 +- .../lockDetail/lockDetail_logic.dart | 2 +- star_lock/lib/network/api_provider.dart | 6 +- star_lock/lib/network/api_repository.dart | 5 +- 19 files changed, 167 insertions(+), 77 deletions(-) diff --git a/star_lock/lib/blue/io_protocol/io_addStressFingerprint.dart b/star_lock/lib/blue/io_protocol/io_addStressFingerprint.dart index 397b3ebb..2e94ac15 100644 --- a/star_lock/lib/blue/io_protocol/io_addStressFingerprint.dart +++ b/star_lock/lib/blue/io_protocol/io_addStressFingerprint.dart @@ -18,6 +18,7 @@ class SenderAddStressFingerprintCommand extends SenderProtocol { String? keyID; String? userID; int? fingerNo; + int? fingerType; int? useCountLimit; List? token; int? startTime; @@ -25,11 +26,13 @@ class SenderAddStressFingerprintCommand extends SenderProtocol { int? needAuthor; List? publicKey; List? privateKey; + List? signKey; SenderAddStressFingerprintCommand({ this.keyID, this.userID, this.fingerNo, + this.fingerType, this.useCountLimit, this.token, this.startTime, @@ -37,6 +40,7 @@ class SenderAddStressFingerprintCommand extends SenderProtocol { this.needAuthor, this.publicKey, this.privateKey, + this.signKey }) : super(CommandType.generalExtendedCommond); @override @@ -71,8 +75,11 @@ class SenderAddStressFingerprintCommand extends SenderProtocol { // PwdNo subData.add(fingerNo!); + // fingerType + subData.add(fingerType!); + // UseCountLimit - subData.add(0xff); + subData.add(255); // token subData.addAll(token!); @@ -104,13 +111,12 @@ class SenderAddStressFingerprintCommand extends SenderProtocol { //token 4 首次请求 Token 填 0,如果锁需要鉴权操作者身份,则会分配动态口令并在应答消息中返回,二次请求时带上。 authCodeData.addAll(token!); - authCodeData.addAll(publicKey!); + authCodeData.addAll(signKey!); print("${commandType!.typeValue}-authCodeData:$authCodeData"); // 把KeyID、authUserID、时间戳、公钥通过md5加密之后就是authCode var authCode = crypto.md5.convert(authCodeData); - subData.add(authCode.bytes.length); subData.addAll(authCode.bytes); } diff --git a/star_lock/lib/blue/io_protocol/io_addStressICCard.dart b/star_lock/lib/blue/io_protocol/io_addStressICCard.dart index e67f4eda..81e416f9 100644 --- a/star_lock/lib/blue/io_protocol/io_addStressICCard.dart +++ b/star_lock/lib/blue/io_protocol/io_addStressICCard.dart @@ -18,6 +18,7 @@ class SenderAddStressICCardCommand extends SenderProtocol { String? keyID; String? userID; int? icCardNo; + int? cardType; int? useCountLimit; List? token; int? startTime; @@ -30,6 +31,7 @@ class SenderAddStressICCardCommand extends SenderProtocol { this.keyID, this.userID, this.icCardNo, + this.cardType, this.useCountLimit, this.token, this.startTime, @@ -68,9 +70,12 @@ class SenderAddStressICCardCommand extends SenderProtocol { subData.addAll(utf8.encode(userID!)); subData = getFixedLengthList(subData, 20 - userIDLength); - // PwdNo + // icCardNo subData.add(icCardNo!); + // cardType + subData.add(cardType!); + // UseCountLimit subData.add(0xff); diff --git a/star_lock/lib/blue/sender_manage.dart b/star_lock/lib/blue/sender_manage.dart index 6f9531ae..2df9c664 100644 --- a/star_lock/lib/blue/sender_manage.dart +++ b/star_lock/lib/blue/sender_manage.dart @@ -544,6 +544,7 @@ class IoSenderManage { required String? keyID, required String? userID, required int? fingerNo, + required int? fingerType, required int? useCountLimit, required List? token, required int? startTime, @@ -551,12 +552,14 @@ class IoSenderManage { required int? needAuthor, required List? publicKey, required List? privateKey, + required List? signKey, CommandSendCallBack? callBack}) { CommandSenderManager().managerSendData( command: SenderAddStressFingerprintCommand( keyID: keyID, userID: userID, fingerNo: fingerNo, + fingerType: fingerType, useCountLimit: useCountLimit, token: token, startTime: startTime, @@ -564,6 +567,7 @@ class IoSenderManage { needAuthor: needAuthor, publicKey: publicKey, privateKey: privateKey, + signKey: signKey ), callBack:callBack); } @@ -572,6 +576,7 @@ class IoSenderManage { required String? keyID, required String? userID, required int? icCardNo, + required int? cardType, required int? useCountLimit, required List? token, required int? startTime, @@ -585,6 +590,7 @@ class IoSenderManage { keyID: keyID, userID: userID, icCardNo: icCardNo, + cardType: cardType, useCountLimit: useCountLimit, token: token, startTime: startTime, diff --git a/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart b/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart index d98a6aa6..126fe5d7 100644 --- a/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart +++ b/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart @@ -45,7 +45,7 @@ class AddICCardLogic extends BaseGetXController{ } Future _replyAddICCardBegin(Reply reply) async { - var token = reply.data.sublist(2, 6); + var token = reply.data.sublist(5, 9); var saveStrList = changeIntListToStringList(token); print("_replyAddFingerprintReplyToken:$token"); Storage.setStringList(saveBlueToken, saveStrList); @@ -74,8 +74,8 @@ class AddICCardLogic extends BaseGetXController{ userID:await Storage.getUid(), fingerNo:1, useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, @@ -114,7 +114,7 @@ class AddICCardLogic extends BaseGetXController{ //成功 print("${reply.commandType!.typeValue} 数据解析成功"); // print("添加指纹确认成功,调用添加指纹接口"); - if(state.isCoerced.value == "2"){ + if(state.isCoerced.value == "1"){ // 非胁迫指纹 int addResultStatus = reply.data[5]; if(addResultStatus == 0){ @@ -169,8 +169,26 @@ class AddICCardLogic extends BaseGetXController{ addICCardData(); break; case 0x06: - //无权限 + //无权限 + var publicKey = await Storage.getStringList(saveBluePublicKey); + List publicKeyDataList = changeStringListToIntList(publicKey!); + var privateKey = await Storage.getStringList(saveBluePrivateKey); + List getPrivateKeyList = changeStringListToIntList(privateKey!); + + IoSenderManage.senderAddStressICCardCommand( + keyID:"1", + userID:await Storage.getUid(), + icCardNo:1, + cardType:1, + useCountLimit:1, + startTime:0x11223344, + endTime:0x11223344, + needAuthor:1, + publicKey:publicKeyDataList, + privateKey:getPrivateKeyList, + token: token, + ); break; case 0x07: //无权限 @@ -192,8 +210,8 @@ class AddICCardLogic extends BaseGetXController{ // 添加卡片开始 Future senderAddICCard() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected){ + BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { + if (deviceConnectionState == DeviceConnectionState.connected){ var publicKey = await Storage.getStringList(saveBluePublicKey); List publicKeyDataList = changeStringListToIntList(publicKey!); @@ -222,8 +240,8 @@ class AddICCardLogic extends BaseGetXController{ // 添加胁迫卡片 Future senderAddStressICCard() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected){ + BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { + if (deviceConnectionState == DeviceConnectionState.connected){ var publicKey = await Storage.getStringList(saveBluePublicKey); List publicKeyDataList = changeStringListToIntList(publicKey!); @@ -238,9 +256,10 @@ class AddICCardLogic extends BaseGetXController{ keyID:"1", userID:await Storage.getUid(), icCardNo:1, + cardType:1, useCountLimit:1, - startTime:0x11223344, - endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, diff --git a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart index 8d279d3a..9ea3f875 100644 --- a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart +++ b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart @@ -34,7 +34,7 @@ class CardDetailState{ keyType.value = fingerprintItemData.value.cardType!; adder.value = fingerprintItemData.value.senderUsername!; addTime.value = fingerprintItemData.value.createDate!; - isStressFingerprint.value = fingerprintItemData.value.isCoerced! == 2 ? true : false; + isStressFingerprint.value = fingerprintItemData.value.isCoerced! == 1 ? true : false; weekDay.value = fingerprintItemData.value.weekDay!; } } \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart b/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart index 2db946c8..4d7dcac8 100644 --- a/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart +++ b/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart @@ -19,6 +19,7 @@ class OtherTypeKeyChangeDateLogic extends BaseGetXController{ endDate: state.endTimeTimestamp.value.toString(), isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", fingerprintName: state.fingerprintItemData.value.fingerprintName!, + changeType: "1", ); if(entity.errorCode!.codeIsSuccessful){ Toast.show(msg: "修改成功"); diff --git a/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart b/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart index 2f38fcea..06a26690 100644 --- a/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart +++ b/star_lock/lib/main/lockDetail/card/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart @@ -20,6 +20,7 @@ class OtherTypeKeyChangeValidityDateLogic extends BaseGetXController{ endDate: state.endTimeTimestamp.value.toString(), isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", fingerprintName: state.fingerprintItemData.value.fingerprintName!, + changeType: "1", ); if(entity.errorCode!.codeIsSuccessful){ Toast.show(msg: "修改成功"); diff --git a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart index 7a753bf1..129df076 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart @@ -51,11 +51,6 @@ class AddFingerprintLogic extends BaseGetXController { } Future _replyAddFingerprintBegin(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - int status = reply.data[2]; print("status:$status"); @@ -75,20 +70,24 @@ class AddFingerprintLogic extends BaseGetXController { var publicKey = await Storage.getStringList(saveBluePublicKey); List publicKeyDataList = changeStringListToIntList(publicKey!); - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); + var token = reply.data.sublist(5, 9); + var saveStrList = changeIntListToStringList(token); + print("_replyAddFingerprintReplyToken:$token"); + Storage.setStringList(saveBlueToken, saveStrList); IoSenderManage.senderAddFingerprintCommand( keyID:"1", userID:await Storage.getUid(), fingerNo:1, useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, + // startTime:0x11223344, + // endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, - token: getTokenList, + token: token, ); break; case 0x07: @@ -110,11 +109,6 @@ class AddFingerprintLogic extends BaseGetXController { } Future _replyAddFingerprintProcess(Reply reply) async { - var token = reply.data.sublist(2, 6); - var saveStrList = changeIntListToStringList(token); - print("_replyAddFingerprintReplyToken:$token"); - Storage.setStringList(saveBlueToken, saveStrList); - int status = reply.data[2]; print("33 status:$status"); @@ -134,7 +128,31 @@ class AddFingerprintLogic extends BaseGetXController { break; case 0x06: //需要权限 - + // var token = reply.data.sublist(5, 9); + // var saveStrList = changeIntListToStringList(token); + // print("_replyAddFingerprintReplyToken:$token"); + // Storage.setStringList(saveBlueToken, saveStrList); + // + // var privateKey = await Storage.getStringList(saveBluePrivateKey); + // List getPrivateKeyList = changeStringListToIntList(privateKey!); + // + // var publicKey = await Storage.getStringList(saveBluePublicKey); + // List publicKeyDataList = changeStringListToIntList(publicKey!); + // + // IoSenderManage.senderAddStressFingerprintCommand( + // keyID:"1", + // userID:await Storage.getUid(), + // fingerNo:1, + // useCountLimit:1, + // // startTime:0x11223344, + // // endTime:0x11223344, + // startTime:int.parse(state.startDate.value)~/1000, + // endTime:int.parse(state.endDate.value)~/1000, + // needAuthor:1, + // publicKey:publicKeyDataList, + // privateKey:getPrivateKeyList, + // token: token, + // ); break; case 0x07: //无权限 @@ -155,11 +173,6 @@ class AddFingerprintLogic extends BaseGetXController { } Future _replyAddFingerprintConfirmation(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - int status = reply.data[2]; print("status:$status"); @@ -168,13 +181,13 @@ class AddFingerprintLogic extends BaseGetXController { //成功 print("${reply.commandType!.typeValue} 数据解析成功"); // print("添加指纹确认成功,调用添加指纹接口"); - if(state.isCoerced.value == "2"){ + // if(state.isCoerced.value == "1"){ // 非胁迫指纹 addFingerprintsData(reply.data[6].toString()); - }else{ - // 如果是胁迫指纹在 添加完之后以后再调用添加胁迫指纹的 - senderAddStressFingerprint(); - } + // }else{ + // // 如果是胁迫指纹在 添加完之后以后再调用添加胁迫指纹的 + // senderAddStressFingerprint(); + // } break; case 0x06: //需要权限 @@ -199,11 +212,6 @@ class AddFingerprintLogic extends BaseGetXController { } Future _replyAddStressFingerprint(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - int status = reply.data[2]; print("status:$status"); @@ -217,6 +225,36 @@ class AddFingerprintLogic extends BaseGetXController { case 0x06: //需要权限 + var privateKey = await Storage.getStringList(saveBluePrivateKey); + List getPrivateKeyList = changeStringListToIntList(privateKey!); + + var publicKey = await Storage.getStringList(saveBluePublicKey); + List publicKeyDataList = changeStringListToIntList(publicKey!); + + var signKey = await Storage.getStringList(saveBlueSignKey); + List getSignKeyList = changeStringListToIntList(signKey!); + + var token = reply.data.sublist(5, 9); + var saveStrList = changeIntListToStringList(token); + print("_replyAddFingerprintReplyToken:$token"); + Storage.setStringList(saveBlueToken, saveStrList); + + IoSenderManage.senderAddStressFingerprintCommand( + keyID:"1", + userID:await Storage.getUid(), + fingerNo:1, + fingerType:1, + useCountLimit:1, + // startTime:0x11223344, + // endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, + needAuthor:1, + publicKey:publicKeyDataList, + privateKey:getPrivateKeyList, + token: token, + signKey: getSignKeyList + ); break; case 0x07: //无权限 @@ -255,10 +293,10 @@ class AddFingerprintLogic extends BaseGetXController { userID:await Storage.getUid(), fingerNo:1, useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, + // startTime:0x11223344, + // endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, @@ -278,23 +316,28 @@ class AddFingerprintLogic extends BaseGetXController { var privateKey = await Storage.getStringList(saveBluePrivateKey); List getPrivateKeyList = changeStringListToIntList(privateKey!); + var signKey = await Storage.getStringList(saveBlueSignKey); + List getSignKeyList = changeStringListToIntList(signKey!); + var token = await Storage.getStringList(saveBlueToken); List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList"); + print("StressFingerprintToken:$getTokenList"); IoSenderManage.senderAddStressFingerprintCommand( keyID:"1", userID:await Storage.getUid(), fingerNo:1, + fingerType:1, useCountLimit:1, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, + // startTime:0x11223344, + // endTime:0x11223344, + startTime:int.parse(state.startDate.value)~/1000, + endTime:int.parse(state.endDate.value)~/1000, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, token: getTokenList, + signKey: getSignKeyList ); } }); @@ -307,14 +350,14 @@ class AddFingerprintLogic extends BaseGetXController { endDate: state.endDate.value, addType:state.addType.value, fingerprintName: state.fingerprintName.value, - fingerprintNumber: "123456", + fingerprintNumber: fingerprintUserNo, fingerprintType: state.fingerprintType.value, isCoerced: state.isCoerced.value, startDate: state.startDate.value, weekDay: state.weekDay.value, ); if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "添加成功"); + // Toast.show(msg: "添加成功"); updateFingerprintUserNoLoadData(entity.data!.fingerprintId.toString(), fingerprintUserNo); } } diff --git a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart index 939be283..9a3a84f7 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart @@ -26,7 +26,7 @@ class _AddFingerprintPageState extends State { return Scaffold( backgroundColor: Colors.white, appBar: TitleAppBar( - barTitle: TranslationLoader.lanKeys!.addLock!.tr, + barTitle: "${TranslationLoader.lanKeys!.addTip!.tr}${TranslationLoader.lanKeys!.fingerprint!.tr}", haveBack: true, backgroundColor: AppColors.mainColor), body: ListView( diff --git a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_state.dart b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_state.dart index b64e3e69..3914ec93 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_state.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_state.dart @@ -24,6 +24,7 @@ class AddFingerprintState{ fingerprintNumber.value = map["fingerprintNumber"]; fingerprintType.value = map["fingerprintType"]; isCoerced.value = map["isCoerced"]; + print("isCoerced.valueisCoerced.value:${isCoerced.value}"); startDate.value = map["startDate"]; lockId.value = map["lockId"]; weekDay.value = map["weekDay"]; diff --git a/star_lock/lib/main/lockDetail/fingerprint/addFingerprintSeletType/addFingerprintManage/addFingerprintTypeManage_page.dart b/star_lock/lib/main/lockDetail/fingerprint/addFingerprintSeletType/addFingerprintManage/addFingerprintTypeManage_page.dart index 8679329c..c9578bab 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/addFingerprintSeletType/addFingerprintManage/addFingerprintTypeManage_page.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/addFingerprintSeletType/addFingerprintManage/addFingerprintTypeManage_page.dart @@ -31,7 +31,7 @@ class _AddFingerprintTypeManagePageState extends State senderAddFingerprint(String keyId, String userID, int cardNo) async { + Future senderAddFingerprint() async { BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { if (deviceConnectionState == DeviceConnectionState.connected){ var publicKey = await Storage.getStringList(saveBluePublicKey); @@ -99,13 +99,15 @@ class FingerprintDetailLogic extends BaseGetXController{ var token = await Storage.getStringList(saveBlueToken); List getTokenList = changeStringListToIntList(token!); + String? userID = await Storage.getUid(); + IoSenderManage.senderAddFingerprintCommand( - keyID:keyId, + keyID:state.keyId.value.toString(), userID:userID, - fingerNo:cardNo, + fingerNo:1, useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, + startTime:state.effectiveDateTime.value, + endTime:state.failureDateTime.value, needAuthor:1, publicKey:publicKeyDataList, privateKey:getPrivateKeyList, @@ -115,7 +117,6 @@ class FingerprintDetailLogic extends BaseGetXController{ }); } - // 编辑指纹 void editFingerprintsData() async{ var entity = await ApiRepository.to.editFingerprintsData( @@ -126,6 +127,7 @@ class FingerprintDetailLogic extends BaseGetXController{ endDate: state.failureDateTime.value.toString(), isCoerced: state.isStressFingerprint.value ? "2" : "1", fingerprintName: state.changeNameController.text, + changeType: "1", ); if(entity.errorCode!.codeIsSuccessful){ Toast.show(msg: "修改成功"); diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart index efc40949..4816167e 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart @@ -311,7 +311,7 @@ class _FingerprintDetailPageState extends State { sureClick: () { Get.back(); // 指纹 - logic.deletFingerprintsData(); + logic.senderAddFingerprint(); }, cancelClick: () { Get.back(); diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart index 781515a0..5aab6066 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart @@ -137,8 +137,7 @@ class _FingerprintListPageState extends State { key: Key(fingerprintItemData.fingerprintName!), actionsWidth: 60, actions: [ - _buildDeleteBtn( - fingerprintItemData.fingerprintId.toString()), + _buildDeleteBtn(fingerprintItemData.fingerprintId.toString()), ], decoration: const BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(1)), diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart index 345c6575..0921f550 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart @@ -7,8 +7,9 @@ import 'fingerprintListData_entity.dart'; class FingerprintListState{ final lockId = 0.obs; + // 因为删除跟添加指纹用的同一个协议 所以这里用做判断 var isDeletFingerprintData = false; - var isDeletICCardData = false; + var isDeletAll = false; final fingerprintItemListData = [].obs; final TextEditingController searchController = TextEditingController(); diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 92cf3e5a..e4941f13 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -458,7 +458,7 @@ class LockDetailLogic extends BaseGetXController{ BlueManage().connectDeviceMacAddress = v[knownDeviceIndex].id; connectBlue(v[knownDeviceIndex].id, state.keyInfos.value.bluetooth!.bluetoothDeviceName!); eventBus.fire(ScanAllDeviceFindCurrentDeviceConnectedEvent(v[knownDeviceIndex].serviceUuids[0].toString())); - // BlueManage().stopScan(); + BlueManage().stopScan(); } }); } diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index c48dd407..925211a1 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -958,7 +958,8 @@ class ApiProvider extends BaseProvider { String startDate, String endDate, String isCoerced, - String fingerprintName) => + String fingerprintName, + String changeType) => post( editFingerprintURL.toUrl, jsonEncode({ @@ -968,7 +969,8 @@ class ApiProvider extends BaseProvider { 'startDate': startDate, 'endDate': endDate, 'isCoerced': isCoerced, - 'fingerprintName': fingerprintName + 'fingerprintName': fingerprintName, + 'changeType': changeType })); // 删除指纹 diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index e8382fbe..6be2c703 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -1115,9 +1115,10 @@ class ApiRepository { required String startDate, required String endDate, required String isCoerced, - required String fingerprintName}) async { + required String fingerprintName, + required String changeType}) async { final res = await apiProvider.editFingerprintsData(fingerprintId, lockId, - weekDay, startDate, endDate, isCoerced, fingerprintName); + weekDay, startDate, endDate, isCoerced, fingerprintName, changeType); return LoginEntity.fromJson(res.body); }