From 9e31a73a8114a907a8e37e834951ebda9ef875e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Mon, 22 Apr 2024 11:16:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E6=8C=87?= =?UTF-8?q?=E7=BA=B9=E3=80=81=E5=8D=A1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/lib/blue/io_reply.dart | 8 +++ .../card/addICCard/addICCard_logic.dart | 52 +++++++++---------- .../card/cardDetail/cardDetail_logic.dart | 45 ++++++++-------- .../card/cardDetail/cardDetail_page.dart | 8 +-- .../card/cardDetail/cardDetail_state.dart | 11 ++-- .../addFingerprint/addFingerprint_logic.dart | 36 ++++++------- .../fingerprintDetail_logic.dart | 37 ++++++------- .../fingerprintDetail_page.dart | 8 +-- .../fingerprintDetail_state.dart | 4 +- .../addLock/nearbyLock/nearbyLock_logic.dart | 3 +- star_lock/lib/tools/dateTool.dart | 16 ++++++ 11 files changed, 127 insertions(+), 101 deletions(-) diff --git a/star_lock/lib/blue/io_reply.dart b/star_lock/lib/blue/io_reply.dart index 5680d810..8b7252bc 100644 --- a/star_lock/lib/blue/io_reply.dart +++ b/star_lock/lib/blue/io_reply.dart @@ -33,6 +33,7 @@ abstract class Reply{ case 0x03: // 网络中断 Get.log("${commandType!.typeName} 网络中断"); + showErrorMessage("网络中断"); break; case 0x04: // 用户未登记 @@ -42,18 +43,22 @@ abstract class Reply{ case 0x05: // 参数错误 Get.log("${commandType!.typeName}参数错误"); + showErrorMessage("参数错误"); break; case 0x06: // 需要鉴权 Get.log("${commandType!.typeName}需要鉴权"); + showErrorMessage("需要鉴权"); break; case 0x07: // 无权限 Get.log("${commandType!.typeName}无权限"); + showErrorMessage("无权限"); break; case 0x08: // 应答超时 Get.log("${commandType!.typeName}应答超时"); + showErrorMessage("应答超时"); break; case 0x09: // 权限校验错误 @@ -97,10 +102,12 @@ abstract class Reply{ case 0x11: // 无效指令 Get.log("${commandType!.typeName}无效指令"); + showErrorMessage("无效指令"); break; case 0x12: // 门锁时间异常 Get.log("${commandType!.typeName}门锁时间异常"); + showErrorMessage("门锁时间异常"); break; case 0x15: // APP(手机)未联网 @@ -115,6 +122,7 @@ abstract class Reply{ case 0xff: // 异常,未知错误 Get.log("${commandType!.typeName} 0xff"); + showErrorMessage("异常,未知错误"); break; default: //失败 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 5dae4cd0..fef8abf5 100644 --- a/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart +++ b/star_lock/lib/main/lockDetail/card/addICCard/addICCard_logic.dart @@ -49,7 +49,7 @@ class AddICCardLogic extends BaseGetXController{ switch(status){ case 0x00: //成功 - // state.cardNumber.value = reply.data.last.toString(); + state.cardNumber.value = reply.data.last.toString(); cancelBlueConnetctToastTimer(); state.ifConnectScuess.value = true; break; @@ -64,14 +64,14 @@ class AddICCardLogic extends BaseGetXController{ // var publicKey = await Storage.getStringList(saveBluePublicKey); // List publicKeyDataList = changeStringListToIntList(publicKey!); - var weekStr = "00000000"; - for (var day in state.weekDay.value) { - int index = day % 7; // 将周日的索引转换为 0 - weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; - } - // 倒序 weekStr - weekStr = weekStr.split('').reversed.join(''); - int weekRound = int.parse(weekStr, radix: 2); + // var weekStr = "00000000"; + // for (var day in state.weekDay.value) { + // int index = day % 7; // 将周日的索引转换为 0 + // weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; + // } + // // 倒序 weekStr + // weekStr = weekStr.split('').reversed.join(''); + // int weekRound = int.parse(weekStr, radix: 2); // print("weekStrweekStrweekStr:$weekStr weekRound:$weekRound"); var token = reply.data.sublist(5, 9); @@ -85,7 +85,7 @@ class AddICCardLogic extends BaseGetXController{ useCountLimit:0xff, isForce:state.isCoerced.value == "1" ? 0 : 1, // 是否是胁迫 isRound:state.selectType.value == "2" ? 1: 0, // 是否是循环 - weekRound:weekRound, // 周循环 + weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 startDate: int.parse(state.startDate.value)~/1000, endDate: int.parse(state.endDate.value)~/1000, startTime:DateTool().dateToHNString(state.effectiveDateTime.value), @@ -110,11 +110,11 @@ class AddICCardLogic extends BaseGetXController{ switch(status){ case 0x00: //成功 - if(state.cardNumber.value == (reply.data[6]).toString()){ - return; - }else{ - state.cardNumber.value = (reply.data[6]).toString(); - } + // if(state.cardNumber.value == (reply.data[6]).toString()){ + // return; + // }else{ + // state.cardNumber.value = (reply.data[6]).toString(); + // } // if(state.isCoerced.value == "1"){ // 非胁迫 int addResultStatus = reply.data[5]; @@ -205,16 +205,16 @@ class AddICCardLogic extends BaseGetXController{ // var publicKey = await Storage.getStringList(saveBluePublicKey); // List publicKeyDataList = changeStringListToIntList(publicKey!); - var weekStr = "00000000"; - print("state.weekDay.value:${state.weekDay.value}"); - for (var day in state.weekDay.value) { - int index = day % 7; // 将周日的索引转换为 0 - weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; - } - // 倒序 weekStr - weekStr = weekStr.split('').reversed.join(''); - int weekRound = int.parse(weekStr, radix: 2); - // print("weekStrweekStrweekStr:$weekStr weekRound:$weekRound"); + // var weekStr = "00000000"; + // print("state.weekDay.value:${state.weekDay.value}"); + // for (var day in state.weekDay.value) { + // int index = day % 7; // 将周日的索引转换为 0 + // weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; + // } + // // 倒序 weekStr + // weekStr = weekStr.split('').reversed.join(''); + // int weekRound = int.parse(weekStr, radix: 2); + // // print("weekStrweekStrweekStr:$weekStr weekRound:$weekRound"); var signKey = await Storage.getStringList(saveBlueSignKey); List signKeyDataList = changeStringListToIntList(signKey!); @@ -233,7 +233,7 @@ class AddICCardLogic extends BaseGetXController{ useCountLimit:0xff, isForce:state.isCoerced.value == "2" ? 1 : 0, // 是否是胁迫 isRound:state.selectType.value == "2" ? 1: 0, // 是否是循环 - weekRound:weekRound, // 周循环 + weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 startDate: int.parse(state.startDate.value)~/1000, endDate: int.parse(state.endDate.value)~/1000, startTime:DateTool().dateToHNString(state.effectiveDateTime.value), diff --git a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_logic.dart b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_logic.dart index 7c88484f..9fffec0a 100644 --- a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_logic.dart @@ -56,25 +56,26 @@ class CardDetailLogic 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); + Storage.setStringList(saveBlueToken, saveStrList); IoSenderManage.senderAddCardWithTimeCycleCoercionCommand( keyID:state.keyId.value.toString(), userID:await Storage.getUid(), cardNo:int.parse(state.typeNumber.value), - useCountLimit:0, - isForce:0, // 是否是胁迫 - isRound:0, // 是否是循环 - weekRound:0, // 周循环 - startDate: 0x11223344, - endDate: 0x11223344, - startTime:"0", - endTime:"0", + useCountLimit:0xff, + isForce:state.isStressFingerprint.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.starTime.value), + endTime:DateTool().dateToHNString(state.endTime.value), needAuthor:1, signKey:signKeyDataList, privateKey:getPrivateKeyList, - token: getTokenList, + token: token, ); break; default: @@ -114,14 +115,14 @@ class CardDetailLogic extends BaseGetXController{ keyID:state.keyId.value.toString(), userID:await Storage.getUid(), cardNo:int.parse(state.typeNumber.value), - useCountLimit:0, - isForce:0, // 是否是胁迫 - isRound:0, // 是否是循环 - weekRound:0, // 周循环 - startDate: 0x11223344, - endDate: 0x11223344, - startTime:"0", - endTime:"0", + useCountLimit:0xff, + isForce:state.isStressFingerprint.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.starTime.value), + endTime:DateTool().dateToHNString(state.endTime.value), needAuthor:1, signKey:signKeyDataList, privateKey:getPrivateKeyList, @@ -157,7 +158,7 @@ class CardDetailLogic extends BaseGetXController{ cardId: state.keyId.value.toString(), lockId: state.fingerprintItemData.value.lockId.toString(), weekDay: state.weekDay.value, - startDate: state.starDate.value, + startDate: state.startDate.value, endDate: state.endDate.value, isCoerced: state.isStressFingerprint.value ? "2" : "1", cardName: state.changeNameController.text, @@ -193,9 +194,9 @@ class CardDetailLogic extends BaseGetXController{ if(state.keyType.value == 1){ useDateStr = "永久".tr; }else if(state.keyType.value == 2){ - useDateStr = "${DateTool().dateToYMDHNString(state.starDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}"; + useDateStr = "${DateTool().dateToYMDHNString(state.startDate.value)}\n${DateTool().dateToYMDHNString(state.endDate.value)}"; } else if(state.keyType.value == 4){ - useDateStr = "${DateTool().dateToYMDString(state.starDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}"; + useDateStr = "${DateTool().dateToYMDString(state.startDate.value)}\n${DateTool().dateToYMDString(state.endDate.value)}"; } return useDateStr; } diff --git a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart index c1aaacfd..ca094afa 100644 --- a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart +++ b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart @@ -70,7 +70,7 @@ class _CardDetailPageState extends State with RouteAware { }); if(data != null) { setState(() { - state.starDate.value = data["beginTimeTimestamp"]; + state.startDate.value = data["beginTimeTimestamp"]; state.endDate.value = data["endTimeTimestamp"]; state.keyType.value = 2; }); @@ -83,7 +83,7 @@ class _CardDetailPageState extends State with RouteAware { }); if(data != null) { setState(() { - state.starDate.value = data["starDate"]; + state.startDate.value = data["starDate"]; state.endDate.value = data["endDate"]; state.starTime.value = data["starTime"]; state.endTime.value = data["endTime"]; @@ -107,7 +107,7 @@ class _CardDetailPageState extends State with RouteAware { }); if(data != null) { setState(() { - state.starDate.value = data["starDate"]; + state.startDate.value = data["starDate"]; state.endDate.value = data["endDate"]; state.starTime.value = data["starTime"]; state.endTime.value = data["endTime"]; @@ -128,7 +128,7 @@ class _CardDetailPageState extends State with RouteAware { }); if(data != null) { setState(() { - state.starDate.value = data["starDate"]; + state.startDate.value = data["starDate"]; state.endDate.value = data["endDate"]; state.starTime.value = data["starTime"]; state.endTime.value = data["endTime"]; 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 289371f9..07f83e08 100644 --- a/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart +++ b/star_lock/lib/main/lockDetail/card/cardDetail/cardDetail_state.dart @@ -12,10 +12,12 @@ class CardDetailState{ var ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 var sureBtnState = 0.obs;// 0普通状态(可用) 1连接中(不可用) + var isDeletCard = true.obs;// 是否删除卡 + var isStressFingerprint = false.obs;// 是否胁迫 final typeNumber = "".obs;// 指纹号 final typeName = "".obs;// 指纹名字 - var starDate = "".obs;// 开始时间 + var startDate = "".obs;// 开始时间 var endDate = "".obs;// 结束时间 var starTime = "".obs;// 生效时间 var endTime = "".obs;// 失效时间 @@ -25,7 +27,6 @@ class CardDetailState{ var addTime = 0.obs;// 添加时间 var keyId = 0.obs;// 卡id - final isStressFingerprint = false.obs; CardDetailState() { Map map = Get.arguments; if ((map["fingerprintItemData"] != null)) { @@ -34,15 +35,15 @@ class CardDetailState{ typeNumber.value = fingerprintItemData.value.cardNumber!; typeName.value = fingerprintItemData.value.cardName!; changeNameController.text = typeName.value; - starDate.value = fingerprintItemData.value.startDate!.toString(); + startDate.value = fingerprintItemData.value.startDate!.toString(); endDate.value = fingerprintItemData.value.endDate!.toString(); starTime.value = fingerprintItemData.value.startDate!.toString(); endTime.value = fingerprintItemData.value.endDate!.toString(); 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! == 2 ? true : false; + weekDay.value = fingerprintItemData.value.weekDay!; } } 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 031be367..8dee9a66 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart @@ -81,14 +81,14 @@ class AddFingerprintLogic extends BaseGetXController { var saveStrList = changeIntListToStringList(token); Storage.setStringList(saveBlueToken, saveStrList); - var weekStr = "00000000"; - for (var day in state.weekDay.value) { - int index = day % 7; // 将周日的索引转换为 0 - weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; - } - // 倒序 weekStr - weekStr = weekStr.split('').reversed.join(''); - int weekRound = int.parse(weekStr, radix: 2); + // var weekStr = "00000000"; + // for (var day in state.weekDay.value) { + // int index = day % 7; // 将周日的索引转换为 0 + // weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; + // } + // // 倒序 weekStr + // weekStr = weekStr.split('').reversed.join(''); + // int weekRound = int.parse(weekStr, radix: 2); IoSenderManage.senderAddFingerprintWithTimeCycleCoercionCommand( keyID:"1", @@ -97,7 +97,7 @@ class AddFingerprintLogic extends BaseGetXController { useCountLimit:0xff, isForce:state.isCoerced.value == "1" ? 1 : 0, // 是否是胁迫 isRound:state.selectType.value == "2" ? 1: 0, // 是否是循环 - weekRound:weekRound, // 周循环 + weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 startDate: int.parse(state.startDate.value)~/1000, endDate: int.parse(state.endDate.value)~/1000, startTime:DateTool().dateToHNString(state.effectiveDateTime.value), @@ -260,14 +260,14 @@ class AddFingerprintLogic extends BaseGetXController { // var publicKey = await Storage.getStringList(saveBluePublicKey); // List publicKeyDataList = changeStringListToIntList(publicKey!); - var weekStr = "00000000"; - for (var day in state.weekDay.value) { - int index = day % 7; // 将周日的索引转换为 0 - weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; - } - // 倒序 weekStr - weekStr = weekStr.split('').reversed.join(''); - int weekRound = int.parse(weekStr, radix: 2); + // var weekStr = "00000000"; + // for (var day in state.weekDay.value) { + // int index = day % 7; // 将周日的索引转换为 0 + // weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; + // } + // // 倒序 weekStr + // weekStr = weekStr.split('').reversed.join(''); + // int weekRound = int.parse(weekStr, radix: 2); // Get.log("weekStrweekStrweekStr:$weekStr weekRound:$weekRound"); var privateKey = await Storage.getStringList(saveBluePrivateKey); @@ -287,7 +287,7 @@ class AddFingerprintLogic extends BaseGetXController { useCountLimit:0xff, isForce:state.isCoerced.value == "2" ? 1 : 0, // 是否是胁迫 isRound:state.selectType.value == "2" ? 1: 0, // 是否是循环 - weekRound:weekRound, // 周循环 + weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 startDate: int.parse(state.startDate.value)~/1000, endDate: int.parse(state.endDate.value)~/1000, startTime:DateTool().dateToHNString(state.effectiveDateTime.value), diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_logic.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_logic.dart index 0cb7ec9d..05383508 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_logic.dart @@ -58,25 +58,26 @@ class FingerprintDetailLogic 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); + Storage.setStringList(saveBlueToken, saveStrList); IoSenderManage.senderAddFingerprintWithTimeCycleCoercionCommand( keyID:state.keyId.value.toString(), userID:await Storage.getUid(), fingerNo:int.parse(state.typeNumber.value), useCountLimit:0xff, - isForce:0, // 是否是胁迫 - isRound:0, // 是否是循环 - weekRound:0, // 周循环 - startDate: 0x11223344, - endDate: 0x11223344, - startTime:"0", - endTime:"0", + isForce:state.isStressFingerprint.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.startDate.value), + endTime:DateTool().dateToHNString(state.endTime.value), needAuthor:1, signKey:signKeyDataList, privateKey:getPrivateKeyList, - token: getTokenList, + token: token, ); break; default: @@ -117,13 +118,13 @@ class FingerprintDetailLogic extends BaseGetXController{ userID:await Storage.getUid(), fingerNo:int.parse(state.typeNumber.value), useCountLimit:0xff, - isForce:0, // 是否是胁迫 - isRound:0, // 是否是循环 - weekRound:0, // 周循环 - startDate: 0x11223344, - endDate: 0x11223344, - startTime:"0", - endTime:"0", + isForce:state.isStressFingerprint.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.startDate.value), + endTime:DateTool().dateToHNString(state.endTime.value), needAuthor:1, signKey:signKeyDataList, privateKey:getPrivateKeyList, @@ -179,7 +180,7 @@ class FingerprintDetailLogic extends BaseGetXController{ isCoerced: state.isStressFingerprint.value ? "2" : "1", fingerprintName: state.changeNameController.text, changeType: "1", - startTime: int.parse(state.starTime.value), + startTime: int.parse(state.startDate.value), endTime: int.parse(state.endTime.value), fingerprintType: state.fingerprintItemData.value.fingerprintType!, ); 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 e67b80ff..202c4a19 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart @@ -93,7 +93,7 @@ class _FingerprintDetailPageState extends State with Rout state.starDate.value = data["starDate"]; state.endDate.value = data["endDate"]; - state.starTime.value = data["starTime"]; + state.startDate.value = data["starTime"]; state.endTime.value = data["endTime"]; state.weekDay.value = data["weekDay"]; @@ -117,7 +117,7 @@ class _FingerprintDetailPageState extends State with Rout setState(() { state.starDate.value = data["starDate"]; state.endDate.value = data["endDate"]; - state.starTime.value = data["starTime"]; + state.startDate.value = data["starTime"]; state.endTime.value = data["endTime"]; state.weekDay.value = data["weekDay"]; }); @@ -127,7 +127,7 @@ class _FingerprintDetailPageState extends State with Rout visible: state.keyType.value == 4 ? true : false, child: Obx(() => CommonItem( leftTitel: "有效时间".tr, - rightTitle: "${DateTool().dateToHNString(state.starTime.value)}-${DateTool().dateToHNString(state.endTime.value)}", + rightTitle: "${DateTool().dateToHNString(state.startDate.value)}-${DateTool().dateToHNString(state.endTime.value)}", isHaveDirection: true, action: () async { var data = await Get.toNamed(Routers.otherTypeKeyChangeValidityDatePage, arguments: { @@ -138,7 +138,7 @@ class _FingerprintDetailPageState extends State with Rout setState(() { state.starDate.value = data["starDate"]; state.endDate.value = data["endDate"]; - state.starTime.value = data["starTime"]; + state.startDate.value = data["starTime"]; state.endTime.value = data["endTime"]; state.weekDay.value = data["validityValue"]; }); diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_state.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_state.dart index 86a9ca6f..e107590d 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_state.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_state.dart @@ -13,7 +13,7 @@ class FingerprintDetailState{ final typeName = "".obs;// 指纹名字 var starDate = "".obs;// 开始时间 var endDate = "".obs;// 结束时间 - var starTime = "".obs;// 生效时间 + var startDate = "".obs;// 生效时间 var endTime = "".obs;// 失效时间 final keyType = 0.obs;// 永久:1;限时2,单次3,循环:4 var weekDay = [].obs;// 有效日 @@ -35,7 +35,7 @@ class FingerprintDetailState{ changeNameController.text = typeName.value; starDate.value = fingerprintItemData.value.startDate!.toString(); endDate.value = fingerprintItemData.value.endDate!.toString(); - starTime.value = fingerprintItemData.value.startDate!.toString(); + startDate.value = fingerprintItemData.value.startDate!.toString(); endTime.value = fingerprintItemData.value.endDate!.toString(); keyType.value = fingerprintItemData.value.fingerprintType!; adder.value = fingerprintItemData.value.senderUsername!; diff --git a/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart b/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart index 62b075c4..1e8e64a1 100644 --- a/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart +++ b/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart @@ -143,8 +143,7 @@ class NearbyLockLogic extends BaseGetXController { // 厂商名称 var vendor = reply.data.sublist(3, 23); var vendorStr = utf8String(vendor); - // state.lockInfo["vendor"] = vendorStr; - state.lockInfo["vendor"] = "XL"; + state.lockInfo["vendor"] = vendorStr; Get.log("vendor:$vendor vendorStr:$vendorStr reply.data:${reply.data}"); // 锁设备类型 diff --git a/star_lock/lib/tools/dateTool.dart b/star_lock/lib/tools/dateTool.dart index 2a385a32..8f8e1d55 100644 --- a/star_lock/lib/tools/dateTool.dart +++ b/star_lock/lib/tools/dateTool.dart @@ -175,4 +175,20 @@ class DateTool { // print('dateTime:$dateTime now:$now The difference is $days days.'); return days; } + + + // 根据循环的循环周期转化为对应的整型(Bit0 -- 6 置位分别代表周日 -- 周六) + int accordingTheCycleIntoTheCorrespondingNumber(List weekDay){ + var weekStr = "00000000"; + // print("state.weekDay.value:$weekDay"); + for (var day in weekDay) { + int index = day % 7; // 将周日的索引转换为 0 + weekStr = '${weekStr.substring(0, index)}1${weekStr.substring(index + 1)}'; + } + // 倒序 weekStr + weekStr = weekStr.split('').reversed.join(''); + int weekRound = int.parse(weekStr, radix: 2); + // print("weekStrweekStrweekStr:$weekStr weekRound:$weekRound"); + return weekRound; + } } \ No newline at end of file