app-starlock/lib/tools/eventBusEventManage.dart
Xie Jing 2619288234 实现直接从安卓原生获取点击推送事件和参数,传入flutter处理推送。
实现了远程开锁请求功能的ui和开锁
测试了vivo和小米手机支持上述功能,三星、荣耀不支持,其他未测试。
修改了打印调试信息,后续需要恢复原状
2025-12-15 18:05:27 +08:00

239 lines
5.3 KiB
Dart
Executable File

import 'package:event_bus/event_bus.dart';
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
import '../main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart';
/// 创建EventBus
EventBus eventBus = EventBus();
/// 刷新锁列表数据
class RefreshLockListInfoDataEvent {
RefreshLockListInfoDataEvent(
{this.clearScanDevices = false, this.isUnShowLoading = false});
//是否清除蓝牙设备列表缓存
bool clearScanDevices;
bool isUnShowLoading;
}
/// 蓝牙添加用户成功
class LockAddUserSucceedEvent {
LockAddUserSucceedEvent(this.dataList, this.type);
int type; // 0用户号更新成功 1token失效
List<int> dataList;
}
/// 蓝牙转移用户更新成功
class LockInitUserNoEvent {
LockInitUserNoEvent();
}
/// 刷新锁详情数据
class RefreshLockDetailInfoDataEvent {
RefreshLockDetailInfoDataEvent();
}
/// 刷新考勤员工列表
class RefreshCheckInStaffListDataEvent {
RefreshCheckInStaffListDataEvent();
}
/// 刷新考勤设置
class RefreshCheckInSetDataEvent {
RefreshCheckInSetDataEvent();
}
/// 刷新考勤列表
class RefreshCheckInListEvent {
RefreshCheckInListEvent();
}
/// 传递当前锁信息
class PassCurrentLockInformationEvent {
PassCurrentLockInformationEvent(this.lockSetInfoData);
LockSetInfoData lockSetInfoData;
}
/// 卡、密码、指纹修改之后刷新列表
class OtherTypeRefreshListEvent {
OtherTypeRefreshListEvent();
}
/// 考情添加员工卡、指纹之后回调卡、指纹number
class ChickInAddStaffCardAndFingerprintBlockNumberEvent {
ChickInAddStaffCardAndFingerprintBlockNumberEvent(this.number);
String number;
}
/// 多语言 切换之后传值到上一级界面
class ChangeLanguageBlockLastLanguageEvent {
ChangeLanguageBlockLastLanguageEvent();
}
/// 锁分组添加或者删除锁之后刷新首页数据
class LockGroupEditGroupLockRefreshEvent {
LockGroupEditGroupLockRefreshEvent();
}
/// 锁设置里面开启关闭刷新锁详情
class LockSetChangeSetRefreshLockDetailWithType {
LockSetChangeSetRefreshLockDetailWithType(this.type, this.setResult);
int type; // 0 考勤 1开锁时是否需联网 2常开模式 3修改了锁名字 4修改了电量 5远程开锁
dynamic setResult;
}
/// 远程开锁请求事件(门铃触发)
class RemoteUnlockRequestEvent {
RemoteUnlockRequestEvent({required this.lockId, this.timeoutSeconds = 60, this.operateDate = 0});
int lockId;
int timeoutSeconds;
int operateDate;
}
/// 推送原始数据事件
class PushExtraEvent {
PushExtraEvent(this.data);
Map<String, dynamic> data;
}
/// 获取到视频流数据然后刷新界面
class GetTVDataRefreshUI {
GetTVDataRefreshUI(this.tvList);
List<int> tvList;
}
/// 获取到UDP接收状态然后刷新界面
class GetUDPStatusRefreshUI {
GetUDPStatusRefreshUI(this.udpStatus);
int udpStatus;
}
/// 获取到UDP接收状态然后刷新监控界面
class GetUDPStatusMonitorUI {
GetUDPStatusMonitorUI(this.udpStatus);
int udpStatus;
}
/// 获取到第一帧图片数据后跳转
class GetFirstFrameGoPush {
GetFirstFrameGoPush(this.isFirstFrame);
bool isFirstFrame;
}
/// 获取到实时点击的密码类型更新typeIndex
class GetPasswordTypeUpdateIndex {
GetPasswordTypeUpdateIndex(this.passwordType);
int passwordType;
}
/// 刷新密码列表
class GetPasswordListRefreshUI {
GetPasswordListRefreshUI();
}
/// 刷新消息列表
class ReadMessageRefreshUI {
ReadMessageRefreshUI();
}
/// 刷新接收到对讲消息后将消息设置为已读
class ReadTalkMessageRefreshUI {
ReadTalkMessageRefreshUI(this.lockName);
String lockName;
}
/// 刷新电子钥匙列表
class ElectronicKeyListRefreshUI {
ElectronicKeyListRefreshUI();
}
/// 刷新授权管理员列表
class AuthorizedAdminPageRefreshUI {
AuthorizedAdminPageRefreshUI();
}
/// 刷新我的设置-授权管理员列表
class MineAuthorizedAdminPageRefreshUI {
MineAuthorizedAdminPageRefreshUI();
}
/// 刷新门锁日志列表
class DoorLockLogListRefreshUI {
DoorLockLogListRefreshUI(this.getDoorLockLogTime);
DateTime getDoorLockLogTime;
}
/// 刷新更多设置锁用户管理列表
class LockUserManageListRefreshUI {
LockUserManageListRefreshUI();
}
/// 刷新我的更多设置授权管理员列表
class AuthorizedAdministratorListPageRefreshUI {
AuthorizedAdministratorListPageRefreshUI();
}
/// 个人信息修改时刷新我的界面的头像昵称等
class MineInfoChangeRefreshUI {
MineInfoChangeRefreshUI();
}
/// 刷新锁数据
class RefreshLockInfoDataEvent {
RefreshLockInfoDataEvent({required this.keyId, required this.lockId});
int keyId;
int lockId;
}
/// 删除锁数据
class DeleteLockInfoDataEvent {
DeleteLockInfoDataEvent({required this.keyId, required this.lockId});
int keyId;
int lockId;
}
/// 收到新增锁数据
class RogerThatLockInfoDataEvent {
RogerThatLockInfoDataEvent({required this.keyId, required this.lockId});
int keyId;
int lockId;
}
/// 刷新网关列表
class GetGatewayListRefreshUI {
GetGatewayListRefreshUI();
}
/// 同意隐私协议
class AgreePrivacyAgreement {
AgreePrivacyAgreement();
}
/// 配网成功
class SuccessfulDistributionNetwork {
SuccessfulDistributionNetwork();
}
/// 设置锁列表数据
class SetLockListInfoGroupEntity {
SetLockListInfoGroupEntity({required this.lockListInfoGroupEntity});
LockListInfoGroupEntity lockListInfoGroupEntity;
}