Merge branch 'starLock_wsy'

This commit is contained in:
魏少阳 2024-04-22 11:17:46 +08:00
commit 73f6690a9f
11 changed files with 119 additions and 95 deletions

View File

@ -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:
//

View File

@ -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<int> 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<int> 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<int> 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),

View File

@ -64,14 +64,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,
@ -115,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,
@ -158,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,
@ -194,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;
}

View File

@ -70,7 +70,7 @@ class _CardDetailPageState extends State<CardDetailPage> 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<CardDetailPage> 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<CardDetailPage> 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<CardDetailPage> 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"];

View File

@ -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!;
}
}

View File

@ -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<int> 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),

View File

@ -65,13 +65,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,
@ -116,13 +116,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,
@ -178,7 +178,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!,
);

View File

@ -93,7 +93,7 @@ class _FingerprintDetailPageState extends State<FingerprintDetailPage> 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<FingerprintDetailPage> 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<FingerprintDetailPage> 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<FingerprintDetailPage> 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"];
});

View File

@ -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;23: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!;

View File

@ -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}");
//

View File

@ -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;
}
}