|
|
|
@ -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<AgentController> { |
|
|
|
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<String, dynamic>.from(e)).toList(); |
|
|
|
final now = daylist.isNotEmpty ? daylist[0] : <String, dynamic>{}; |
|
|
|
//天气 |
|
|
|
return buildWeatherContent( |
|
|
|
context, |
|
|
|
city, |
|
|
|
now, |
|
|
|
daylist, |
|
|
|
); |
|
|
|
final maps_weather = meta!['maps_weather'] as Map<String, dynamic>; |
|
|
|
final city = maps_weather['city']; |
|
|
|
if (city != null) { |
|
|
|
final rawList = maps_weather['forecasts'] as List? ?? []; |
|
|
|
final daylist = |
|
|
|
rawList.map((e) => Map<String, dynamic>.from(e)).toList(); |
|
|
|
final now = daylist.isNotEmpty ? daylist[0] : <String, dynamic>{}; |
|
|
|
//天气 |
|
|
|
return buildWeatherContent( |
|
|
|
context, |
|
|
|
city, |
|
|
|
now, |
|
|
|
daylist, |
|
|
|
); |
|
|
|
} |
|
|
|
} else if (meta!.keys.contains('card_travel')) { |
|
|
|
final rawList = meta!['card_travel']['items'] as List? ?? []; |
|
|
|
final travellist = |
|
|
|
|