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, + }; + }), }; };