import '../core/api_client.dart'; /// 健康数据服务 class HealthService { final ApiClient _api; HealthService(this._api); /// 获取各指标最新值 Future> getLatest() async { final res = await _api.get('/api/health-records/latest'); return res.data['data'] ?? {}; } /// 获取趋势数据 Future>> getTrend(String type, {int period = 7}) async { final res = await _api.get('/api/health-records/trend', queryParameters: {'type': type, 'period': period}); final list = res.data['data'] as List? ?? []; return list.cast>(); } /// 获取记录列表 Future>> getRecords({String? type, int? days}) async { final params = {}; if (type != null) params['type'] = type; if (days != null) params['days'] = days; final res = await _api.get('/api/health-records', queryParameters: params); final list = res.data['data'] as List? ?? []; return list.cast>(); } } /// 用户服务 class UserService { final ApiClient _api; UserService(this._api); Future?> getProfile() async { final res = await _api.get('/api/user/profile'); return res.data['data']; } Future updateProfile({String? name, String? gender, String? birthDate}) async { await _api.put('/api/user/profile', data: {'name': name, 'gender': gender, 'birthDate': birthDate}); } Future?> getHealthArchive() async { final res = await _api.get('/api/user/health-archive'); return res.data['data']; } Future updateHealthArchive(Map data) async { await _api.put('/api/user/health-archive', data: data); } Future deleteAccount() async { await _api.delete('/api/user/account'); } } /// 用药服务 class MedicationService { final ApiClient _api; MedicationService(this._api); Future>> getList() async { final res = await _api.get('/api/medications'); final list = res.data['data'] as List? ?? []; return list.cast>(); } Future create(Map data) async { await _api.post('/api/medications', data: data); } Future update(String id, Map data) async { await _api.put('/api/medications/$id', data: data); } Future delete(String id) async { await _api.delete('/api/medications/$id'); } Future confirm(String id) async { await _api.post('/api/medications/$id/confirm'); } Future>> getReminders() async { final res = await _api.get('/api/medications/reminders'); final list = res.data['data'] as List? ?? []; return list.cast>(); } } /// 饮食服务 class DietService { final ApiClient _api; DietService(this._api); Future>> getRecords({String? date, String? mealType}) async { final params = {}; if (date != null) params['date'] = date; if (mealType != null) params['mealType'] = mealType; final res = await _api.get('/api/diet-records', queryParameters: params); final list = res.data['data'] as List? ?? []; return list.cast>(); } Future create(Map data) async { await _api.post('/api/diet-records', data: data); } } /// 问诊服务 class ConsultationService { final ApiClient _api; ConsultationService(this._api); Future>> getDoctors() async { final res = await _api.get('/doctors'); final list = res.data['data'] as List? ?? []; return list.cast>(); } Future> getQuota() async { final res = await _api.get('/user/consultation-quota'); return res.data['data'] ?? {}; } Future> createConsultation(String doctorId) async { final res = await _api.post('/consultations', data: {'doctorId': doctorId}); return res.data['data']; } Future>> getMessages(String consultationId, {String? after}) async { final params = {}; if (after != null) params['after'] = after; final res = await _api.get('/consultations/$consultationId/messages', queryParameters: params); final list = res.data['data'] as List? ?? []; return list.cast>(); } Future sendMessage(String consultationId, String content) async { await _api.post('/consultations/$consultationId/messages', data: {'content': content}); } } /// 运动服务 class ExerciseService { final ApiClient _api; ExerciseService(this._api); Future?> getCurrentPlan() async { final res = await _api.get('/exercise-plans/current'); return res.data['data']; } Future createPlan(Map data) async { await _api.post('/exercise-plans', data: data); } Future checkIn(String itemId) async { await _api.post('/exercise-plans/items/$itemId/checkin'); } }