Browse Source

获取固件版本api接口修改

weicu
fdp 1 year ago
parent
commit
67572565a2
  1. 12
      lib/modules/ota_upgrade/controllers/ota_upgrade_controller.dart
  2. 18
      lib/modules/ota_upgrade/model/ota_upgrade_model.dart

12
lib/modules/ota_upgrade/controllers/ota_upgrade_controller.dart

@ -63,7 +63,7 @@ class OtaUpgradeController extends GetxController {
final RxDouble progress = 0.0.obs; // 控制器自己的可观察属性
final RxInt type = OtaEvent.NOT_STARTED.obs;
final RxBool isUpgrade = false.obs;
// 新增:详细状态提示
final RxString detailedStatus = ''.obs;
final RxBool showDetailedStatus = false.obs;
@ -193,7 +193,7 @@ class OtaUpgradeController extends GetxController {
});
// 处理API响应
if (response['info'] == null) {
if (response['product'] == null) {
throw const FormatException('API 响应格式错误');
}
@ -295,7 +295,7 @@ class OtaUpgradeController extends GetxController {
isDownloading.value = true;
showDetailedStatus.value = true;
detailedStatus.value = '准备下载固件包...';
int lastIndex = updatepackageaddress.lastIndexOf('/');
String fileName = updatepackageaddress.substring(lastIndex + 1);
String directoryName = "ota_upgrades";
@ -382,7 +382,8 @@ class OtaUpgradeController extends GetxController {
onReceiveProgress: (received, total) {
if (total != -1) {
downloadProgress.value = received / total;
detailedStatus.value = '正在下载固件包... ${(received / total * 100).toStringAsFixed(1)}%';
detailedStatus.value =
'正在下载固件包... ${(received / total * 100).toStringAsFixed(1)}%';
}
},
);
@ -491,7 +492,8 @@ class OtaUpgradeController extends GetxController {
progress.value = event.progress!;
type.value = event.type!;
isUpgrade.value = true; // 开始升级
detailedStatus.value = '升级进度: ${(event.progress! * 100).toStringAsFixed(1)}%';
detailedStatus.value =
'升级进度: ${(event.progress! * 100).toStringAsFixed(1)}%';
}
if (event.event == 'onStartOTA') {
type.value = START_UPGRADING;

18
lib/modules/ota_upgrade/model/ota_upgrade_model.dart

@ -12,8 +12,9 @@ class OtaConfigResp {
// 最终属性(不可变)
final String? id;
final String? factory;
final String? equipmentname;
final int? factory;
final int? devicetype;
final String? devicename;
final String? systemversion;
final String? updatepackageaddress;
final String? updatedescription;
@ -21,7 +22,8 @@ class OtaConfigResp {
OtaConfigResp._({
this.id,
this.factory,
this.equipmentname,
this.devicetype,
this.devicename,
this.systemversion,
this.updatepackageaddress,
this.updatedescription,
@ -30,13 +32,14 @@ class OtaConfigResp {
factory OtaConfigResp.fromJson(Map<String, dynamic> json) {
print("数据获取fronTokenJson${json}");
// 修复1:安全获取嵌套的 user 字段
final infoData = json['info'] as Map<String, dynamic>?; // 允许空值
final infoData = json['product'] as Map<String, dynamic>?; // 允许空值
// 更新单例实例
return _instance = OtaConfigResp._(
id: (infoData?['id'] as String?) ?? '',
factory: (infoData?['factory'] as String?) ?? '',
equipmentname: (infoData?['equipmentname'] as String?) ?? '',
factory: (infoData?['factoryid'] as int?) ?? 0,
devicetype: (infoData?['devicetype'] as int?) ?? 0,
devicename: (infoData?['devicename'] as String?) ?? '',
systemversion: (infoData?['systemversion'] as String?) ?? '',
updatepackageaddress:
(infoData?['updatepackageaddress'] as String?) ?? '',
@ -49,7 +52,8 @@ class OtaConfigResp {
'user': {
'id': instance.id,
'factory': instance.factory,
'equipmentname': instance.equipmentname,
'devicetype': instance.devicetype,
'devicename': instance.devicename,
'systemversion': instance.systemversion,
'updatepackageaddress': instance.updatepackageaddress,
'updatedescription': instance.updatedescription,

Loading…
Cancel
Save