import '../models/bookmark.dart'; import 'database_service.dart'; class BookmarkRepository { final DatabaseService _databaseService = DatabaseService.instance; /// 获取所有书签 Future> getAllBookmarks() async { try { final bookmarksBox = _databaseService.getBookmarksBox(); return bookmarksBox.values.toList(); } catch (e) { print('❌ 获取所有书签失败: $e'); rethrow; } } /// 根据ID获取书签 Future getBookmarkById(String id) async { try { final bookmarksBox = _databaseService.getBookmarksBox(); return bookmarksBox.get(id); } catch (e) { print('❌ 根据ID获取书签失败: $e'); rethrow; } } /// 添加新书签 Future addBookmark(Bookmark bookmark) async { try { final bookmarksBox = _databaseService.getBookmarksBox(); await bookmarksBox.put(bookmark.id, bookmark); print('✅ 书签添加成功: ${bookmark.title}'); } catch (e) { print('❌ 添加书签失败: $e'); rethrow; } } /// 更新书签信息 Future updateBookmark(Bookmark bookmark) async { try { final bookmarksBox = _databaseService.getBookmarksBox(); await bookmarksBox.put(bookmark.id, bookmark); print('✅ 书签更新成功: ${bookmark.title}'); } catch (e) { print('❌ 更新书签失败: $e'); rethrow; } } /// 删除书签 Future deleteBookmark(String id) async { try { final bookmarksBox = _databaseService.getBookmarksBox(); await bookmarksBox.delete(id); print('✅ 书签删除成功: $id'); } catch (e) { print('❌ 删除书签失败: $e'); rethrow; } } }