|
|
@ -68,6 +68,9 @@ class AgentController extends GetxController { |
|
|
final isImageInputActive = false.obs; // 是否处于图片输入模式 |
|
|
final isImageInputActive = false.obs; // 是否处于图片输入模式 |
|
|
final selectedImagePath = Rx<String?>(null); // 当前选择的图片路径 |
|
|
final selectedImagePath = Rx<String?>(null); // 当前选择的图片路径 |
|
|
|
|
|
|
|
|
|
|
|
// 输入状态控制 - 用于动态显示发送按钮 |
|
|
|
|
|
final hasTextInput = false.obs; // 是否有文本输入 |
|
|
|
|
|
|
|
|
// 流事件订阅 |
|
|
// 流事件订阅 |
|
|
StreamSubscription<AgentServiceEvent>? _eventSubscription; |
|
|
StreamSubscription<AgentServiceEvent>? _eventSubscription; |
|
|
|
|
|
|
|
|
@ -107,6 +110,7 @@ class AgentController extends GetxController { |
|
|
_subscribeToEvents(); //订阅代理服务事件 |
|
|
_subscribeToEvents(); //订阅代理服务事件 |
|
|
_initMusicStatus(); //初始化音乐状态 |
|
|
_initMusicStatus(); //初始化音乐状态 |
|
|
_setupMediaSessionCallbacks(); //设置媒体会话回调 |
|
|
_setupMediaSessionCallbacks(); //设置媒体会话回调 |
|
|
|
|
|
_setupTextInputListener(); //设置文本输入监听器 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 初始化音乐播放状态 |
|
|
// 初始化音乐播放状态 |
|
|
@ -178,6 +182,14 @@ class AgentController extends GetxController { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 设置文本输入监听器 |
|
|
|
|
|
void _setupTextInputListener() { |
|
|
|
|
|
textController.addListener(() { |
|
|
|
|
|
final text = textController.text.trim(); |
|
|
|
|
|
hasTextInput.value = text.isNotEmpty; |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 加载聊天历史记录 |
|
|
// 加载聊天历史记录 |
|
|
Future<void> _loadChatHistory() async { |
|
|
Future<void> _loadChatHistory() async { |
|
|
try { |
|
|
try { |
|
|
|