ToneSnap_FSX_Flutter/lib/data/storage/hive_storage.dart
2024-08-01 13:38:25 +08:00

36 lines
1.2 KiB
Dart

// Author: fengshengxiong
// Date: 2024/5/8
// Description: 持久化储存
import 'package:hive_flutter/hive_flutter.dart';
import 'package:tone_snap/data/enum/play_mode.dart';
import 'package:tone_snap/data/models/music_model.dart';
import 'package:tone_snap/data/models/playlist_model.dart';
import 'package:tone_snap/data/models/voice_model.dart';
const myVoiceBox = 'myVoiceBox';
const favoriteBox = 'favoriteBox';
const musicBox = 'musicBox';
const loveSongsBox = 'loveSongsBox';
const offlineBox = 'offlineBox';
const playlistsBox = 'playlistsBox';
const collectPlaylistsBox = 'collectPlaylistsBox';
Future initHive() async {
// 初始化
await Hive.initFlutter();
// 注册类型适配器
Hive.registerAdapter(VoiceModelAdapter());
Hive.registerAdapter(PlayModeAdapter());
Hive.registerAdapter(MusicModelAdapter());
Hive.registerAdapter(PlaylistModelAdapter());
// 打开盒子
await Hive.openBox<VoiceModel>(myVoiceBox);
await Hive.openBox<VoiceModel>(favoriteBox);
await Hive.openBox(musicBox);
await Hive.openBox<MusicModel>(loveSongsBox);
await Hive.openBox<MusicModel>(offlineBox);
await Hive.openBox<PlaylistModel>(playlistsBox);
await Hive.openBox<PlaylistModel>(collectPlaylistsBox);
}