diff --git a/src/common/apiHelper.js b/src/common/apiHelper.js index 4bf586ae9131710153cbba7bbd9d78976d5115ff..7e7816ef27163bfff4ffb536af050cf019d6df9b 100644 --- a/src/common/apiHelper.js +++ b/src/common/apiHelper.js @@ -28,34 +28,87 @@ export function createSong(song) { }; } +export function createOneSong(song) { + const { id, name, al, dt, ar, mv, publishTime, ...rest } = song; + return { + id, + name, + img: al.picUrl, + artists: ar, + artistsText: genArtistisText(ar), + duration: dt, + durationSecond: dt / 1000, + durationText: formatTime(dt / 1000), + publishTime: formatDate(publishTime, "yyyy-MM-dd"), + albumId: al.id, + albumName: al.name, + mvId: mv + }; +} +export function createSongs(songs) { + return songs.map(song => createOneSong(song)); +} + export function createAlbum(album) { - const { id, name, img, artists, publishTime, ...rest } = album; + const { + id, + name, + picUrl, + artists, + description, + company, + publishTime, + size, + type, + tags + } = album; return { id, name, - img, + img: picUrl, artists, + artistsText: genArtistisText(artists), + desc: description, + company, publishTime: formatDate(publishTime, "yyyy-MM-dd"), - ...rest + size, + type, + tags }; } +export function createAlbums(albums) { + return albums.map(album => createAlbum(album)); +} export function createMv(mv) { - const { id, name, img, duration, publishTime, playCount, ...rest } = mv; + const { + id, + name, + cover, + artists, + duration, + publishTime, + playCount, + imgurl + } = mv; return { id, name, - img, + img: cover ? cover : imgurl, + artists, + artistsText: genArtistisText(artists), duration, - publishTime, durationSecond: duration / 1000, durationText: formatTime(duration / 1000), - playCount: processCount(playCount), - ...rest + publishTime, + playCount: processCount(playCount) }; } +export function createMvs(mvs) { + return mvs.map(mv => createMv(mv)); +} export function createSonger(songer) { return { diff --git a/src/views/musicLibrary/AlbumDetail.vue b/src/views/musicLibrary/AlbumDetail.vue index 870bdb0615763a1e638774f382419874ebc3a00b..fe58c815cf4c32ed1066d958908809dee14fb0ce 100644 --- a/src/views/musicLibrary/AlbumDetail.vue +++ b/src/views/musicLibrary/AlbumDetail.vue @@ -198,7 +198,7 @@ export default { type: ds.album.type, version: ds.album.subType, company: ds.album.company, - publishTime: formatDate(ds.album.publishTime, "yy-MM-dd"), + publishTime: formatDate(ds.album.publishTime, "yyyy-MM-dd"), }; this.album = album; //console.log(album); diff --git a/src/views/musicLibrary/NewDisc.vue b/src/views/musicLibrary/NewDisc.vue index 74b8d04193676ab065322725b1c0504387b5943b..230b6d67776c4e8bdfa74a391261fbef967fded5 100644 --- a/src/views/musicLibrary/NewDisc.vue +++ b/src/views/musicLibrary/NewDisc.vue @@ -53,7 +53,7 @@
- {{ album.artists }} + {{ album.artistsText }}
{{ album.publishTime }}
@@ -80,7 +80,7 @@ diff --git a/src/views/musicLibrary/SongerDetail.vue b/src/views/musicLibrary/SongerDetail.vue index 77d0a417834c615e8831ca7e3012f792a4e15844..076f1e27757144ac79c9a8e3f70c1d2934ad59d4 100644 --- a/src/views/musicLibrary/SongerDetail.vue +++ b/src/views/musicLibrary/SongerDetail.vue @@ -182,7 +182,7 @@ import { createUser, createSong, createAlbum, - createMv, + createMvs, playSonglist, } from "common/utils"; @@ -247,18 +247,9 @@ export default { // Get songer mv const res5 = await getSongerMvs(this.id); - let mvs = res5.data.mvs.map( - ({ id, name, imgurl, duration, playCount, publishTime }) => { - return createMv({ - id, - name, - img: imgurl, - duration, - playCount, - publishTime, - }); - } - ); + console.log(res5); + let mvs = createMvs(res5.data.mvs); + console.log(mvs); this.mvs = mvs.length > 5 ? mvs.slice(0, 5) : mvs; }, playHotSongs() {