Files
lxh2875931338 e10be527cb feat(playlist): 歌单变更与歌单内元数据实时刷新
两个边界场景:
1) 新建/重命名/删除歌单、加入/移除歌曲后,主页歌单页不刷新
2) 歌单详情页里歌曲补全元数据后,标题/封面不更新

- 新增 PlaylistEvents(void 事件)
- PlaylistRepository 的创建/重命名/删除/批量加入/移除后 publish
- 主页订阅后重新拉取歌单摘要
- 歌单详情页订阅 MetadataEvents,按 path 就地更新行
2026-11-01 16:32:35 +08:00

22 lines
594 B
Dart

// lib/services/playlist_events.dart
import 'dart:async';
/// 歌单数据变更事件(新建/重命名/删除/加歌/删歌/排序)。
///
/// 主页的歌单页、歌单详情页都靠它实时刷新,
/// 不用等页面重建。
class PlaylistEvents {
static final PlaylistEvents _instance = PlaylistEvents._internal();
factory PlaylistEvents() => _instance;
PlaylistEvents._internal();
final StreamController<void> _controller =
StreamController<void>.broadcast();
Stream<void> get stream => _controller.stream;
void publish() {
_controller.add(null);
}
}