45 lines
923 B
Dart
45 lines
923 B
Dart
// Author: fengshengxiong
|
|
// Date: 2024/5/8
|
|
// Description: 收藏数据
|
|
|
|
import 'package:wallpaper/common/models/wallpaper_model.dart';
|
|
|
|
import 'hive_storage.dart';
|
|
|
|
class FavoriteData {
|
|
/// 私有构造函数
|
|
FavoriteData._();
|
|
|
|
/// 静态常量用于保存类的唯一实例
|
|
static final FavoriteData _instance = FavoriteData._();
|
|
|
|
/// 工厂构造函数返回类的唯一实例
|
|
factory FavoriteData() {
|
|
return _instance;
|
|
}
|
|
|
|
/// 声明盒子
|
|
/// 注意, main函数中这个盒子已经打开, 可以进行存储操作
|
|
final _box = getFavoriteBox();
|
|
|
|
/// 获取壁纸
|
|
List<WallpaperData> getWallpaperData() {
|
|
return _box.values.toList();
|
|
}
|
|
|
|
/// 存储壁纸
|
|
void setWallpaperData(WallpaperData wallpaperData) {
|
|
_box.add(wallpaperData);
|
|
}
|
|
|
|
/// 删除壁纸
|
|
void delete(index) {
|
|
_box.deleteAt(index);
|
|
}
|
|
|
|
/// 删除所有壁纸
|
|
void clear() {
|
|
_box.clear();
|
|
}
|
|
}
|