36 lines
1.2 KiB
Dart
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);
|
|
} |