‘基本信息’页获取‘设备时区’

This commit is contained in:
sky_min 2025-11-04 18:02:32 +08:00
parent 3c90758a5f
commit 94ef56d38b
3 changed files with 17 additions and 5 deletions

View File

@ -142,10 +142,7 @@ class _BasicInformationPageState extends State<BasicInformationPage> {
visible: state.lockSetInfoData.value.lockFeature?.wifi == 1, visible: state.lockSetInfoData.value.lockFeature?.wifi == 1,
child: CommonItem( child: CommonItem(
leftTitel: '网络信号强度'.tr, leftTitel: '网络信号强度'.tr,
rightTitle: state.lockSetInfoData.value.lockBasicInfo?.networkInfo?.rssi != null rightTitle: _getRssiDisplayText(state.lockSetInfoData.value.lockBasicInfo?.networkInfo?.rssi),
? '${rssiToPercentage(state.lockSetInfoData.value.lockBasicInfo?.networkInfo?.rssi)}'
'%(${state.lockSetInfoData.value.lockBasicInfo?.networkInfo?.rssi}dBm)'
: '-',
allHeight: 70.h, allHeight: 70.h,
isHaveLine: true, isHaveLine: true,
), ),
@ -156,7 +153,7 @@ class _BasicInformationPageState extends State<BasicInformationPage> {
visible: state.lockSetInfoData.value.lockFeature?.wifi == 1, visible: state.lockSetInfoData.value.lockFeature?.wifi == 1,
child: CommonItem( child: CommonItem(
leftTitel: '设备时区'.tr, leftTitel: '设备时区'.tr,
rightTitle: '-', rightTitle: state.lockSetInfoData.value.lockBasicInfo?.timezoneName ?? '-',
allHeight: 70.h, allHeight: 70.h,
isHaveLine: true, isHaveLine: true,
), ),
@ -230,6 +227,16 @@ class _BasicInformationPageState extends State<BasicInformationPage> {
); );
} }
//
String _getRssiDisplayText(int? rssi) {
if (rssi == null) {
return '-';
}
final int percentage = rssiToPercentage(rssi);
return '$percentage%(${rssi}dBm)';
}
// %
int rssiToPercentage(int? rssi) { int rssiToPercentage(int? rssi) {
if (rssi == null) return 0; if (rssi == null) return 0;
// RSSI值在合理范围内 // RSSI值在合理范围内

View File

@ -374,6 +374,7 @@ class LockBasicInfo {
this.address, this.address,
this.network, this.network,
this.vendor, this.vendor,
this.timezoneName,
this.networkInfo}); this.networkInfo});
LockBasicInfo.fromJson(Map<String, dynamic> json) { LockBasicInfo.fromJson(Map<String, dynamic> json) {
@ -409,6 +410,7 @@ class LockBasicInfo {
address = json['address']; address = json['address'];
network = json['network']; network = json['network'];
vendor = json['vendor']; vendor = json['vendor'];
timezoneName = json['timezoneName'];
networkInfo = json['networkInfo'] != null networkInfo = json['networkInfo'] != null
? NetworkInfo.fromJson(json['networkInfo']) ? NetworkInfo.fromJson(json['networkInfo'])
: null; : null;
@ -441,6 +443,7 @@ class LockBasicInfo {
String? address; String? address;
String? network; String? network;
String? vendor; String? vendor;
String? timezoneName;
NetworkInfo? networkInfo; NetworkInfo? networkInfo;
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -474,6 +477,7 @@ class LockBasicInfo {
data['address'] = address; data['address'] = address;
data['network'] = network; data['network'] = network;
data['vendor'] = vendor; data['vendor'] = vendor;
data['timezoneName'] = timezoneName;
if (networkInfo != null) { if (networkInfo != null) {
data['networkInfo'] = networkInfo!.toJson(); data['networkInfo'] = networkInfo!.toJson();
} }

View File

@ -2363,6 +2363,7 @@ class ApiRepository {
required String secretKey, required String secretKey,
required String peerId, required String peerId,
int? rssi, int? rssi,
String? timezoneName,
}) async { }) async {
final res = await apiProvider.settingDeviceNetwork(deviceType, deviceMac, wifiName, networkMac, secretKey, peerId, rssi!); final res = await apiProvider.settingDeviceNetwork(deviceType, deviceMac, wifiName, networkMac, secretKey, peerId, rssi!);
return LoginEntity.fromJson(res.body); return LoginEntity.fromJson(res.body);