fix:增加离线密码开锁的事件上报时增加密码字段

This commit is contained in:
liyi 2025-08-07 14:19:50 +08:00
parent a5dcaae5a8
commit 2bfc84e428

View File

@ -371,10 +371,35 @@ class LockDetailLogic extends BaseGetXController {
final int userNo = (indexList[1] * 256) + indexList[2];
indexMap['user'] = userNo.toString();
// AppLog.log('userNouserNouserNouserNo:$userNo');
if (userNo == 0xFFFF) {
// 线16F(0x1F)
final List<int> passwordData =
indexList.sublist(7, 17); // 10
// F(0x1F)
int endIndex = passwordData.indexOf(0x1F);
if (endIndex == -1) {
//
endIndex = passwordData.length;
}
//
final List<int> actualPasswordData =
passwordData.sublist(0, endIndex);
//
String passwordHex = actualPasswordData
.map((byte) => byte.toRadixString(16).padLeft(2, '0'))
.join();
//
passwordHex = passwordHex.replaceAll(RegExp(r'[^0-9]'), '');
indexMap['password'] = passwordHex;
// indexMap['password'] = passwordHex; //
AppLog.log('离线密码开锁:$passwordHex');
} else {
final List<int> passwordData = indexList.sublist(7, 17);
final String password = utf8String(passwordData);
indexMap['password'] = password.toString();
}
final List<int> passwordData = indexList.sublist(7, 17);
final String password = utf8String(passwordData);
indexMap['password'] = password.toString();
// AppLog.log('passwordpasswordpassword:$password');
indexMap['success'] = '1';