diff --git a/lib/modules/agent/views/message_bubble.dart b/lib/modules/agent/views/message_bubble.dart index 51f7cf8e2..825f6b2f1 100644 --- a/lib/modules/agent/views/message_bubble.dart +++ b/lib/modules/agent/views/message_bubble.dart @@ -1,7 +1,3 @@ -import 'dart:convert'; -import 'dart:ffi'; - -import 'package:common_utils/common_utils.dart'; import 'package:deep_voice/modules/agent/views/navigation_card.dart'; import 'weather_card.dart'; import 'music_card.dart'; @@ -9,7 +5,6 @@ import 'travel_card.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; -import 'package:get_storage/get_storage.dart'; import 'dart:io'; import 'package:flutter_markdown/flutter_markdown.dart'; @@ -257,18 +252,21 @@ class MessageBubble extends GetView { return buildMusicContent(context, playlist); } } else if (meta!.keys.contains('maps_weather')) { - final city = meta!['maps_weather']['city'] as String? ?? '未知城市'; - final rawList = meta!['maps_weather']['forecasts'] as List? ?? []; - final daylist = - rawList.map((e) => Map.from(e)).toList(); - final now = daylist.isNotEmpty ? daylist[0] : {}; - //天气 - return buildWeatherContent( - context, - city, - now, - daylist, - ); + final maps_weather = meta!['maps_weather'] as Map; + final city = maps_weather['city']; + if (city != null) { + final rawList = maps_weather['forecasts'] as List? ?? []; + final daylist = + rawList.map((e) => Map.from(e)).toList(); + final now = daylist.isNotEmpty ? daylist[0] : {}; + //天气 + return buildWeatherContent( + context, + city, + now, + daylist, + ); + } } else if (meta!.keys.contains('card_travel')) { final rawList = meta!['card_travel']['items'] as List? ?? []; final travellist =