fix adding/remove mvs from library

This commit is contained in:
vapormusic 2022-02-16 14:03:59 +07:00
parent 3772399c01
commit edf5e43416
3 changed files with 27 additions and 18 deletions

View file

@ -154,6 +154,7 @@
"term.videoExtras": "Video Extras", "term.videoExtras": "Video Extras",
"term.top": "Top", "term.top": "Top",
"term.version": "Version", "term.version": "Version",
"term.noVideos": "No videos found.",
// Home // Home
"home.title": "Home", "home.title": "Home",

View file

@ -144,13 +144,15 @@
}, },
async isInLibrary() { async isInLibrary() {
if (this.item.type && !this.item.type.includes("library")) { if (this.item.type && !this.item.type.includes("library")) {
var params = { let params = {
"fields[playlists]": "inLibrary", relate:"library",
"fields[albums]": "inLibrary", "fields":"inLibrary",
"relate": "library",
"extend": this.revisedRandId() "extend": this.revisedRandId()
} }
var res = await app.mkapi(this.item.attributes.playParams.kind ?? this.item.type, this.item.attributes.playParams.isLibrary ?? false, this.item.attributes.playParams.id ?? this.item.id, params); let kind = this.item.type ?? this.item.attributes.playParams.kind
let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind;
if (truekind == "musicVideos") {truekind = "music-videos"}
let res = await app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/?ids[${truekind}]=${this.item.attributes.playParams.id ?? this.item.id}`,params);
res = res.data.data[0] res = res.data.data[0]
this.addedToLibrary = (res && res.attributes && res.attributes.inLibrary) ? res.attributes.inLibrary : false this.addedToLibrary = (res && res.attributes && res.attributes.inLibrary) ? res.attributes.inLibrary : false
} else { } else {
@ -158,21 +160,20 @@
} }
}, },
async removeFromLibrary(id) { async removeFromLibrary(id) {
var params = { let params = {
"fields[playlists]": "inLibrary", relate:"library",
"fields[songs]": "inLibrary", "fields":"inLibrary",
"fields[albums]": "inLibrary", "extend": this.revisedRandId()
"relate": "library", }
"extend": this.revisedRandId() let kind = this.item.type ?? this.item.attributes.playParams.kind
} let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind;
var id = this.item.id ?? this.item.attributes.playParams.id if (truekind == "musicVideos") {truekind = "music-videos"}
var res = await app.mkapi(this.item.attributes.playParams.kind ?? this.item.type, this.item.attributes.playParams.isLibrary ?? false, this.item.attributes.playParams.id ?? this.item.id, params); let res = await app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/?ids[${truekind}]=${this.item.attributes.playParams.id ?? this.item.id}`,params);
res= res.data.data[0] res= res.data.data[0]
if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) { if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) {
id = res.relationships.library.data[0].id id = res.relationships.library.data[0].id
} }
let kind = this.item.attributes.playParams.kind ?? this.item.type ?? '';
var truekind = (!kind.endsWith("s")) ? (kind + "s") : kind;
app.mk.api.v3.music(`v1/me/library/${truekind}/${id.toString()}`,{}, app.mk.api.v3.music(`v1/me/library/${truekind}/${id.toString()}`,{},
{ {
fetchOptions: { fetchOptions: {

View file

@ -6,8 +6,13 @@
</div> </div>
</div> </div>
<div class="madeforyou-body"> <div class="madeforyou-body">
<mediaitem-square :size="300" :item="item" v-for="item in videos"> <template v-if="videos.length > 0">
</mediaitem-square> <mediaitem-square :size="300" :item="item" v-for="item in videos">
</mediaitem-square>
</template>
<template v-else-if="loaded == true">
<div>{{$root.getLz('term.noVideos')}}</div>
</template>
</div> </div>
</div> </div>
</script> </script>
@ -19,12 +24,14 @@
data: function(){ data: function(){
return { return {
videos: [], videos: [],
loaded: false
} }
}, },
mounted() { mounted() {
this.$nextTick(async function () { this.$nextTick(async function () {
if (this.$data.videos == null || this.$data.videos.length == 0) if (this.$data.videos == null || this.$data.videos.length == 0)
this.$data.videos = (await this.$root.mk.api.v3.music('/v1/me/library/music-videos')).data?.data ?? [] this.$data.videos = (await this.$root.mk.api.v3.music('/v1/me/library/music-videos')).data?.data ?? []
this.$data.loaded = true
}) })
} }
}) })