diff --git a/lib/features/devices/data/repositories/device_hostriry_work_impl.dart b/lib/features/devices/data/repositories/device_hostriry_work_impl.dart index 6ae2aeb2..d71a5d4f 100644 --- a/lib/features/devices/data/repositories/device_hostriry_work_impl.dart +++ b/lib/features/devices/data/repositories/device_hostriry_work_impl.dart @@ -16,9 +16,7 @@ class DeviceHostrityWorkRepositoryImpl implements DeviceHostrityWorkRepositoryRe DeviceHostrityWorkRepositoryImpl({required this.client, required this.userStorage}); @override - Future>> getDeviceHRunStatistics({ - required String deviceId, - }) async { + Future>> getDeviceHRunStatistics({required String deviceId}) async { try { debugPrint('开始获取用户信息...'); final user = await userStorage.getUser(); @@ -31,12 +29,7 @@ class DeviceHostrityWorkRepositoryImpl implements DeviceHostrityWorkRepositoryRe final response = await client.get( 'https://serviceri.satabot.com/iot/device/getDeviceRunStatistics?deviceId=$deviceId', - options: Options( - headers: { - 'Content-Type': 'application/json', - 'Authorization': 'Bearer $token', - }, - ), + options: Options(headers: {'Content-Type': 'application/json', 'Authorization': 'Bearer $token'}), ); if (response.statusCode == 200) { @@ -44,13 +37,16 @@ class DeviceHostrityWorkRepositoryImpl implements DeviceHostrityWorkRepositoryRe if (jsonBody['code'] == 200) { final List data = jsonBody['data']; final List statistics = data - .map((item) => DeviceRunStatisticsEntity( - startTime: item['startTime'] as String, // 开始时间 - endTime: item['endTime'] as String, // 结束时间 - workArea: (item['workArea'] as num).toDouble(), // 工作面积 - distance: item['distance'] != null ? (item['distance'] as num).toDouble() : null, // 工作距离 - time: item['time'] as int, // 花费时间 - )).toList(); + .map( + (item) => DeviceRunStatisticsEntity( + startTime: item['startTime'] as String, // 开始时间 + endTime: item['endTime'] as String, // 结束时间 + workArea: (item['workArea'] as num).toDouble(), // 工作面积 + distance: item['distance'] != null ? (item['distance'] as num).toDouble() : null, // 工作距离 + time: (item['time'] as num?)?.toInt() ?? 0, + ), + ) + .toList(); return Right(statistics); } else { debugPrint('服务器返回错误码: ${jsonBody['code']}'); @@ -68,5 +64,4 @@ class DeviceHostrityWorkRepositoryImpl implements DeviceHostrityWorkRepositoryRe return Left(DeviceFailure.unknownError(message: e.toString())); } } - } diff --git a/lib/features/home/presentation/pages/dj_page.dart b/lib/features/home/presentation/pages/dj_page.dart index cd1f5dc1..2c7e610e 100644 --- a/lib/features/home/presentation/pages/dj_page.dart +++ b/lib/features/home/presentation/pages/dj_page.dart @@ -22,21 +22,17 @@ class _DjPageState extends State { controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) - // 监听 H5 消息 ..addJavaScriptChannel( 'MapChannel', onMessageReceived: (JavaScriptMessage message) { _handleJsMessage(message.message); }, ) - // 加载网页 ..loadRequest(Uri.parse(url)); } /// 处理 H5 返回的数据 void _handleJsMessage(String msg) { - debugPrint("H5消息: $msg"); - try { final data = jsonDecode(msg);