更新 / 修复排行榜接口

This commit is contained in:
binaryify
2017-11-27 16:46:43 +08:00
parent 74211d01d9
commit cb6ce5bb65
3 changed files with 100 additions and 54 deletions
+53 -39
View File
@@ -1,42 +1,56 @@
const top_list_all = {
'0': ['云音乐新歌榜', '/api/playlist/detail?id=3779629'],
'1': ['云音乐热歌榜', '/api/playlist/detail?id=3778678'],
'2': ['网易原创歌曲榜', '/api/playlist/detail?id=2884035'],
'3': ['云音乐飙升榜', '/api/playlist/detail?id=19723756'],
'4': ['云音乐电音榜', '/api/playlist/detail?id=10520166'],
'5': ['UK排行榜周榜', '/api/playlist/detail?id=180106'],
'6': ['美国Billboard周榜', '/api/playlist/detail?id=60198'],
'7': ['KTV嗨榜', '/api/playlist/detail?id=21845217'],
'8': ['iTunes榜', '/api/playlist/detail?id=11641012'],
'9': ['Hit FM Top榜', '/api/playlist/detail?id=120001'],
'10': ['日本Oricon周榜', '/api/playlist/detail?id=60131'],
'11': ['韩国Melon排行榜周榜', '/api/playlist/detail?id=3733003'],
'12': ['韩国Mnet排行榜周榜', '/api/playlist/detail?id=60255'],
'13': ['韩国Melon原声周榜', '/api/playlist/detail?id=46772709'],
'14': ['中国TOP排行榜(港台榜)', '/api/playlist/detail?id=112504'],
'15': ['中国TOP排行榜(内地榜)', '/api/playlist/detail?id=64016'],
'16': ['香港电台中文歌曲龙虎榜', '/api/playlist/detail?id=10169002'],
'17': ['华语金曲榜', '/api/playlist/detail?id=4395559'],
'18': ['中国嘻哈榜', '/api/playlist/detail?id=1899724'],
'19': ['法国 NRJ EuroHot 30周榜', '/api/playlist/detail?id=27135204'],
'20': ['台湾Hito排行榜', '/api/playlist/detail?id=112463'],
'21': ['Beatport全球电子舞曲榜', '/api/playlist/detail?id=3812895']
}
const express = require('express')
const router = express()
const { createRequest } = require('../util/util')
"0": ["云音乐新歌榜", "3779629"],
"1": ["云音乐热歌榜", "3778678"],
"2": ["网易原创歌曲榜", "2884035"],
"3": ["云音乐飙升榜", "19723756"],
"4": ["云音乐电音榜", "10520166"],
"5": ["UK排行榜周榜", "180106"],
"6": ["美国Billboard周榜", "60198"],
"7": ["KTV嗨榜", "21845217"],
"8": ["iTunes榜", "11641012"],
"9": ["Hit FM Top榜", "120001"],
"10": ["日本Oricon周榜", "60131"],
"11": ["韩国Melon排行榜周榜", "3733003"],
"12": ["韩国Mnet排行榜周榜", "60255"],
"13": ["韩国Melon原声周榜", "46772709"],
"14": ["中国TOP排行榜(港台榜)", "112504"],
"15": ["中国TOP排行榜(内地榜)", "64016"],
"16": ["香港电台中文歌曲龙虎榜", "10169002"],
"17": ["华语金曲榜", "4395559"],
"18": ["中国嘻哈榜", "1899724"],
"19": ["法国 NRJ EuroHot 30周榜", "27135204"],
"20": ["台湾Hito排行榜", "112463"],
"21": ["Beatport全球电子舞曲榜", "3812895"]
};
const express = require("express");
const router = express();
const { createRequest, createWebAPIRequest } = require("../util/util");
router.get('/', (req, res) => {
const idx = req.query.idx
const action = 'http://music.163.com' + top_list_all[idx][1]
createRequest(`${action}`, 'GET', null)
.then(result => {
res.setHeader('Content-Type', 'application/json')
res.send(result)
})
.catch(err => {
res.status(502).send('fetch error')
})
})
router.get("/", (req, res) => {
const idx = req.query.idx;
const id = top_list_all[idx][1];
const cookie = req.get("Cookie") ? req.get("Cookie") : "";
const action = "/weapi/v3/playlist/detail";
const data = {
id,
limit: req.query.limit || 30,
offset: req.query.limit || 0,
total: true,
n: 1000,
csrf_token: ""
};
createWebAPIRequest(
"music.163.com",
action,
"POST",
data,
cookie,
music_req => {
res.setHeader("Content-Type", "application/json");
res.send(music_req);
},
err => res.status(502).send("fetch error")
);
});
module.exports = router
module.exports = router;