feat(metadata): 元数据补全后主动推送界面刷新
之前标签补全后,收藏/文件列表要退出重进才显示新信息。 - 新增 MetadataEvents 事件总线(MetadataUpdate: path + songs 行) - MetadataService 写库成功后 publish - 首页收藏列表订阅:按 path 替换对应 SongItem(标题/艺术家/封面) - WebDAV 文件列表订阅:按 path 更新 _metaByPath 效果:歌曲播完标签抓取完成后,列表里的那一行自动变成标签信息, 不需要返回重进。
This commit is contained in:
@@ -7,6 +7,7 @@ import 'metadata_model.dart';
|
||||
import 'metadata_reader.dart';
|
||||
import 'metadata_normalizer.dart';
|
||||
import 'metadata_stability.dart';
|
||||
import '../services/metadata_events.dart';
|
||||
import 'metadata_cache.dart';
|
||||
import 'file_provider.dart';
|
||||
import '../utils/artwork_helper.dart';
|
||||
@@ -189,6 +190,9 @@ class MetadataService {
|
||||
await _db.updateSong(songKey, row);
|
||||
}
|
||||
|
||||
// 通知界面局部刷新(收藏/文件列表/歌单等)
|
||||
MetadataEvents().publish(fileId, row);
|
||||
|
||||
final merged = FinalMetadata(
|
||||
title: row['title'] as String? ?? '',
|
||||
artist: row['artist'] as String? ?? '',
|
||||
|
||||
Reference in New Issue
Block a user