mirror of
https://github.com/GiriNeko/YesPlayMusic.git
synced 2025-12-18 14:18:03 +00:00
Merge pull request #68 from njzydark/patch-3
fix(utils/isTrackPlayable): songs that have been removed from the shelves cannot be played either
This commit is contained in:
commit
cc953b31f5
3 changed files with 15 additions and 3 deletions
|
|
@ -47,7 +47,10 @@ export function getPlaylistDetail(id, noCache = false) {
|
||||||
method: "get",
|
method: "get",
|
||||||
params,
|
params,
|
||||||
}).then((data) => {
|
}).then((data) => {
|
||||||
data.playlist.tracks = mapTrackPlayableStatus(data.playlist.tracks);
|
data.playlist.tracks = mapTrackPlayableStatus(
|
||||||
|
data.playlist.tracks,
|
||||||
|
data.privileges || []
|
||||||
|
);
|
||||||
return data;
|
return data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ export function getTrackDetail(ids) {
|
||||||
ids,
|
ids,
|
||||||
},
|
},
|
||||||
}).then((data) => {
|
}).then((data) => {
|
||||||
data.songs = mapTrackPlayableStatus(data.songs);
|
data.songs = mapTrackPlayableStatus(data.songs, data.privileges);
|
||||||
return data;
|
return data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,21 @@ export function isTrackPlayable(track) {
|
||||||
) {
|
) {
|
||||||
result.playable = false;
|
result.playable = false;
|
||||||
result.reason = "No Copyright";
|
result.reason = "No Copyright";
|
||||||
|
} else if (track.privilege?.st < 0) {
|
||||||
|
result.playable = false;
|
||||||
|
result.reason = "The song has been removed from the shelves";
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function mapTrackPlayableStatus(tracks) {
|
export function mapTrackPlayableStatus(tracks, privileges = []) {
|
||||||
return tracks.map((t) => {
|
return tracks.map((t) => {
|
||||||
|
const privilege = privileges.find((item) => item.id === t.id) || {};
|
||||||
|
if (t.privilege) {
|
||||||
|
Object.assign(t.privilege, privilege);
|
||||||
|
} else {
|
||||||
|
t.privilege = privilege;
|
||||||
|
}
|
||||||
let result = isTrackPlayable(t);
|
let result = isTrackPlayable(t);
|
||||||
t.playable = result.playable;
|
t.playable = result.playable;
|
||||||
t.reason = result.reason;
|
t.reason = result.reason;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue