2024-05-18 09:37:50 +08:00

81 lines
2.9 KiB
Dart
Executable File

import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_entity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'msgNotification_state.dart';
class MsgNotificationLogic extends BaseGetXController {
final MsgNotificationState state = MsgNotificationState();
// 获取锁消息设置
void getLockNoticeSetting() async {
MsgNotificationEntity entity = await ApiRepository.to.getLockNoticeSetting(
lockId: state.getLockId.value,
);
if (entity.errorCode!.codeIsSuccessful) {
state.msgNoticeInfo.value = entity.data!;
state.nDaysNotOpenDoor.value = entity.data!.dayNotOpenDoorState! == 0
? state.notifyDisable
: state.notifyEnable; //N天未开门
state.isDoorNotShut.value =
entity.data!.doorNotCloseState! == 0 ? false : true; //门未关好
state.isTamperAlarm.value =
entity.data!.tamperAlarmState! == 0 ? false : true; //防拆报警
state.isLowBattery.value = entity.data!.lowElecNoticeState! == 0
? state.notifyDisable
: state.notifyEnable; //低电量提醒
state.isSomeoneRing.value =
entity.data!.doorbellNoticeState! == 0 ? false : true; //有人按门铃
state.isSomeoneAppeared.value =
entity.data!.someoneAtDoorNoticeState! == 0 ? false : true; //有人出现在门口
}
}
//设置门未关好
void updateDoorNotCloseSetting() async {
MsgNotificationEntity entity =
await ApiRepository.to.updateDoorNotCloseSetting(
lockId: state.getLockId.value,
doorNotCloseState: state.isDoorNotShut.value ? 1 : 0,
);
if (entity.errorCode!.codeIsSuccessful) {
showToast(state.settingSuccess);
}
}
//有人按门铃
void updateDoorbellNoticeStateSetting() async {
MsgNotificationEntity entity =
await ApiRepository.to.updateDoorbellNoticeStateSetting(
lockId: state.getLockId.value,
doorbellNoticeState: state.isSomeoneRing.value ? 1 : 0,
);
if (entity.errorCode!.codeIsSuccessful) {
showToast(state.settingSuccess);
}
}
//有人出现在门口
void updateSomeoneAtDoorNoticeStateSetting() async {
MsgNotificationEntity entity =
await ApiRepository.to.updateSomeoneAtDoorNoticeStateSetting(
lockId: state.getLockId.value,
someoneAtDoorNoticeState: state.isSomeoneAppeared.value ? 1 : 0,
);
if (entity.errorCode!.codeIsSuccessful) {
showToast(state.settingSuccess);
}
}
//设置防拆报警通知
void updateTamperAlarmStateSetting() async {
MsgNotificationEntity entity =
await ApiRepository.to.updateTamperAlarmStateSetting(
lockId: state.getLockId.value,
tamperAlarmState: state.isTamperAlarm.value ? 1 : 0,
);
if (entity.errorCode!.codeIsSuccessful) {
showToast(state.settingSuccess);
}
}
}