From 241fc96216576e64118994b08c123302e56787fd Mon Sep 17 00:00:00 2001 From: AgFlore Date: Mon, 30 Nov 2020 02:57:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BD=91=E6=98=93=E4=BA=91=E6=AD=8C?= =?UTF-8?q?=E5=8D=95=E6=9B=B2=E7=9B=AE=E8=BF=87=E5=B0=91=20&=20=E6=AD=8C?= =?UTF-8?q?=E6=89=8B=E4=B8=93=E8=BE=91=E6=9B=B4=E6=96=B0=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E9=94=99=E8=AF=AF=20(#6221)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/ncm/artist.js | 4 ++++ lib/routes/ncm/playlist.js | 29 +++++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/routes/ncm/artist.js b/lib/routes/ncm/artist.js index c2435b4fb3..87932b0f89 100644 --- a/lib/routes/ncm/artist.js +++ b/lib/routes/ncm/artist.js @@ -23,6 +23,10 @@ module.exports = async (ctx) => { title: `${item.name} - ${singer}`, description: `歌手:${singer}
专辑:${item.name}
日期:${new Date(item.publishTime).toLocaleDateString()}
`, link: `https://music.163.com/#/album?id=${item.id}`, + pubDate: new Date(item.publishTime), + published: new Date(item.publishTime), + category: item.subType, + author: singer, }; }), }; diff --git a/lib/routes/ncm/playlist.js b/lib/routes/ncm/playlist.js index 5af6d8abe1..3b02fe5e92 100644 --- a/lib/routes/ncm/playlist.js +++ b/lib/routes/ncm/playlist.js @@ -15,20 +15,29 @@ module.exports = async (ctx) => { }); const data = response.data.playlist; + const songinfo = await got({ + method: 'get', + url: `https://music.163.com/api/song/detail?ids=[${data.trackIds.slice(0, 201).map((item) => item.id)}]`, + headers: { + Referer: 'https://music.163.com', + }, + }); + const songs = songinfo.data.songs; ctx.state.data = { title: data.name, link: `https://music.163.com/#/playlist?id=${id}`, description: `网易云音乐歌单 - ${data.name}`, - item: - data.tracks && - data.tracks.map((item) => { - const singer = item.ar.length === 1 ? item.ar[0].name : item.ar.reduce((prev, cur) => (prev.name || prev) + '/' + cur.name); - return { - title: `${item.name} - ${singer}`, - description: `歌手:${singer}
专辑:${item.al.name}
日期:${new Date(item.publishTime).toLocaleDateString()}
`, - link: `https://music.163.com/#/song?id=${item.id}`, - }; - }), + item: data.trackIds.slice(0, 201).map((item) => { + const thissong = songs.find((element) => element.id === item.id); + const singer = thissong.artists.length === 1 ? thissong.artists[0].name : thissong.artists.reduce((prev, cur) => (prev.name || prev) + '/' + cur.name); + return { + title: `${thissong.name} - ${singer}`, + description: `歌手:${singer}
专辑:${thissong.album.name}
发行日期:${new Date(thissong.album.publishTime).toLocaleDateString()}
`, + link: `https://music.163.com/#/song?id=${item.id}`, + pubDate: new Date(item.at), + author: singer, + }; + }), }; };