2025-09-23 10:58:47 +08:00
|
|
|
|
# AI Chat Assistant Example
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
这是 AI Chat Assistant Flutter 插件的示例应用,展示了如何集成和使用 AI 聊天助手功能。
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
## 🚀 快速开始
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
### 1. 安装依赖
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
cd example
|
|
|
|
|
|
flutter pub get
|
|
|
|
|
|
```
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
### 2. 运行应用
|
2025-09-10 15:35:07 +08:00
|
|
|
|
|
2025-09-23 10:58:47 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
flutter run
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📱 示例功能
|
|
|
|
|
|
|
|
|
|
|
|
### 车控命令处理器示例
|
|
|
|
|
|
|
|
|
|
|
|
本示例展示了如何实现自定义的车控命令处理器:
|
|
|
|
|
|
|
|
|
|
|
|
```dart
|
|
|
|
|
|
class VehicleCommandClent extends VehicleCommandHandler {
|
|
|
|
|
|
@override
|
|
|
|
|
|
Future<(bool, Map<String, dynamic>?)> executeCommand(VehicleCommand command) async {
|
|
|
|
|
|
// 在这里实现具体的车控命令执行逻辑
|
|
|
|
|
|
print('执行车控命令: ${command.type}, 参数: ${command.params}');
|
|
|
|
|
|
|
|
|
|
|
|
// 更新命令状态为执行中
|
|
|
|
|
|
commandCubit?.emit(AIChatCommandState(
|
|
|
|
|
|
commandId: command.commandId,
|
|
|
|
|
|
commandType: command.type,
|
|
|
|
|
|
params: command.params,
|
|
|
|
|
|
status: AIChatCommandStatus.executing,
|
|
|
|
|
|
timestamp: DateTime.now(),
|
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
|
|
// 模拟命令执行
|
|
|
|
|
|
await Future.delayed(const Duration(seconds: 2));
|
|
|
|
|
|
|
|
|
|
|
|
// 更新命令状态为成功
|
|
|
|
|
|
commandCubit?.emit(AIChatCommandState(
|
|
|
|
|
|
commandId: command.commandId,
|
|
|
|
|
|
commandType: command.type,
|
|
|
|
|
|
params: command.params,
|
|
|
|
|
|
status: AIChatCommandStatus.success,
|
|
|
|
|
|
timestamp: DateTime.now(),
|
|
|
|
|
|
result: {'message': '命令执行成功'},
|
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
|
|
return (true, {'message': '命令已执行'});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 初始化示例
|
|
|
|
|
|
|
|
|
|
|
|
```dart
|
|
|
|
|
|
void main() async {
|
|
|
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
|
|
|
|
|
|
|
|
// 请求麦克风权限
|
|
|
|
|
|
if (!await Permission.microphone.isGranted) {
|
|
|
|
|
|
await Permission.microphone.request();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化 AI Chat Assistant,注册车控命令处理器
|
|
|
|
|
|
AIChatAssistantManager.instance.setupCommandHandle(
|
|
|
|
|
|
commandHandler: VehicleCommandClent()
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
runApp(const MyApp());
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 示例特性
|
|
|
|
|
|
|
|
|
|
|
|
- ✅ 完整的车控命令处理示例
|
|
|
|
|
|
- ✅ 权限管理示例
|
|
|
|
|
|
- ✅ 状态管理集成
|
|
|
|
|
|
- ✅ AI 聊天界面集成
|
|
|
|
|
|
- ✅ 语音识别功能
|
|
|
|
|
|
- ✅ TTS 语音播报
|
|
|
|
|
|
|
|
|
|
|
|
## 📖 了解更多
|
|
|
|
|
|
|
|
|
|
|
|
- 查看主项目 [README](../README.md) 了解完整的功能特性
|
|
|
|
|
|
- 查看 [API 文档](../README.md#-api-文档) 了解接口使用方法
|