Files
QingTing-Player/lib/metadata/metadata_cache.dart
T

37 lines
973 B
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// lib/metadata/metadata_cache.dart
import 'metadata_model.dart';
/// 本地缓存接口(先用内存缓存,后续升级为 SQLite)
class MetadataCache {
// 内存缓存:Map<fileId, FinalMetadata>
final Map<String, FinalMetadata> _cache = {};
/// 获取缓存
Future<FinalMetadata?> get(String fileId) async {
return _cache[fileId];
}
/// 存入缓存
Future<void> put(String fileId, FinalMetadata metadata) async {
_cache[fileId] = metadata;
}
/// 更新缓存(同 put
Future<void> update(String fileId, FinalMetadata metadata) async {
_cache[fileId] = metadata;
}
/// 根据 artist 获取历史记录(用于证据收集)
/// 实际项目中需要从数据库查询,目前返回空列表
Future<List<Map<String, dynamic>>> getHistory(String artist,
{int limit = 10}) async {
// TODO: 从 SQLite 查询
return [];
}
/// 清空缓存
Future<void> clear() async {
_cache.clear();
}
}