提交 52e1a1aa 编写于 作者: Z Zachary

feat: add some help methods.

上级 508935f3
...@@ -28,34 +28,87 @@ export function createSong(song) { ...@@ -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) { 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 { return {
id, id,
name, name,
img, img: picUrl,
artists, artists,
artistsText: genArtistisText(artists),
desc: description,
company,
publishTime: formatDate(publishTime, "yyyy-MM-dd"), publishTime: formatDate(publishTime, "yyyy-MM-dd"),
...rest size,
type,
tags
}; };
} }
export function createAlbums(albums) {
return albums.map(album => createAlbum(album));
}
export function createMv(mv) { export function createMv(mv) {
const { id, name, img, duration, publishTime, playCount, ...rest } = mv; const {
id,
name,
cover,
artists,
duration,
publishTime,
playCount,
imgurl
} = mv;
return { return {
id, id,
name, name,
img, img: cover ? cover : imgurl,
artists,
artistsText: genArtistisText(artists),
duration, duration,
publishTime,
durationSecond: duration / 1000, durationSecond: duration / 1000,
durationText: formatTime(duration / 1000), durationText: formatTime(duration / 1000),
playCount: processCount(playCount), publishTime,
...rest playCount: processCount(playCount)
}; };
} }
export function createMvs(mvs) {
return mvs.map(mv => createMv(mv));
}
export function createSonger(songer) { export function createSonger(songer) {
return { return {
......
...@@ -198,7 +198,7 @@ export default { ...@@ -198,7 +198,7 @@ export default {
type: ds.album.type, type: ds.album.type,
version: ds.album.subType, version: ds.album.subType,
company: ds.album.company, company: ds.album.company,
publishTime: formatDate(ds.album.publishTime, "yy-MM-dd"), publishTime: formatDate(ds.album.publishTime, "yyyy-MM-dd"),
}; };
this.album = album; this.album = album;
//console.log(album); //console.log(album);
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</h4> </h4>
<div class="playlist__author" title="album.artists"> <div class="playlist__author" title="album.artists">
<a class="js_singer">{{ album.artists }}</a> <a class="js_singer">{{ album.artistsText }}</a>
</div> </div>
<div class="playlist__other">{{ album.publishTime }}</div> <div class="playlist__other">{{ album.publishTime }}</div>
<a href="javascript:;" class="btn_operate_menu js_albumlist_more"> <a href="javascript:;" class="btn_operate_menu js_albumlist_more">
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<script> <script>
import TypeSelectSubBar from "components/common/TypeSelectSubBar"; import TypeSelectSubBar from "components/common/TypeSelectSubBar";
import { albumAreas, getTopAlbum } from "api"; import { albumAreas, getTopAlbum } from "api";
import { createAlbum } from "common/utils"; import { createAlbums } from "common/utils";
export default { export default {
data() { data() {
...@@ -104,16 +104,8 @@ export default { ...@@ -104,16 +104,8 @@ export default {
area: this.selectArea, area: this.selectArea,
}).then((res) => { }).then((res) => {
let ds = res.data.monthData; let ds = res.data.monthData;
//console.log(ds); console.log(ds);
let albums = ds.map((d) => { let albums = createAlbums(ds);
return createAlbum({
id: d.id,
name: d.name,
img: d.picUrl,
artists: d.artist.name,
publishTime: d.publishTime,
});
});
console.log(albums); console.log(albums);
this.allAlbums = albums; this.allAlbums = albums;
this.allAlbumsLength = albums.length; this.allAlbumsLength = albums.length;
......
...@@ -44,7 +44,6 @@ ...@@ -44,7 +44,6 @@
<script> <script>
import DetailInfoCard from "components/common/DetailInfoCard"; import DetailInfoCard from "components/common/DetailInfoCard";
import DetailSonglist from "components/common/DetailSonglist"; import DetailSonglist from "components/common/DetailSonglist";
import ModListMenu from "components/common/ModListMenu";
import { getPlayList, getPlaylistDetial, getSongDetail } from "api"; import { getPlayList, getPlaylistDetial, getSongDetail } from "api";
import { processCount, createSong, playSonglist } from "common/utils"; import { processCount, createSong, playSonglist } from "common/utils";
...@@ -107,7 +106,6 @@ export default { ...@@ -107,7 +106,6 @@ export default {
components: { components: {
DetailInfoCard, DetailInfoCard,
DetailSonglist, DetailSonglist,
ModListMenu,
}, },
}; };
</script> </script>
......
...@@ -182,7 +182,7 @@ import { ...@@ -182,7 +182,7 @@ import {
createUser, createUser,
createSong, createSong,
createAlbum, createAlbum,
createMv, createMvs,
playSonglist, playSonglist,
} from "common/utils"; } from "common/utils";
...@@ -247,18 +247,9 @@ export default { ...@@ -247,18 +247,9 @@ export default {
// Get songer mv // Get songer mv
const res5 = await getSongerMvs(this.id); const res5 = await getSongerMvs(this.id);
let mvs = res5.data.mvs.map( console.log(res5);
({ id, name, imgurl, duration, playCount, publishTime }) => { let mvs = createMvs(res5.data.mvs);
return createMv({ console.log(mvs);
id,
name,
img: imgurl,
duration,
playCount,
publishTime,
});
}
);
this.mvs = mvs.length > 5 ? mvs.slice(0, 5) : mvs; this.mvs = mvs.length > 5 ? mvs.slice(0, 5) : mvs;
}, },
playHotSongs() { playHotSongs() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册