fix: 修复 Flutter 前端多项功能 + 后端运动计划 API
- Android 添加相机/存储权限,拍照和相册功能可用 - AI 回复支持 Markdown 渲染(加粗/表格不再显示**乱码) - 附件按钮接线,支持拍照/相册/文件选择 - 智能体面板按钮全部接线(拍照/上传/手动录入/导航) - 侧边栏 AI 录入后自动刷新健康数据 - 运动计划页增加创建按钮 + 打卡功能 - 后端运动计划支持 AI 创建和打卡(Tool Calling) - 修复 CreateExercisePlanRequest JSON 反序列化
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'auth_provider.dart';
|
||||
import 'data_providers.dart';
|
||||
import '../utils/sse_handler.dart';
|
||||
|
||||
class ChatMessage {
|
||||
@@ -133,6 +134,11 @@ class ChatNotifier extends Notifier<ChatState> {
|
||||
_update(aiMsg);
|
||||
case 'notice':
|
||||
state = state.copyWith(noticeText: j['message'] as String?);
|
||||
case 'tool_result':
|
||||
final tool = j['tool'] as String? ?? '';
|
||||
if (tool == 'record_health_data') {
|
||||
refreshHealthData(ref);
|
||||
}
|
||||
case 'status':
|
||||
_done(aiMsg);
|
||||
case 'error':
|
||||
|
||||
@@ -33,6 +33,12 @@ final latestHealthProvider = FutureProvider<Map<String, dynamic>>((ref) async {
|
||||
return service.getLatest();
|
||||
});
|
||||
|
||||
/// AI 录入数据后调用,刷新侧边栏
|
||||
void refreshHealthData(WidgetRef ref) {
|
||||
ref.invalidate(latestHealthProvider);
|
||||
ref.invalidate(medicationListProvider);
|
||||
}
|
||||
|
||||
/// 用药列表 Provider
|
||||
final medicationListProvider = FutureProvider<List<Map<String, dynamic>>>((ref) async {
|
||||
final service = ref.watch(medicationServiceProvider);
|
||||
|
||||
Reference in New Issue
Block a user