fix: 1、修复对讲收不到对讲请求bug。2、修复根据名字T9A判断是否判断设备处于长休眠状态改为支持项判断。3、修复国际化bug

This commit is contained in:
魏少阳 2024-11-25 11:07:29 +08:00
parent 99f56e95fd
commit f562eb085e
5 changed files with 31 additions and 38 deletions

View File

@ -1,5 +1,4 @@
class LockListInfoEntity {
LockListInfoEntity(
{this.errorCode, this.description, this.errorMsg, this.data});
@ -29,7 +28,6 @@ class LockListInfoEntity {
}
class LockListInfoGroupEntity {
LockListInfoGroupEntity(
{this.groupList, this.pageNo, this.pageSize, this.pages, this.total});
@ -65,7 +63,6 @@ class LockListInfoGroupEntity {
}
class GroupList {
GroupList({this.groupName, this.groupId, this.lockList});
GroupList.fromJson(Map<String, dynamic> json) {
@ -98,7 +95,7 @@ class GroupList {
return data;
}
GroupList copy(){
GroupList copy() {
return GroupList(
groupName: groupName,
groupId: groupId,
@ -108,7 +105,6 @@ class GroupList {
}
class LockListInfoItemEntity {
LockListInfoItemEntity({
this.keyId,
this.lockId,
@ -285,13 +281,12 @@ class LockListInfoItemEntity {
return isLockOwner == 1;
}
LockListInfoItemEntity copy(){
LockListInfoItemEntity copy() {
return LockListInfoItemEntity.fromJson(toJson());
}
}
class Bluetooth {
Bluetooth(
{this.bluetoothDeviceId,
this.bluetoothDeviceName,
@ -324,7 +319,6 @@ class Bluetooth {
}
class LockFeature {
LockFeature({
this.password,
this.icCard,
@ -337,6 +331,7 @@ class LockFeature {
this.videoIntercom,
this.isSupportCatEye,
this.isSupportBackupBattery,
this.isNoSupportedBlueBroadcast,
});
LockFeature.fromJson(Map<String, dynamic> json) {
@ -351,6 +346,7 @@ class LockFeature {
videoIntercom = json['videoIntercom'];
isSupportCatEye = json['isSupportCatEye'];
isSupportBackupBattery = json['isSupportBackupBattery'];
isNoSupportedBlueBroadcast = json['isNoSupportedBlueBroadcast'];
}
int? password;
int? icCard;
@ -363,6 +359,7 @@ class LockFeature {
int? videoIntercom;
int? isSupportCatEye;
int? isSupportBackupBattery;
int? isNoSupportedBlueBroadcast;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
@ -377,12 +374,12 @@ class LockFeature {
data['videoIntercom'] = videoIntercom;
data['isSupportCatEye'] = isSupportCatEye;
data['isSupportBackupBattery'] = isSupportBackupBattery;
data['isNoSupportedBlueBroadcast'] = isNoSupportedBlueBroadcast;
return data;
}
}
class LockSetting {
LockSetting({
this.attendance,
this.appUnlockOnline,

View File

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifiEntity.dart';
import '../../app_settings/app_settings.dart';
import '../../network/api_repository.dart';
import '../../tools/storage.dart';
import 'udp_manage.dart';
@ -14,7 +15,8 @@ class UdpHelp {
openUDP() async {
// ip跟端口
final ConfiguringWifiEntity entity = await ApiRepository.to.getWifiLockServiceIpAndPort();
final ConfiguringWifiEntity entity =
await ApiRepository.to.getWifiLockServiceIpAndPort();
if (entity.errorCode! == 0) {
UDPManage();
// UDPManage().initUdp();
@ -50,7 +52,7 @@ class UdpHelp {
ipList: serversList,
tokenStr: 'b989fa15f75c2ac02718b7c9bb64f80e',
);
// AppLog.log('发送心跳了');
AppLog.log('发送心跳了');
} else {
timer.cancel();
}
@ -117,13 +119,6 @@ class UdpData {
// }
// }
// import 'dart:async';
//
// class UdpSendCondition {
@ -169,4 +164,4 @@ class UdpData {
// await Future.delayed(Duration(seconds: 1));
// }
// sendPort.send('done');
// }
// }

View File

@ -62,16 +62,16 @@ class UDPManage {
// AppLog.log('Udp ----> host:$host port:$port');
var addressIListenFrom = InternetAddress.anyIPv4;
int portIListenOn = 62288;
if(addressIListenFrom.address != '0.0.0.0'){
RawDatagramSocket.bind(addressIListenFrom, portIListenOn)
.then((RawDatagramSocket socket) {
_udpSocket = socket;
// if(addressIListenFrom.address != '0.0.0.0'){
RawDatagramSocket.bind(addressIListenFrom, portIListenOn)
.then((RawDatagramSocket socket) {
_udpSocket = socket;
///广
_udpSocket!.broadcastEnabled = true;
_onReceiveData(socket);
});
}
///广
_udpSocket!.broadcastEnabled = true;
_onReceiveData(socket);
});
// }
}
void _onReceiveData(RawDatagramSocket socket) {
@ -79,7 +79,8 @@ class UDPManage {
if (event == RawSocketEvent.read) {
Datagram? dg = socket.receive();
try {
// AppLog.log('Did received data on the stream (length --> ${dg!.data.length}) dg!.data:${dg!.data}');
// AppLog.log(
// 'Did received data on the stream (length --> ${dg!.data.length}) dg!.data:${dg!.data}');
// EventBusManager().eventBusFir(EventReceiveModel(data: dg?.data,sendChannel: DataChannel.udp));
CommandUDPReciverManager.appDataReceive(dg!.data);
} catch (e) {

View File

@ -1,4 +1,3 @@
import 'dart:typed_data';
import 'package:flutter_easyloading/flutter_easyloading.dart';
@ -21,7 +20,7 @@ class CommandUDPReciverManager {
if (dataSize < 4) {
return;
}
// AppLog.log("appReceiveUDPData:$data");
AppLog.log('appReceiveUDPData:$data');
final Uint8List data1 = Uint8List.fromList(data);
if (data1.length == 1) {
@ -35,7 +34,8 @@ class CommandUDPReciverManager {
// AppLog.log("心跳包反馈 在线状态");
} else if (data[7] == 3) {
// [Toast.show(msg: "您已在其他设备登录")];
EasyLoading.showToast('您的账号在异地登录,如非本人,请尽快修改密码'.tr, duration: 2000.milliseconds);
EasyLoading.showToast('您的账号在异地登录,如非本人,请尽快修改密码'.tr,
duration: 2000.milliseconds);
}
} else if (data[6] == 150) {
// if( [Pub getApp].isBack){
@ -44,15 +44,15 @@ class CommandUDPReciverManager {
// }
//
final beiCallType = data[8] & 0xff;
// AppLog.log("被呼叫类型$beiCallType");
final int beiCallType = data[8] & 0xff;
AppLog.log('被呼叫类型$beiCallType');
switch (beiCallType) {
case 1:
{
//
// lockId
final lockId = data.sublist(9, 29);
final lockIdStr = utf8String(lockId);
final List<int> lockId = data.sublist(9, 29);
final String lockIdStr = utf8String(lockId);
UDPManage().lockId = lockIdStr;
UDPTalkClass().status = 0;
UDPTalkClass().beCallW(data: data);

View File

@ -13,6 +13,7 @@ import 'package:url_launcher/url_launcher.dart';
import '../common/XSConstantMacro/XSConstantMacro.dart';
import '../main/lockMian/lockMain/lockMain_logic.dart';
import 'NativeInteractionTool.dart';
import 'commonDataManage.dart';
import 'dateTool.dart';
import 'manager/client_manager.dart';
import 'showIosTipView.dart';
@ -92,9 +93,8 @@ class BaseGetXController extends GetxController {
}
void showBlueConnetctToast() {
bool isContains = BlueManage().connectDeviceName.contains('T9A');
showToast(
"${'操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。'.tr}${isContains == true ? "如果是全自动锁,请使屏幕变亮".tr : ""}");
"${'操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。'.tr}${CommonDataManage().currentKeyInfo.lockFeature?.isNoSupportedBlueBroadcast == 1 ? "如果是全自动锁,请使屏幕变亮".tr : ""}");
}
void showToast(String status,