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

feat: add some help methods.

上级 508935f3
......@@ -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 {
......
......@@ -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);
......
......@@ -53,7 +53,7 @@
</h4>
<div class="playlist__author" title="album.artists">
<a class="js_singer">{{ album.artists }}</a>
<a class="js_singer">{{ album.artistsText }}</a>
</div>
<div class="playlist__other">{{ album.publishTime }}</div>
<a href="javascript:;" class="btn_operate_menu js_albumlist_more">
......@@ -80,7 +80,7 @@
<script>
import TypeSelectSubBar from "components/common/TypeSelectSubBar";
import { albumAreas, getTopAlbum } from "api";
import { createAlbum } from "common/utils";
import { createAlbums } from "common/utils";
export default {
data() {
......@@ -104,16 +104,8 @@ export default {
area: this.selectArea,
}).then((res) => {
let ds = res.data.monthData;
//console.log(ds);
let albums = ds.map((d) => {
return createAlbum({
id: d.id,
name: d.name,
img: d.picUrl,
artists: d.artist.name,
publishTime: d.publishTime,
});
});
console.log(ds);
let albums = createAlbums(ds);
console.log(albums);
this.allAlbums = albums;
this.allAlbumsLength = albums.length;
......
......@@ -44,7 +44,6 @@
<script>
import DetailInfoCard from "components/common/DetailInfoCard";
import DetailSonglist from "components/common/DetailSonglist";
import ModListMenu from "components/common/ModListMenu";
import { getPlayList, getPlaylistDetial, getSongDetail } from "api";
import { processCount, createSong, playSonglist } from "common/utils";
......@@ -107,7 +106,6 @@ export default {
components: {
DetailInfoCard,
DetailSonglist,
ModListMenu,
},
};
</script>
......
......@@ -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() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册