12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { toHttps } from './util'
- function filterSinger(singers) {
- let arr = []
- singers.forEach(item => {
- arr.push(item.name)
- })
- return arr.join('/')
- }
- export class Song {
- constructor({ id, name, singer, album, image, duration, url }) {
- this.id = id
- this.name = name
- this.singer = singer
- this.album = album
- this.image = image
- this.duration = duration
- this.url = url
- }
- }
- export function createPlayList(music) {
- return new Song({
- id: music.id,
- name: music.name,
- singer: music.artists.length > 0 && filterSinger(music.artists),
- album: music.album.name,
- image: toHttps(music.album.picUrl) || null,
- duration: music.duration / 1000,
- url: `https://music.163.com/song/media/outer/url?id=${music.id}.mp3`
- })
- }
- export function createTopList(music) {
- return new Song({
- id: music.id,
- name: music.name,
- singer: music.ar.length > 0 && filterSinger(music.ar),
- album: music.al.name,
- image: toHttps(music.al.picUrl),
- duration: music.dt / 1000,
- url: `https://music.163.com/song/media/outer/url?id=${music.id}.mp3`
- })
- }
- // 歌曲数据格式化
- const formatSongs = function formatPlayList(list) {
- let Songs = []
- list.forEach(item => {
- const musicData = item
- if (musicData.id) {
- Songs.push(createPlayList(musicData))
- }
- })
- return Songs
- }
- export const formatTopSongs = function formatTopList(list) {
- let Songs = []
- list.forEach(item => {
- const musicData = item
- if (musicData.id) {
- Songs.push(createTopList(musicData))
- }
- })
- return Songs
- }
- export default formatSongs
|