提交 885d1930 编写于 作者: B binaryify

排行榜接口废弃idx参数,只支持id参数,修复返回数据异常问题 #830 ,新增获取历史日推可用日期列表,获取历史日推详细数据接口

上级 06013ed4
# 更新日志 # 更新日志
### 3.34.0 | 2020.06.25
- 排行榜接口废弃idx参数,只支持id参数,修复返回数据异常问题 [#830](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/830)
- 新增`获取历史日推可用日期列表`,`获取历史日推详细数据` 接口
### 3.33.2 | 2020.06.23 ### 3.33.2 | 2020.06.23
- 更新每日推荐接口 [#826](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/826) - 更新每日推荐接口 [#826](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/826)
......
...@@ -172,6 +172,8 @@ ...@@ -172,6 +172,8 @@
151. 获取推荐视频 151. 获取推荐视频
152. 获取视频分类列表 152. 获取视频分类列表
153. 获取全部视频列表接口 153. 获取全部视频列表接口
154. 获取历史日推可用日期列表
155. 获取历史日推详细数据
## 环境要求 ## 环境要求
......
...@@ -169,6 +169,8 @@ ...@@ -169,6 +169,8 @@
151. 获取推荐视频 151. 获取推荐视频
152. 获取视频分类列表 152. 获取视频分类列表
153. 获取全部视频列表接口 153. 获取全部视频列表接口
154. 获取历史日推可用日期列表
155. 获取历史日推详细数据
## 安装 ## 安装
...@@ -1674,6 +1676,24 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具 ...@@ -1674,6 +1676,24 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具
返回数据如下图 : 返回数据如下图 :
![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png) ![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png)
### 获取历史日推可用日期列表
说明 : 调用此接口 , 可获得历史日推可用日期列表
**接口地址 :** `/history/recommend/songs`
**调用例子 :** `/history/recommend/songs`
### 获取历史日推详情数据
说明 : 调用此接口 ,传入当日日期, 可获得当日历史日推数据
**必选参数 :** `date`: 日期,通过历史日推可用日期列表接口获取,不能任意日期
**接口地址 :** `/history/recommend/songs/detail`
**调用例子 :** `/history/recommend/songs/detail?date=2020-06-21`
### 私人 FM ### 私人 FM
说明 : 私人 FM( 需要登录 ) 说明 : 私人 FM( 需要登录 )
...@@ -2048,98 +2068,23 @@ MV 点赞转发评论数数据 ...@@ -2048,98 +2068,23 @@ MV 点赞转发评论数数据
**调用例子 :** `/video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D` **调用例子 :** `/video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D`
### 排行榜 ### 所有榜单
说明 : 调用此接口 , 传入数字 idx, 可获取不同排行榜
**必选参数 :** `idx`: 对象 key, 对应以下排行榜
```
"0": 云音乐新歌榜,
"1": 云音乐热歌榜,
"2": 网易原创歌曲榜,
"3": 云音乐飙升榜,
"4": 云音乐电音榜,
"5": UK排行榜周榜,
"6": 美国Billboard周榜
"7": KTV嗨榜,
"8": iTunes榜,
"9": Hit FM Top榜,
"10": 日本Oricon周榜
"11": 韩国Melon排行榜周榜,
"12": 韩国Mnet排行榜周榜,
"13": 韩国Melon原声周榜,
"14": 中国TOP排行榜(港台榜),
"15": 中国TOP排行榜(内地榜)
"16": 香港电台中文歌曲龙虎榜,
"17": 华语金曲榜,
"18": 中国嘻哈榜,
"19": 法国 NRJ EuroHot 30周榜,
"20": 台湾Hito排行榜,
"21": Beatport全球电子舞曲榜,
"22": 云音乐ACG音乐榜,
"23": 云音乐说唱榜
"24": 云音乐古典音乐榜
"25": 云音乐电音榜
"26": 抖音排行榜
"27": 新声榜
"28": 云音乐韩语榜
"29": 英国Q杂志中文版周榜
"30": 电竞音乐榜 说明 : 调用此接口,可获取所有榜单
**接口地址 :** `/toplist`
"31": 云音乐欧美热歌榜 **调用例子 :** `/toplist`
"32": 云音乐欧美新歌 ### 排行
"33": 说唱TOP榜 说明 : 调用此接口 , 传入榜单 id, 可获取不同排行榜数据(v3.34.0之后不再支持idx参数)
``` **必选参数 :** `id`: 榜单id,通过所有榜单接口获取
**可选参数 :** `id`: 榜单id,传入后idx将失效
**接口地址 :** `/top/list` **接口地址 :** `/top/list`
**调用例子 :** `/top/list?idx=6`,`/top/list?id=2809577409` **调用例子 :** `/top/list?id=2809577409`
返回数据如下图 :
![排行榜](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_list.png)
### 所有榜单
说明 : 调用此接口,可获取所有榜单
**接口地址 :** `/toplist`
**调用例子 :** `/toplist`
### 所有榜单内容摘要 ### 所有榜单内容摘要
......
// 历史每日推荐歌曲
module.exports = (query, request) => {
query.cookie.os = 'ios'
const data = {
}
return request(
'POST', `https://music.163.com/api/discovery/recommend/songs/history/recent`, data,
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
)
}
\ No newline at end of file
// 历史每日推荐歌曲
module.exports = (query, request) => {
query.cookie.os = 'ios'
const data = {
date: query.date || '',
}
return request(
'POST', `https://music.163.com/api/discovery/recommend/songs/history/detail`, data,
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
)
}
\ No newline at end of file
// 排行榜 // 排行榜
const topList = {
0: '3779629', //云音乐新歌榜
1: '3778678', //云音乐热歌榜
2: '2884035', ///云音乐原创榜
3: '19723756', //云音乐飙升榜
4: '10520166', //云音乐电音榜
5: '180106', //UK排行榜周榜
6: '60198', //美国Billboard周榜
7: '21845217', //KTV嗨榜
8: '11641012', //iTunes榜
9: '120001', //Hit FM Top榜
10: '60131', //日本Oricon周榜
11: '3733003', //韩国Melon排行榜周榜
12: '60255', //韩国Mnet排行榜周榜
13: '46772709', //韩国Melon原声周榜
14: '112504', //中国TOP排行榜(港台榜)
15: '64016', //中国TOP排行榜(内地榜)
16: '10169002', //香港电台中文歌曲龙虎榜
17: '4395559', //华语金曲榜
18: '1899724', //中国嘻哈榜
19: '27135204', //法国 NRJ EuroHot 30周榜
20: '112463', //台湾Hito排行榜
21: '3812895', //Beatport全球电子舞曲榜
22: '71385702', //云音乐ACG音乐榜
23: '991319590', //云音乐说唱榜,
24: '71384707', //云音乐古典音乐榜
25: '1978921795', //云音乐电音榜
26: '2250011882', //抖音排行榜
27: '2617766278', //新声榜
28: '745956260', //云音乐韩语榜
29: '2023401535', //英国Q杂志中文版周榜
30: '2006508653', //电竞音乐榜
31: '2809513713', //云音乐欧美热歌榜
32: '2809577409', //云音乐欧美新歌榜
33: '2847251561', //说唱TOP榜
34: '3001835560', //云音乐ACG动画榜
35: '3001795926', //云音乐ACG游戏榜
36: '3001890046', //云音乐ACG VOCALOID榜
}
module.exports = (query, request) => { module.exports = (query, request) => {
query.cookie.os = 'pc'
if(query.idx){
return Promise.resolve( {
status: 500,
body: {
code: 500,
msg: '不支持此方式调用,只支持id调用'
}
})
}
const data = { const data = {
id: query.id || topList[query.idx], id: query.id,
n: 1000, n: '500',
s: '5', s: '0',
shareUserId: '0',
} }
return request( return request(
'POST', `https://interface3.music.163.com/api/playlist/v4/detail`, data, 'POST', `https://interface3.music.163.com/api/playlist/v4/detail`, data,
......
{ {
"name": "NeteaseCloudMusicApi", "name": "NeteaseCloudMusicApi",
"version": "3.33.2", "version": "3.34.0",
"description": "网易云音乐 NodeJS 版 API", "description": "网易云音乐 NodeJS 版 API",
"scripts": { "scripts": {
"start": "node app.js", "start": "node app.js",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册