2023-09-20 14:19:22 +08:00

516 lines
14 KiB
Dart

class LockMainEntity {
int? errorCode;
String? description;
String? errorMsg;
LockInfoEntity? data;
LockMainEntity({this.errorCode, this.description, this.errorMsg, this.data});
LockMainEntity.fromJson(Map<String, dynamic> json) {
errorCode = json['errorCode'];
description = json['description'];
errorMsg = json['errorMsg'];
data = json['data'] != null ? LockInfoEntity.fromJson(json['data']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['errorCode'] = errorCode;
data['description'] = description;
data['errorMsg'] = errorMsg;
if (this.data != null) {
data['data'] = this.data!.toJson();
}
return data;
}
}
class LockInfoEntity {
UserSettings? userSettings;
int? hasXmeyeLock;
int? hasMoreService;
int? pages;
List<KeyGroups>? keyGroups;
int? isReply;
int? paidUserStatus;
int? hasAdvert;
int? hasAlexa;
int? isUserSettingCompleted;
List<KeyInfos>? keyInfos;
int? hasPaidFeature;
int? hasCameraLock;
int? hasGoogleHome;
int? pageNo;
int? lastUpdateDate;
LockInfoEntity(
{this.userSettings,
this.hasXmeyeLock,
this.hasMoreService,
this.pages,
this.keyGroups,
this.isReply,
this.paidUserStatus,
this.hasAdvert,
this.hasAlexa,
this.isUserSettingCompleted,
this.keyInfos,
this.hasPaidFeature,
this.hasCameraLock,
this.hasGoogleHome,
this.pageNo,
this.lastUpdateDate});
LockInfoEntity.fromJson(Map<String, dynamic> json) {
userSettings = json['userSettings'] != null
? UserSettings.fromJson(json['userSettings'])
: null;
hasXmeyeLock = json['hasXmeyeLock'];
hasMoreService = json['hasMoreService'];
pages = json['pages'];
if (json['keyGroups'] != null) {
keyGroups = <KeyGroups>[];
json['keyGroups'].forEach((v) {
keyGroups!.add(KeyGroups.fromJson(v));
});
}
isReply = json['isReply'];
paidUserStatus = json['paidUserStatus'];
hasAdvert = json['hasAdvert'];
hasAlexa = json['hasAlexa'];
isUserSettingCompleted = json['isUserSettingCompleted'];
if (json['keyInfos'] != null) {
keyInfos = <KeyInfos>[];
json['keyInfos'].forEach((v) {
keyInfos!.add(KeyInfos.fromJson(v));
});
}
hasPaidFeature = json['hasPaidFeature'];
hasCameraLock = json['hasCameraLock'];
hasGoogleHome = json['hasGoogleHome'];
pageNo = json['pageNo'];
lastUpdateDate = json['lastUpdateDate'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
if (userSettings != null) {
data['userSettings'] = userSettings!.toJson();
}
data['hasXmeyeLock'] = hasXmeyeLock;
data['hasMoreService'] = hasMoreService;
data['pages'] = pages;
if (keyGroups != null) {
data['keyGroups'] = keyGroups!.map((v) => v.toJson()).toList();
}
data['isReply'] = isReply;
data['paidUserStatus'] = paidUserStatus;
data['hasAdvert'] = hasAdvert;
data['hasAlexa'] = hasAlexa;
data['isUserSettingCompleted'] = isUserSettingCompleted;
if (keyInfos != null) {
data['keyInfos'] = keyInfos!.map((v) => v.toJson()).toList();
}
data['hasPaidFeature'] = hasPaidFeature;
data['hasCameraLock'] = hasCameraLock;
data['hasGoogleHome'] = hasGoogleHome;
data['pageNo'] = pageNo;
data['lastUpdateDate'] = lastUpdateDate;
return data;
}
}
class UserSettings {
int? touchUnlockFlag;
int? modifyManagePwdFlag;
String? gesturePassword;
int? resetFlag;
int? delManagerFlag;
int? hideExpiredAccessFlag;
int? sendKeyFlag;
int? viberateFlag;
int? lockScreen;
int? authorizeFlag;
int? sendPwdFlag;
int? alertToneFlag;
int? status;
UserSettings(
{this.touchUnlockFlag,
this.modifyManagePwdFlag,
this.gesturePassword,
this.resetFlag,
this.delManagerFlag,
this.hideExpiredAccessFlag,
this.sendKeyFlag,
this.viberateFlag,
this.lockScreen,
this.authorizeFlag,
this.sendPwdFlag,
this.alertToneFlag,
this.status});
UserSettings.fromJson(Map<String, dynamic> json) {
touchUnlockFlag = json['touchUnlockFlag'];
modifyManagePwdFlag = json['modifyManagePwdFlag'];
gesturePassword = json['gesturePassword'];
resetFlag = json['resetFlag'];
delManagerFlag = json['delManagerFlag'];
hideExpiredAccessFlag = json['hideExpiredAccessFlag'];
sendKeyFlag = json['sendKeyFlag'];
viberateFlag = json['viberateFlag'];
lockScreen = json['lockScreen'];
authorizeFlag = json['authorizeFlag'];
sendPwdFlag = json['sendPwdFlag'];
alertToneFlag = json['alertToneFlag'];
status = json['status'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['touchUnlockFlag'] = touchUnlockFlag;
data['modifyManagePwdFlag'] = modifyManagePwdFlag;
data['gesturePassword'] = gesturePassword;
data['resetFlag'] = resetFlag;
data['delManagerFlag'] = delManagerFlag;
data['hideExpiredAccessFlag'] = hideExpiredAccessFlag;
data['sendKeyFlag'] = sendKeyFlag;
data['viberateFlag'] = viberateFlag;
data['lockScreen'] = lockScreen;
data['authorizeFlag'] = authorizeFlag;
data['sendPwdFlag'] = sendPwdFlag;
data['alertToneFlag'] = alertToneFlag;
data['status'] = status;
return data;
}
}
class KeyGroups {
String? groupName;
int? groupId;
KeyGroups({this.groupName, this.groupId});
KeyGroups.fromJson(Map<String, dynamic> json) {
groupName = json['groupName'];
groupId = json['groupId'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['groupName'] = groupName;
data['groupId'] = groupId;
return data;
}
}
class KeyInfos {
int? lightingTime;
int? privacyLock;
int? keyGroupId;
String? remarks;
int? autoUnlock;
String? noKeyPwd;
int? isAttendance;
int? keyStatus;
int? faceAuthentication;
int? sensitivity;
int? date;
int? appUnlockMustOnline;
String? lockKey;
int? resetButton;
int? endDate;
int? keyRight;
int? electricQuantity;
int? lockSound;
int? volume;
int? specialValue;
int? displayPasscode;
int? lockId;
int? doubleVerification;
String? keyName;
LockVersion? lockVersion;
Bluetooth? bluetooth;
String? lockName;
int? monitorFlag;
String? bondPassword;
String? lockAlias;
int? isFrozen;
int? remoteEnable;
int? lockFlagPos;
int? autoLockTime;
int? unlockDirection;
int? isCameraEnable;
int? startDate;
String? keyGroupName;
String? aesKeyStr;
int? uid;
int? passageMode;
String? admin;
int? keyId;
String? adminPwd;
String? deletePwd;
int? timezoneRawOffSet;
int? userType;
int? validPwdNum;
String? featureValue;
int? adminUid;
String? lockMac;
String? wirelessKeypadFeatureValue;
int? tamperAlert;
int? roomStatus;
KeyInfos(
{this.lightingTime,
this.privacyLock,
this.keyGroupId,
this.remarks,
this.autoUnlock,
this.noKeyPwd,
this.isAttendance,
this.keyStatus,
this.faceAuthentication,
this.sensitivity,
this.date,
this.appUnlockMustOnline,
this.lockKey,
this.resetButton,
this.endDate,
this.keyRight,
this.electricQuantity,
this.lockSound,
this.volume,
this.specialValue,
this.displayPasscode,
this.lockId,
this.doubleVerification,
this.keyName,
this.lockVersion,
this.lockName,
this.monitorFlag,
this.bondPassword,
this.lockAlias,
this.isFrozen,
this.remoteEnable,
this.lockFlagPos,
this.autoLockTime,
this.unlockDirection,
this.isCameraEnable,
this.startDate,
this.keyGroupName,
this.aesKeyStr,
this.uid,
this.passageMode,
this.admin,
this.keyId,
this.adminPwd,
this.deletePwd,
this.timezoneRawOffSet,
this.userType,
this.validPwdNum,
this.featureValue,
this.adminUid,
this.lockMac,
this.wirelessKeypadFeatureValue,
this.tamperAlert,
this.roomStatus,
this.bluetooth});
KeyInfos.fromJson(Map<String, dynamic> json) {
lightingTime = json['lightingTime'];
privacyLock = json['privacyLock'];
keyGroupId = json['keyGroupId'];
remarks = json['remarks'];
autoUnlock = json['autoUnlock'];
noKeyPwd = json['noKeyPwd'];
isAttendance = json['isAttendance'];
keyStatus = json['keyStatus'];
faceAuthentication = json['faceAuthentication'];
sensitivity = json['sensitivity'];
date = json['date'];
appUnlockMustOnline = json['appUnlockMustOnline'];
lockKey = json['lockKey'];
resetButton = json['resetButton'];
endDate = json['endDate'];
keyRight = json['keyRight'];
electricQuantity = json['electricQuantity'];
lockSound = json['lockSound'];
volume = json['volume'];
specialValue = json['specialValue'];
displayPasscode = json['displayPasscode'];
lockId = json['lockId'];
doubleVerification = json['doubleVerification'];
keyName = json['keyName'];
lockVersion = json['lockVersion'] != null
? LockVersion.fromJson(json['lockVersion'])
: null;
lockName = json['lockName'];
monitorFlag = json['monitorFlag'];
bondPassword = json['bondPassword'];
lockAlias = json['lockAlias'];
isFrozen = json['isFrozen'];
remoteEnable = json['remoteEnable'];
lockFlagPos = json['lockFlagPos'];
autoLockTime = json['autoLockTime'];
unlockDirection = json['unlockDirection'];
isCameraEnable = json['isCameraEnable'];
startDate = json['startDate'];
keyGroupName = json['keyGroupName'];
aesKeyStr = json['aesKeyStr'];
uid = json['uid'];
passageMode = json['passageMode'];
admin = json['admin'];
keyId = json['keyId'];
adminPwd = json['adminPwd'];
deletePwd = json['deletePwd'];
timezoneRawOffSet = json['timezoneRawOffSet'];
userType = json['userType'];
validPwdNum = json['validPwdNum'];
featureValue = json['featureValue'];
adminUid = json['adminUid'];
lockMac = json['lockMac'];
wirelessKeypadFeatureValue = json['wirelessKeypadFeatureValue'];
tamperAlert = json['tamperAlert'];
roomStatus = json['roomStatus'];
bluetooth = json['bluetooth'] != null
? Bluetooth.fromJson(json['bluetooth'])
: null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['lightingTime'] = lightingTime;
data['privacyLock'] = privacyLock;
data['keyGroupId'] = keyGroupId;
data['remarks'] = remarks;
data['autoUnlock'] = autoUnlock;
data['noKeyPwd'] = noKeyPwd;
data['isAttendance'] = isAttendance;
data['keyStatus'] = keyStatus;
data['faceAuthentication'] = faceAuthentication;
data['sensitivity'] = sensitivity;
data['date'] = date;
data['appUnlockMustOnline'] = appUnlockMustOnline;
data['lockKey'] = lockKey;
data['resetButton'] = resetButton;
data['endDate'] = endDate;
data['keyRight'] = keyRight;
data['electricQuantity'] = electricQuantity;
data['lockSound'] = lockSound;
data['volume'] = volume;
data['specialValue'] = specialValue;
data['displayPasscode'] = displayPasscode;
data['lockId'] = lockId;
data['doubleVerification'] = doubleVerification;
data['keyName'] = keyName;
if (lockVersion != null) {
data['lockVersion'] = lockVersion!.toJson();
}
data['lockName'] = lockName;
data['monitorFlag'] = monitorFlag;
data['bondPassword'] = bondPassword;
data['lockAlias'] = lockAlias;
data['isFrozen'] = isFrozen;
data['remoteEnable'] = remoteEnable;
data['lockFlagPos'] = lockFlagPos;
data['unlockDirection'] = unlockDirection;
data['isCameraEnable'] = isCameraEnable;
data['startDate'] = startDate;
data['keyGroupName'] = keyGroupName;
data['aesKeyStr'] = aesKeyStr;
data['uid'] = uid;
data['passageMode'] = passageMode;
data['admin'] = admin;
data['keyId'] = keyId;
data['adminPwd'] = adminPwd;
data['deletePwd'] = deletePwd;
data['timezoneRawOffSet'] = timezoneRawOffSet;
data['userType'] = userType;
data['validPwdNum'] = validPwdNum;
data['featureValue'] = featureValue;
data['adminUid'] = adminUid;
data['lockMac'] = lockMac;
data['wirelessKeypadFeatureValue'] = wirelessKeypadFeatureValue;
data['autoLockTime'] = autoLockTime;
data['tamperAlert'] = tamperAlert;
data['roomStatus'] = roomStatus;
if (bluetooth != null) {
data['bluetooth'] = bluetooth!.toJson();
}
return data;
}
}
class LockVersion {
int? scene;
int? protocolVersion;
String? logoUrl;
int? orgId;
bool? showAdminKbpwdFlag;
int? protocolType;
int? groupId;
LockVersion(
{this.scene,
this.protocolVersion,
this.logoUrl,
this.orgId,
this.showAdminKbpwdFlag,
this.protocolType,
this.groupId});
LockVersion.fromJson(Map<String, dynamic> json) {
scene = json['scene'];
protocolVersion = json['protocolVersion'];
logoUrl = json['logoUrl'];
orgId = json['orgId'];
showAdminKbpwdFlag = json['showAdminKbpwdFlag'];
protocolType = json['protocolType'];
groupId = json['groupId'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['scene'] = scene;
data['protocolVersion'] = protocolVersion;
data['logoUrl'] = logoUrl;
data['orgId'] = orgId;
data['showAdminKbpwdFlag'] = showAdminKbpwdFlag;
data['protocolType'] = protocolType;
data['groupId'] = groupId;
return data;
}
}
class Bluetooth {
String? bluetoothDeviceId;
String? bluetoothDeviceName;
List<dynamic>? publicKey;
List<dynamic>? privateKey;
List<dynamic>? signKey;
Bluetooth(
{this.bluetoothDeviceId,
this.bluetoothDeviceName,
this.publicKey,
this.privateKey,
this.signKey});
Bluetooth.fromJson(Map<String, dynamic> json) {
bluetoothDeviceId = json['bluetoothDeviceId'];
bluetoothDeviceName = json['bluetoothDeviceName'];
publicKey = json['publicKey'];
privateKey = json['privateKey'];
signKey = json['signKey'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['bluetoothDeviceId'] = bluetoothDeviceId;
data['bluetoothDeviceName'] = bluetoothDeviceName;
data['publicKey'] = publicKey;
data['privateKey'] = privateKey;
data['signKey'] = signKey;
return data;
}
}