64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
import { getMusicInfosByList } from './musicInfo'
|
|
import { createHttpFetch } from './util'
|
|
|
|
export default {
|
|
/**
|
|
* 通过AlbumId获取专辑信息
|
|
* @param {*} id
|
|
*/
|
|
async getAlbumInfo(id) {
|
|
const albumInfoRequest = await createHttpFetch('http://kmrserviceretry.kugou.com/container/v1/album?dfid=1tT5He3kxrNC4D29ad1MMb6F&mid=22945702112173152889429073101964063697&userid=0&appid=1005&clientver=11589', {
|
|
method: 'POST',
|
|
body: {
|
|
appid: 1005,
|
|
clienttime: 1681833686,
|
|
clientver: 11589,
|
|
data: [{ album_id: id }],
|
|
fields: 'language,grade_count,intro,mix_intro,heat,category,sizable_cover,cover,album_name,type,quality,publish_company,grade,special_tag,author_name,publish_date,language_id,album_id,exclusive,is_publish,trans_param,authors,album_tag',
|
|
isBuy: 0,
|
|
key: 'e6f3306ff7e2afb494e89fbbda0becbf',
|
|
mid: '22945702112173152889429073101964063697',
|
|
show_album_tag: 0,
|
|
},
|
|
})
|
|
if (!albumInfoRequest) return Promise.reject(new Error('get album info failed.'))
|
|
const albumInfo = albumInfoRequest[0]
|
|
|
|
return {
|
|
name: albumInfo.album_name,
|
|
image: albumInfo.sizable_cover.replace('{size}', 240),
|
|
desc: albumInfo.intro,
|
|
authorName: albumInfo.author_name,
|
|
// play_count: this.formatPlayCount(info.count),
|
|
}
|
|
},
|
|
/**
|
|
* 通过AlbumId获取专辑
|
|
* @param {*} id
|
|
* @param {*} page
|
|
*/
|
|
async getAlbumDetail(id, page = 1, limit = 200) {
|
|
const info = await this.getAlbumInfo(id)
|
|
|
|
const albumList = await createHttpFetch(`http://mobiles.kugou.com/api/v3/album/song?version=9108&albumid=${id}&plat=0&pagesize=${limit}&area_code=0&page=${page}&with_res_tag=0`)
|
|
if (!albumList.info) return Promise.reject(new Error('Get album list failed.'))
|
|
|
|
let result = await getMusicInfosByList(albumList.info)
|
|
|
|
return {
|
|
list: result || [],
|
|
page,
|
|
limit,
|
|
total: albumList.total,
|
|
source: 'kg',
|
|
info: {
|
|
name: info.name,
|
|
img: info.image,
|
|
desc: info.desc,
|
|
author: info.authorName,
|
|
// play_count: this.formatPlayCount(info.count),
|
|
},
|
|
}
|
|
},
|
|
}
|