|
|
@@ -20910,6 +20910,7 @@ export struct LocalMusic {
|
|
|
if (isJump) {
|
|
|
this.setShowPlayTrue()
|
|
|
}
|
|
|
+ // 只有“随心所欲分页随机”才读取分页元数据,其他发现页队列仍按原有歌单模式处理。
|
|
|
const findMeta = isFindLocalRandomPagedPlaylist(playlistId) && findPlaylistMeta.isPagedLocalQueue
|
|
|
? findPlaylistMeta
|
|
|
: undefined;
|
|
|
@@ -21012,6 +21013,7 @@ export struct LocalMusic {
|
|
|
|
|
|
const actualTotal = totalCount ?? songs.length;
|
|
|
if (isFindPagedLocalQueue) {
|
|
|
+ // 这类队列只保存当前页歌曲,总数和分页游标放到独立状态里继续滚动加载。
|
|
|
this.applyFindPagedLocalQueueState(findMeta, actualTotal);
|
|
|
this.currentPlaylistSongFilePaths = [];
|
|
|
} else {
|
|
|
@@ -21044,6 +21046,7 @@ export struct LocalMusic {
|
|
|
// 确保当前播放的歌曲也更新到存储
|
|
|
AppStorage.setOrCreate('currentSong', songs[startIndex])
|
|
|
if (isFindPagedLocalQueue) {
|
|
|
+ // 不要把发现页分页随机队列降级成普通歌单,否则后面又会触发全量 hydrate。
|
|
|
this.preserveExistingQueueOnNextPlay = true
|
|
|
this.nextPlayQueueScope = 'find_paged_local'
|
|
|
this.doPlay(songs[startIndex], startIndex, false)
|