diff --git a/routes/ncm/userplaylist.js b/routes/ncm/userplaylist.js index 7d6ae45c9c..d136acd551 100644 --- a/routes/ncm/userplaylist.js +++ b/routes/ncm/userplaylist.js @@ -20,21 +20,43 @@ module.exports = async (ctx) => { }), }); - const playlist = response.data.playlist || [{ creator: {} }]; + const playlist = response.data.playlist || []; - const creator = playlist[0].creator; + const creator = (playlist[0] || {}).creator; - const { nickname, signature } = creator; + const { nickname, signature, avatarUrl } = creator; ctx.state.data = { title: `${nickname} 的所有歌单`, link: `http://music.163.com/user/home?id=${uid}`, + subtitle: signature, description: signature, - item: playlist.map((pl) => ({ - title: pl.name, - description: pl.description, - pubDate: new Date(pl.createTime).toUTCString(), - link: `http://music.163.com/playlist?id=${pl.id}`, - })), + author: nickname, + updated: response.headers.date, + icon: avatarUrl, + item: playlist.map((pl) => { + const image = ``; + + const description = `
${(pl.description || '') + .split('\n') + .map((p) => `

${p}

`) + .join('')}
`; + + const src = `http://music.163.com/playlist/${pl.id}`; + + const content = image + description + `
查看歌单
`; + + return { + title: pl.name, + link: src, + pubDate: new Date(pl.createTime).toUTCString(), + published: new Date(pl.createTime).toISOString(), + updated: new Date(pl.updateTime).toISOString(), + author: pl.creator.nickname, + description: content, + content: { src, value: content }, + category: pl.tags, + }; + }), }; };