2024-01-06 16:26:13 +08:00
|
|
|
import 'dart:async';
|
|
|
|
|
|
2023-10-20 11:58:40 +08:00
|
|
|
import 'package:flutter/material.dart';
|
2023-08-30 10:56:18 +08:00
|
|
|
import 'package:get/get.dart';
|
|
|
|
|
|
2024-03-23 11:23:38 +08:00
|
|
|
import '../../../blue/io_reply.dart';
|
2023-11-01 17:28:59 +08:00
|
|
|
import '../../lockMian/entity/lockListInfo_entity.dart';
|
2023-08-30 10:56:18 +08:00
|
|
|
|
2023-10-20 11:58:40 +08:00
|
|
|
// enum RKConnectState {
|
|
|
|
|
// NULL,
|
|
|
|
|
// STOPPED, //已暂停连接 0
|
|
|
|
|
// CONNECTING, //1 连接开锁中
|
|
|
|
|
// CONNECTED, //2 已连接开锁成功
|
|
|
|
|
// CHECKING, //检测可用性 3
|
|
|
|
|
// CONNECTFAIL, //蓝牙连接失败 4
|
|
|
|
|
// }
|
|
|
|
|
|
2023-08-16 18:21:42 +08:00
|
|
|
class LockDetailState {
|
2023-11-01 17:28:59 +08:00
|
|
|
Rx<LockListInfoItemEntity> keyInfos = LockListInfoItemEntity().obs;
|
2023-08-16 18:21:42 +08:00
|
|
|
|
2024-03-23 11:23:38 +08:00
|
|
|
late StreamSubscription<Reply> replySubscription;
|
|
|
|
|
StreamSubscription? lockSetOpenOrCloseCheckInRefreshLockDetailWithAttendanceEvent;
|
|
|
|
|
|
2023-11-24 14:23:36 +08:00
|
|
|
String lockNetToken = "";
|
2024-04-01 16:21:46 +08:00
|
|
|
int lockUserNo = 0;
|
2023-12-16 11:20:36 +08:00
|
|
|
var senderUserId = 0;
|
2024-01-29 17:23:45 +08:00
|
|
|
var isOnlyOneData = false;
|
2023-11-24 14:23:36 +08:00
|
|
|
|
2024-01-30 11:18:27 +08:00
|
|
|
var isAttendance = 0.obs; // 是否开启考勤
|
2023-11-24 14:23:36 +08:00
|
|
|
var isOpenLockNeedOnline = 0.obs; // APP开锁时是否需联网
|
|
|
|
|
var electricQuantity = 0.obs; // 电量
|
2024-01-11 15:14:02 +08:00
|
|
|
var isOpenPassageMode = 0.obs; // 是否开启了常开模式
|
2024-01-18 11:25:56 +08:00
|
|
|
var lockAlias = "".obs; // 锁名字
|
2023-11-24 14:23:36 +08:00
|
|
|
|
2024-03-12 16:19:04 +08:00
|
|
|
// var currentDeviceUUid = "".obs; // 当前设备的uuid
|
2024-01-04 18:27:50 +08:00
|
|
|
|
2024-01-05 13:56:34 +08:00
|
|
|
var ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示
|
|
|
|
|
var iSClosedUnlockSuccessfulPopup = false.obs; // 是否关闭了开锁成功弹窗
|
2024-01-08 17:58:19 +08:00
|
|
|
var iSOpenLock = true.obs; // 是开锁还是关锁
|
2024-01-06 16:26:13 +08:00
|
|
|
Timer? closedUnlockSuccessfulTimer;
|
2024-01-05 13:56:34 +08:00
|
|
|
|
2024-03-19 18:04:51 +08:00
|
|
|
var bottomBtnisEable = true.obs; // 是否不可用 用于限制底部按钮是否可用
|
|
|
|
|
var openDoorBtnisUneable = true.obs; // 当钥匙状态不能使用的情况下开锁按钮禁止使用,默认可用
|
2024-01-26 14:10:57 +08:00
|
|
|
|
2024-04-01 16:21:46 +08:00
|
|
|
var openDoorModel = 0;
|
|
|
|
|
|
2023-10-20 11:58:40 +08:00
|
|
|
//过渡动画控制器
|
2024-03-12 16:19:04 +08:00
|
|
|
AnimationController? animationController;
|
2024-01-04 18:27:50 +08:00
|
|
|
// var lockState = 0.obs;// 0未连接普通状态 1连接开锁中(展示动画) 2已连接开锁成功 3检测可用性 4连接失败 5连接失败重连中
|
2024-01-30 11:18:27 +08:00
|
|
|
var openLockBtnState = 0.obs; // 0普通状态(未转动) 1连接中(转动状态)
|
2024-01-05 13:56:34 +08:00
|
|
|
// var connectState = 0.obs;// 0未连接 1连接
|
2024-01-11 15:14:02 +08:00
|
|
|
|
2024-01-30 11:18:27 +08:00
|
|
|
final PageController pageController = PageController();
|
|
|
|
|
var currentPage = 0.obs;
|
|
|
|
|
|
2024-03-21 11:36:48 +08:00
|
|
|
late BuildContext widgetContext;
|
|
|
|
|
|
2024-01-11 15:14:02 +08:00
|
|
|
// LockDetailState() {
|
|
|
|
|
// Map map = Get.arguments;
|
|
|
|
|
// lockCount = map["lockCount"];
|
|
|
|
|
// }
|
2024-01-30 11:18:27 +08:00
|
|
|
}
|