mirror of
https://github.com/GiriNeko/YesPlayMusic.git
synced 2025-12-16 05:08:04 +00:00
115 lines
2.8 KiB
JavaScript
115 lines
2.8 KiB
JavaScript
import request from '@/utils/request';
|
|
import { mapTrackPlayableStatus } from '@/utils/common';
|
|
import { isAccountLoggedIn } from '@/utils/auth';
|
|
import { getTrackDetail } from '@/api/track';
|
|
|
|
/**
|
|
* 获取歌手单曲
|
|
* 说明 : 调用此接口 , 传入歌手 id, 可获得歌手部分信息和热门歌曲
|
|
* @param {number} id - 歌手 id, 可由搜索接口获得
|
|
*/
|
|
export function getArtist(id) {
|
|
return request({
|
|
url: '/artists',
|
|
method: 'get',
|
|
params: {
|
|
id,
|
|
timestamp: new Date().getTime(),
|
|
},
|
|
}).then(async data => {
|
|
if (!isAccountLoggedIn()) {
|
|
const trackIDs = data.hotSongs.map(t => t.id);
|
|
const tracks = await getTrackDetail(trackIDs.join(','));
|
|
data.hotSongs = tracks.songs;
|
|
return data;
|
|
}
|
|
data.hotSongs = mapTrackPlayableStatus(data.hotSongs);
|
|
return data;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 获取歌手专辑
|
|
* 说明 : 调用此接口 , 传入歌手 id, 可获得歌手专辑内容
|
|
* - id: 歌手 id
|
|
* - limit: 取出数量 , 默认为 50
|
|
* - offset: 偏移数量 , 用于分页 , 如 :( 页数 -1)*50, 其中 50 为 limit 的值 , 默认为 0
|
|
* @param {Object} params
|
|
* @param {number} params.id
|
|
* @param {number=} params.limit
|
|
* @param {number=} params.offset
|
|
*/
|
|
export function getArtistAlbum(params) {
|
|
return request({
|
|
url: '/artist/album',
|
|
method: 'get',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 歌手榜
|
|
* 说明 : 调用此接口 , 可获取排行榜中的歌手榜
|
|
* - type : 地区
|
|
* 1: 华语
|
|
* 2: 欧美
|
|
* 3: 韩国
|
|
* 4: 日本
|
|
* @param {number=} type
|
|
*/
|
|
export function toplistOfArtists(type = null) {
|
|
let params = {};
|
|
if (type) {
|
|
params.type = type;
|
|
}
|
|
return request({
|
|
url: '/toplist/artist',
|
|
method: 'get',
|
|
params,
|
|
});
|
|
}
|
|
/**
|
|
* 获取歌手 mv
|
|
* 说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调 用/mv传入此接口获得的 mvid 来拿到 , 如 : /artist/mv?id=6452,/mv?mvid=5461064
|
|
* @param {number} params.id 歌手 id, 可由搜索接口获得
|
|
* @param {number} params.offset
|
|
* @param {number} params.limit
|
|
*/
|
|
export function artistMv(params) {
|
|
return request({
|
|
url: '/artist/mv',
|
|
method: 'get',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 收藏歌手
|
|
* 说明 : 调用此接口 , 传入歌手 id, 可收藏歌手
|
|
* - id: 歌手 id
|
|
* - t: 操作,1 为收藏,其他为取消收藏
|
|
* @param {Object} params
|
|
* @param {number} params.id
|
|
* @param {number} params.t
|
|
*/
|
|
export function followAArtist(params) {
|
|
return request({
|
|
url: '/artist/sub',
|
|
method: 'post',
|
|
params,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 相似歌手
|
|
* 说明 : 调用此接口 , 传入歌手 id, 可获得相似歌手
|
|
* - id: 歌手 id
|
|
* @param {number} id
|
|
*/
|
|
export function similarArtists(id) {
|
|
return request({
|
|
url: '/simi/artist',
|
|
method: 'post',
|
|
params: { id },
|
|
});
|
|
}
|