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

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

View File

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

View File

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