diff --git a/lib/modules/ota_upgrade/controllers/ota_upgrade_controller.dart b/lib/modules/ota_upgrade/controllers/ota_upgrade_controller.dart index be56ed535..0df0f9d40 100644 --- a/lib/modules/ota_upgrade/controllers/ota_upgrade_controller.dart +++ b/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; diff --git a/lib/modules/ota_upgrade/model/ota_upgrade_model.dart b/lib/modules/ota_upgrade/model/ota_upgrade_model.dart index 4e02b2b9f..d07dbe386 100644 --- a/lib/modules/ota_upgrade/model/ota_upgrade_model.dart +++ b/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 json) { print("数据获取fronTokenJson${json}"); // 修复1:安全获取嵌套的 user 字段 - final infoData = json['info'] as Map?; // 允许空值 + final infoData = json['product'] as Map?; // 允许空值 // 更新单例实例 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,