import '../models/highlight.dart'; import 'database_service.dart'; class HighlightRepository { final DatabaseService _databaseService = DatabaseService.instance; /// 获取所有高亮 Future> getAllHighlights() async { try { final highlightsBox = _databaseService.getHighlightsBox(); return highlightsBox.values.toList(); } catch (e) { print('❌ 获取所有高亮失败: $e'); rethrow; } } /// 根据ID获取高亮 Future getHighlightById(String id) async { try { final highlightsBox = _databaseService.getHighlightsBox(); return highlightsBox.get(id); } catch (e) { print('❌ 根据ID获取高亮失败: $e'); rethrow; } } /// 添加新高亮 Future addHighlight(Highlight highlight) async { try { final highlightsBox = _databaseService.getHighlightsBox(); await highlightsBox.put(highlight.id, highlight); print('✅ 高亮添加成功: ${highlight.selectedText}'); } catch (e) { print('❌ 添加高亮失败: $e'); rethrow; } } /// 更新高亮信息 Future updateHighlight(Highlight highlight) async { try { final highlightsBox = _databaseService.getHighlightsBox(); await highlightsBox.put(highlight.id, highlight); print('✅ 高亮更新成功: ${highlight.selectedText}'); } catch (e) { print('❌ 更新高亮失败: $e'); rethrow; } } /// 删除高亮 Future deleteHighlight(String id) async { try { final highlightsBox = _databaseService.getHighlightsBox(); await highlightsBox.delete(id); print('✅ 高亮删除成功: $id'); } catch (e) { print('❌ 删除高亮失败: $e'); rethrow; } } }