Wallpaper-Genie/lib/common/storage/hive_storage.dart
2024-07-12 16:04:47 +08:00

30 lines
887 B
Dart

import 'package:hive_flutter/hive_flutter.dart';
import 'package:wallpaperx/entity/generate_info_model.dart';
import 'package:wallpaperx/entity/image_model.dart';
import 'package:wallpaperx/entity/tags_model.dart';
import 'package:wallpaperx/entity/wallpaper_model.dart';
const favoriteBox = 'favoriteBox';
const historyBox = 'historyBox';
Future initHive() async {
// 初始化
await Hive.initFlutter();
// 注册类型适配器
Hive.registerAdapter(ImageModelAdapter());
Hive.registerAdapter(GenerateInfoModelAdapter());
Hive.registerAdapter(TagsModelAdapter());
// 打开盒子
await Hive.openBox<ImageModel>(favoriteBox);
await Hive.openBox<ImageModel>(historyBox);
}
/// 获取盒子
Box<ImageModel> getFavoriteBox() {
return Hive.box<ImageModel>(favoriteBox);
}
/// 获取盒子
Box<ImageModel> getHistoryBox() {
return Hive.box<ImageModel>(historyBox);
}