|
|
@ -1,23 +1,44 @@
|
|
|
|
import request from "@/utils/request";
|
|
|
|
import request from "@/utils/request";
|
|
|
|
import { mapTrackPlayableStatus } from "@/utils/common";
|
|
|
|
import { mapTrackPlayableStatus } from "@/utils/common";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 推荐歌单
|
|
|
|
|
|
|
|
* 说明 : 调用此接口 , 可获取推荐歌单
|
|
|
|
|
|
|
|
* - limit: 取出数量 , 默认为 30 (不支持 offset)
|
|
|
|
|
|
|
|
* - 调用例子 : /personalized?limit=1
|
|
|
|
|
|
|
|
* @param {Object} params
|
|
|
|
|
|
|
|
* @param {number=} params.limit
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function recommendPlaylist(params) {
|
|
|
|
export function recommendPlaylist(params) {
|
|
|
|
// limit: 取出数量 , 默认为 30
|
|
|
|
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/personalized",
|
|
|
|
url: "/personalized",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
|
params,
|
|
|
|
params,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 获取每日推荐歌单
|
|
|
|
|
|
|
|
* 说明 : 调用此接口 , 可获得每日推荐歌单 ( 需要登录 )
|
|
|
|
|
|
|
|
* @param {Object} params
|
|
|
|
|
|
|
|
* @param {number=} params.limit
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function dailyRecommendPlaylist(params) {
|
|
|
|
export function dailyRecommendPlaylist(params) {
|
|
|
|
// limit: 取出数量 , 默认为 30
|
|
|
|
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/recommend/resource",
|
|
|
|
url: "/recommend/resource",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
|
params,
|
|
|
|
params,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 获取歌单详情
|
|
|
|
|
|
|
|
* 说明 : 歌单能看到歌单名字, 但看不到具体歌单内容 , 调用此接口 , 传入歌单 id, 可以获取对应歌单内的所有的音乐(未登录状态只能获取不完整的歌单,登录后是完整的),
|
|
|
|
|
|
|
|
* 但是返回的trackIds是完整的,tracks 则是不完整的,可拿全部 trackIds 请求一次 song/detail 接口
|
|
|
|
|
|
|
|
* 获取所有歌曲的详情 (https://github.com/Binaryify/NeteaseCloudMusicApi/issues/452)
|
|
|
|
|
|
|
|
* - id : 歌单 id
|
|
|
|
|
|
|
|
* - s : 歌单最近的 s 个收藏者, 默认为8
|
|
|
|
|
|
|
|
* @param {number} id
|
|
|
|
|
|
|
|
* @param {boolean=} noCache
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function getPlaylistDetail(id, noCache = false) {
|
|
|
|
export function getPlaylistDetail(id, noCache = false) {
|
|
|
|
let params = { id };
|
|
|
|
let params = { id };
|
|
|
|
if (noCache) params.timestamp = new Date().getTime();
|
|
|
|
if (noCache) params.timestamp = new Date().getTime();
|
|
|
@ -30,11 +51,18 @@ export function getPlaylistDetail(id, noCache = false) {
|
|
|
|
return data;
|
|
|
|
return data;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 获取精品歌单
|
|
|
|
|
|
|
|
* 说明 : 调用此接口 , 可获取精品歌单
|
|
|
|
|
|
|
|
* - cat: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 "全部", 可从精品歌单标签列表接口获取(/playlist/highquality/tags)
|
|
|
|
|
|
|
|
* - limit: 取出歌单数量 , 默认为 20
|
|
|
|
|
|
|
|
* - before: 分页参数,取上一页最后一个歌单的 updateTime 获取下一页数据
|
|
|
|
|
|
|
|
* @param {Object} params
|
|
|
|
|
|
|
|
* @param {string} params.cat
|
|
|
|
|
|
|
|
* @param {number=} params.limit
|
|
|
|
|
|
|
|
* @param {number} params.before
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function highQualityPlaylist(params) {
|
|
|
|
export function highQualityPlaylist(params) {
|
|
|
|
// 可选参数: cat: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 "全部", 可从精品歌单标签列表接口获取(/playlist/highquality / tags)
|
|
|
|
|
|
|
|
// limit: 取出歌单数量 , 默认为 20
|
|
|
|
|
|
|
|
// before: 分页参数,取上一页最后一个歌单的 updateTime 获取下一页数据
|
|
|
|
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/top/playlist/highquality",
|
|
|
|
url: "/top/playlist/highquality",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
@ -42,11 +70,18 @@ export function highQualityPlaylist(params) {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 歌单 ( 网友精选碟 )
|
|
|
|
|
|
|
|
* 说明 : 调用此接口 , 可获取网友精选碟歌单
|
|
|
|
|
|
|
|
* - order: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为 'hot'
|
|
|
|
|
|
|
|
* - cat: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 "全部",可从歌单分类接口获取(/playlist/catlist)
|
|
|
|
|
|
|
|
* - limit: 取出歌单数量 , 默认为 50
|
|
|
|
|
|
|
|
* @param {Object} params
|
|
|
|
|
|
|
|
* @param {string} params.order
|
|
|
|
|
|
|
|
* @param {string} params.cat
|
|
|
|
|
|
|
|
* @param {number=} params.limit
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function topPlaylist(params) {
|
|
|
|
export function topPlaylist(params) {
|
|
|
|
// 可选参数 : order: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为 'hot'
|
|
|
|
|
|
|
|
// cat:cat: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 "全部",可从歌单分类接口获取(/playlist/catlist)
|
|
|
|
|
|
|
|
// limit: 取出歌单数量 , 默认为 50
|
|
|
|
|
|
|
|
// offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*50, 其中 50 为 limit 的值
|
|
|
|
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/top/playlist",
|
|
|
|
url: "/top/playlist",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
@ -54,23 +89,36 @@ export function topPlaylist(params) {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 歌单分类
|
|
|
|
|
|
|
|
* 说明 : 调用此接口,可获取歌单分类,包含 category 信息
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function playlistCatlist() {
|
|
|
|
export function playlistCatlist() {
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/playlist/catlist",
|
|
|
|
url: "/playlist/catlist",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 所有榜单
|
|
|
|
|
|
|
|
* 说明 : 调用此接口,可获取所有榜单 接口地址 : /toplist
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function toplists() {
|
|
|
|
export function toplists() {
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/toplist",
|
|
|
|
url: "/toplist",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 收藏/取消收藏歌单
|
|
|
|
|
|
|
|
* 说明 : 调用此接口, 传入类型和歌单 id 可收藏歌单或者取消收藏歌单
|
|
|
|
|
|
|
|
* - t : 类型,1:收藏,2:取消收藏
|
|
|
|
|
|
|
|
* - id : 歌单 id
|
|
|
|
|
|
|
|
* @param {Object} params
|
|
|
|
|
|
|
|
* @param {number} params.t
|
|
|
|
|
|
|
|
* @param {number} params.id
|
|
|
|
|
|
|
|
*/
|
|
|
|
export function subscribePlaylist(params) {
|
|
|
|
export function subscribePlaylist(params) {
|
|
|
|
// 必选参数 :
|
|
|
|
|
|
|
|
// t : 类型,1:收藏,2:取消收藏 id : 歌单 id
|
|
|
|
|
|
|
|
return request({
|
|
|
|
return request({
|
|
|
|
url: "/playlist/subscribe",
|
|
|
|
url: "/playlist/subscribe",
|
|
|
|
method: "get",
|
|
|
|
method: "get",
|
|
|
|