From b17cd3ae9f1b3ae1a57faa2e50b9530bc499403b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Tue, 28 Apr 2020 19:56:22 +0800 Subject: [PATCH 01/27] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96B=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=BD=AC=E5=8F=91=E5=86=85=E5=AE=B9=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E7=89=87=E5=92=8C=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index b267b4ed62f895..657e5e20bb4c5b 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -35,7 +35,9 @@ module.exports = async (ctx) => { if (data.pic) { imgHTML += ``; } - + if (origin && origin.pic) { + imgHTML += ``; + } // link let link = ''; if (data.dynamic_id) { @@ -56,7 +58,7 @@ module.exports = async (ctx) => { origin && (origin.user || origin.owner) ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}
${imgHTML} `, + }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 8a91b7b4b44674ca984796976e26df37f5780cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Tue, 28 Apr 2020 20:22:04 +0800 Subject: [PATCH 02/27] =?UTF-8?q?style:=20=E4=BF=AE=E5=A4=8D=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 657e5e20bb4c5b..e2317ad6ab372c 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -58,7 +58,7 @@ module.exports = async (ctx) => { origin && (origin.user || origin.owner) ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, + }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From ef4a3dad972a81806d9649018398f57f3bb92873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Wed, 29 Apr 2020 00:40:22 +0800 Subject: [PATCH 03/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20B=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=BD=AC=E5=8F=91=E5=A4=9A=E5=9B=BE=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index e2317ad6ab372c..26f181ef483ca6 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -35,6 +35,11 @@ module.exports = async (ctx) => { if (data.pic) { imgHTML += ``; } + if (origin && origin.item && origin.item.pictures) { + for (let i = 0; i < origin.item.pictures.length; i++) { + imgHTML += ``; + } + } if (origin && origin.pic) { imgHTML += ``; } @@ -58,7 +63,7 @@ module.exports = async (ctx) => { origin && (origin.user || origin.owner) ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, + }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 895d3e3910f8a0ba661203a36463b9097c2f67f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Wed, 29 Apr 2020 01:25:22 +0800 Subject: [PATCH 04/27] =?UTF-8?q?style:=20=E6=95=B4=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 26f181ef483ca6..8ca6965ba609a5 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -62,8 +62,7 @@ module.exports = async (ctx) => { description: `${getDes(data)}${ origin && (origin.user || origin.owner) ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` - : `${getOriginDes(origin)}` - }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, + : `${getOriginDes(origin)}`}${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 67884cb2bc0488f3515ab3ebf15bbb673fb08a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Wed, 29 Apr 2020 01:27:12 +0800 Subject: [PATCH 05/27] =?UTF-8?q?style:=20=E6=95=B4=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 8ca6965ba609a5..c91da32a002478 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -62,7 +62,8 @@ module.exports = async (ctx) => { description: `${getDes(data)}${ origin && (origin.user || origin.owner) ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` - : `${getOriginDes(origin)}`}${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, + : `${getOriginDes(origin)}` + }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From dea11246515b8070531fc9fa181c669d07a1f72a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Thu, 30 Apr 2020 02:07:13 +0800 Subject: [PATCH 06/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DB=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=BD=AC=E5=8F=91=E8=A7=86=E9=A2=91=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index c91da32a002478..0d61add93535b8 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -50,18 +50,18 @@ module.exports = async (ctx) => { } else if (item.desc && item.desc.dynamic_id) { link = `https://t.bilibili.com/${item.desc.dynamic_id}`; } - - const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title) || data.intro; + const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; + const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title) || data.intro || ''; const getOriginDes = (data) => (data && data.author && data.author.name && `转发自: @${data.author.name}: `) + (data && data.title) + (data && data.image_urls && data.image_urls.length > 0 && `
`) || (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) + (data && data.cover && `
`) || ''; - + const getOriginName = (data) => (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; return { - title: data.title || data.description || data.content || (data.vest && data.vest.content), + title: getTitle(data), description: `${getDes(data)}${ origin && (origin.user || origin.owner) - ? `

转发自: @${(origin.user && (origin.user.uname || origin.user.name)) || (origin.owner && origin.owner.name)}: ${getDes(origin.item || origin)}` + ? `

转发自: @${origin && getOriginName(origin)}: ${origin && origin.title ? `${origin.title}
` : ''}${origin && getDes(origin.item || origin)}` : `${getOriginDes(origin)}` }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), From 56dd032cead6dd99827cce2f3f08c527924d228d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Thu, 30 Apr 2020 08:04:47 +0800 Subject: [PATCH 07/27] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E4=BA=86?= =?UTF-8?q?=E9=83=A8=E5=88=86=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 0d61add93535b8..7a4c9a23451d29 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -60,9 +60,7 @@ module.exports = async (ctx) => { return { title: getTitle(data), description: `${getDes(data)}${ - origin && (origin.user || origin.owner) - ? `

转发自: @${origin && getOriginName(origin)}: ${origin && origin.title ? `${origin.title}
` : ''}${origin && getDes(origin.item || origin)}` - : `${getOriginDes(origin)}` + origin && (origin.user || origin.owner) ? `

转发自: @${getOriginName(origin)}: ${origin.title ? `${origin.title}
` : ''}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, From fd05f99b8f5e00a0e0a640d2b4b25600643b16de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Thu, 30 Apr 2020 21:00:57 +0800 Subject: [PATCH 08/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Db=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E4=B8=AD=E8=BD=AC=E5=8F=91=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E9=97=B4=E5=8A=A8=E6=80=81=E5=87=BA=E7=8E=B0undefined;?= =?UTF-8?q?=E6=95=B4=E7=90=86=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 38 +++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 7a4c9a23451d29..84cef1de3626b0 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -27,21 +27,28 @@ module.exports = async (ctx) => { // img let imgHTML = ''; - if (data.pictures) { - for (let i = 0; i < data.pictures.length; i++) { - imgHTML += ``; + const getImgs = (data) => { + let imgs = '' + if (data.pictures) { + for (let i = 0; i < data.pictures.length; i++) { + imgs += ``; + } } + return imgs } + imgHTML += getImgs(data) if (data.pic) { imgHTML += ``; } - if (origin && origin.item && origin.item.pictures) { - for (let i = 0; i < origin.item.pictures.length; i++) { - imgHTML += ``; + + if (origin) { + imgHTML += getImgs(origin.item || origin) + if (origin.pic) { + imgHTML += ``; + } + if (origin.cover) { + imgHTML += ``; } - } - if (origin && origin.pic) { - imgHTML += ``; } // link let link = ''; @@ -53,15 +60,18 @@ module.exports = async (ctx) => { const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title) || data.intro || ''; const getOriginDes = (data) => - (data && data.author && data.author.name && `转发自: @${data.author.name}: `) + (data && data.title) + (data && data.image_urls && data.image_urls.length > 0 && `
`) || - (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) + (data && data.cover && `
`) || + (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || ''; - const getOriginName = (data) => (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; + const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; + const getOriginTitle = (data) => (data.title ? `${data.title}
` : '') + const getIframe = (data) => (!disableEmbed && data && data.aid) ? `

${utils.iframe(data.aid)}
` : '' return { title: getTitle(data), description: `${getDes(data)}${ - origin && (origin.user || origin.owner) ? `

转发自: @${getOriginName(origin)}: ${origin.title ? `${origin.title}
` : ''}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${!disableEmbed && data.aid ? `

${utils.iframe(data.aid)}
` : ''}${!disableEmbed && origin && origin.aid ? `

${utils.iframe(origin.aid)}
` : ''}
${imgHTML} `, + origin && getOriginName(origin) ? + `

转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : + `${getOriginDes(origin)}` + }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 90e2d0a53bb57466546209c169a73d37eca5843d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Thu, 30 Apr 2020 21:04:45 +0800 Subject: [PATCH 09/27] =?UTF-8?q?style:=20=E6=95=B4=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 84cef1de3626b0..6fad4a4ef789b1 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -28,21 +28,21 @@ module.exports = async (ctx) => { // img let imgHTML = ''; const getImgs = (data) => { - let imgs = '' + let imgs = ''; if (data.pictures) { for (let i = 0; i < data.pictures.length; i++) { imgs += ``; } } - return imgs - } - imgHTML += getImgs(data) + return imgs; + }; + imgHTML += getImgs(data); if (data.pic) { imgHTML += ``; } if (origin) { - imgHTML += getImgs(origin.item || origin) + imgHTML += getImgs(origin.item || origin); if (origin.pic) { imgHTML += ``; } @@ -59,19 +59,15 @@ module.exports = async (ctx) => { } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title) || data.intro || ''; - const getOriginDes = (data) => - (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || - ''; + const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || ''; const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; - const getOriginTitle = (data) => (data.title ? `${data.title}
` : '') - const getIframe = (data) => (!disableEmbed && data && data.aid) ? `

${utils.iframe(data.aid)}
` : '' + const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); + const getIframe = (data) => (!disableEmbed && data && data.aid ? `

${utils.iframe(data.aid)}
` : ''); return { title: getTitle(data), description: `${getDes(data)}${ - origin && getOriginName(origin) ? - `

转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : - `${getOriginDes(origin)}` - }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, + origin && getOriginName(origin) ? `

转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` + }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 670e15f30d784e799b8308e51113b51c9eeca82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Fri, 1 May 2020 12:43:40 +0800 Subject: [PATCH 10/27] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=85b=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E4=B8=AD=E8=BD=AC=E5=8F=91=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 6fad4a4ef789b1..5fe4363624afc9 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -58,7 +58,7 @@ module.exports = async (ctx) => { link = `https://t.bilibili.com/${item.desc.dynamic_id}`; } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; - const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title) || data.intro || ''; + const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title + '
' + data.sketch.desc_text) || data.intro || ''; const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || ''; const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); From 2de02c8f03a38aa599b612e024daea7881bd170e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Fri, 1 May 2020 12:52:12 +0800 Subject: [PATCH 11/27] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 5fe4363624afc9..5c109fc28a1f73 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -58,7 +58,7 @@ module.exports = async (ctx) => { link = `https://t.bilibili.com/${item.desc.dynamic_id}`; } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; - const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && data.sketch.title + '
' + data.sketch.desc_text) || data.intro || ''; + const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || ''; const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); From 72ba78813a58732a59b94644f95404153a1e15a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Fri, 1 May 2020 17:13:44 +0800 Subject: [PATCH 12/27] =?UTF-8?q?fix:=20b=E7=AB=99=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=BD=AC=E5=8F=91=E4=B8=93=E9=A2=98=E9=A1=B5=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E6=A0=87=E9=A2=98;=E6=95=B4=E7=90=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 5c109fc28a1f73..435de4c967650a 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -34,21 +34,22 @@ module.exports = async (ctx) => { imgs += ``; } } + if (data.pic) { + imgHTML += ``; + } + if (data.cover) { + imgHTML += ``; + } + if (data.sketch && data.sketch.cover_url) { + imgHTML += ``; + } return imgs; }; + imgHTML += getImgs(data); - if (data.pic) { - imgHTML += ``; - } if (origin) { imgHTML += getImgs(origin.item || origin); - if (origin.pic) { - imgHTML += ``; - } - if (origin.cover) { - imgHTML += ``; - } } // link let link = ''; @@ -59,14 +60,14 @@ module.exports = async (ctx) => { } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; - const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `转发自: ${data.apiSeasonInfo.title}`) || ''; + const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `//转发自: ${data.apiSeasonInfo.title}`) || ''; const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); const getIframe = (data) => (!disableEmbed && data && data.aid ? `

${utils.iframe(data.aid)}
` : ''); return { title: getTitle(data), description: `${getDes(data)}${ - origin && getOriginName(origin) ? `

转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` + origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, From 1d45198427c446580c06604e60877ce80c4031af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Sat, 2 May 2020 01:06:39 +0800 Subject: [PATCH 13/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 435de4c967650a..0c1de1251c1e3b 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -35,13 +35,13 @@ module.exports = async (ctx) => { } } if (data.pic) { - imgHTML += ``; + imgs += ``; } if (data.cover) { - imgHTML += ``; + imgs += ``; } if (data.sketch && data.sketch.cover_url) { - imgHTML += ``; + imgs += ``; } return imgs; }; From 5ade389183f295cf26f9b9a33aba99cb02fcf842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Tue, 5 May 2020 21:27:56 +0800 Subject: [PATCH 14/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=93?= =?UTF-8?q?=E6=A0=8F=E5=B0=81=E9=9D=A2=E7=BC=BA=E5=A4=B1=E7=9A=84bug;?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0B=E7=AB=99=E5=8A=A8=E6=80=81=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 75 +++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 2 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 0c1de1251c1e3b..b5be5aa3aeca68 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -2,6 +2,67 @@ const got = require('@/utils/got'); const JSONbig = require('json-bigint'); const utils = require('./utils'); +/** + @by CaoMeiYouRen 2020-05-05 添加注释 + B站的动态种类繁多,大致可以总结为以下几种: + 注意1:以下均以card为根对象 + 注意2:直接动态没有origin,转发动态有origin + 注意3:转发动态格式统一为: + - user.uname: 用户名 + - item.content: 正文 + - item.tips: 原动态结果(例如:源动态已被作者删除、图文资源已失效) + - origin: 与原动态一致 + 注意4:本总结并不保证完善,而且未来B站可能会修改接口,因此仅供参考 + + - 文字动态 + - user.uname: 用户名 + - item.content: 正文 + - 图文动态 + - user.name: 用户名 + - item.title: 标题 + - item.description: 简介 + - item.pictures: { img_src: String }[] 图片数组,图片地址在每项的 img_src 中 + - 视频动态 + - aid: av号(以card为根对象没有bv号) + - owner.name :用户名 + - pic: 封面 + - title: 视频标题 + - desc: 视频简介 + - 专栏动态 + - author.name: 用户名 + - image_urls: String[] 封面数组 + - id: cv号 + - title: 标题 + - summary: 简介 + - 音频动态 + - id: auId 音频id + - upper: 上传的用户名称 + - title: 音频标题 + - author: 音频作者 + - cover: 音频封面 + - 投票动态 + - user.uname: 用户名 + - item.content: 正文 + - 活动专题页 + - user.uname 用户名 + - vest.content 正文 + - sketch.title 活动标题 + - sketch.desc_text 活动简介 + - sketch.cover_url 活动封面 + - sketch.target_url 活动地址 + - 番剧/电视剧/电影等专题页 + - cover 单集封面 + - index_title 单集标题 + - url 视频地址 + - apiSeasonInfo.title 番剧名称 + - apiSeasonInfo.cover 番剧封面 + - 直播间动态 + - roomid 直播间id + - uname 用户名 + - title 直播间标题 + - cover 直播间封面 +*/ + module.exports = async (ctx) => { const uid = ctx.params.uid; const disableEmbed = ctx.params.disableEmbed; @@ -29,17 +90,27 @@ module.exports = async (ctx) => { let imgHTML = ''; const getImgs = (data) => { let imgs = ''; + // 动态图片 if (data.pictures) { for (let i = 0; i < data.pictures.length; i++) { imgs += ``; } } + // 专栏封面 + if (data.image_urls) { + for (let i = 0; i < data.image_urls.length; i++) { + imgs += ``; + } + } + // 视频封面 if (data.pic) { imgs += ``; } + // 音频/番剧/直播间封面 if (data.cover) { imgs += ``; } + // 专题页封面 if (data.sketch && data.sketch.cover_url) { imgs += ``; } @@ -60,8 +131,8 @@ module.exports = async (ctx) => { } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; - const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `//转发自: ${data.apiSeasonInfo.title}`) || ''; - const getOriginName = (data) => data.uname || (data.author && data.author.name) || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; + const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `//转发自: ${data.apiSeasonInfo.title}` + data && data.index_title && `
${data.index_title}`) || ''; + const getOriginName = (data) => data.uname || (data.author && data.author.name) || data.upper || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); const getIframe = (data) => (!disableEmbed && data && data.aid ? `

${utils.iframe(data.aid)}
` : ''); return { From 26cd8d945a1184bd133b4bd97337ff0192734e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Tue, 5 May 2020 21:52:28 +0800 Subject: [PATCH 15/27] =?UTF-8?q?style:=E4=BF=AE=E5=A4=8D=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index b5be5aa3aeca68..38ca61f3e5c607 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -131,7 +131,7 @@ module.exports = async (ctx) => { } const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; - const getOriginDes = (data) => (data && data.apiSeasonInfo && data.apiSeasonInfo.title && `//转发自: ${data.apiSeasonInfo.title}` + data && data.index_title && `
${data.index_title}`) || ''; + const getOriginDes = (data) => (data && (data.apiSeasonInfo && data.apiSeasonInfo.title && `//转发自: ${data.apiSeasonInfo.title}`) + (data.index_title && `
${data.index_title}`)) || ''; const getOriginName = (data) => data.uname || (data.author && data.author.name) || data.upper || (data.user && (data.user.uname || data.user.name)) || (data.owner && data.owner.name) || ''; const getOriginTitle = (data) => (data.title ? `${data.title}
` : ''); const getIframe = (data) => (!disableEmbed && data && data.aid ? `

${utils.iframe(data.aid)}
` : ''); From 68e91b19a4a5da538c6ebe54e1a1fc5be2b252e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Fri, 29 May 2020 11:29:44 +0800 Subject: [PATCH 16/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D/robots.txt?= =?UTF-8?q?=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/router.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/router.js b/lib/router.js index e872385962c6d7..087cab4be51579 100644 --- a/lib/router.js +++ b/lib/router.js @@ -22,14 +22,13 @@ for (const project in RouterPath) { // index router.get('/', require('./routes/index')); -router.get('/robots.txt', async (ctx, next) => { +router.get('/robots.txt', async (ctx) => { if (config.disallowRobot) { ctx.set('Content-Type', 'text/plain'); ctx.body = 'User-agent: *\nDisallow: /'; } else { ctx.throw(404, 'Not Found'); } - await next(); }); // test From 91a4d0d1ab51f2c3d18d4db0e4a76d5fe0ff749a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E6=A2=85=E5=8F=8B=E4=BB=81?= <996881204@qq.com> Date: Thu, 18 Jun 2020 01:35:41 +0800 Subject: [PATCH 17/27] fix --- lib/routes/bilibili/dynamic.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 38ca61f3e5c607..7a3a0097d5193c 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -4,7 +4,6 @@ const utils = require('./utils'); /** @by CaoMeiYouRen 2020-05-05 添加注释 - B站的动态种类繁多,大致可以总结为以下几种: 注意1:以下均以card为根对象 注意2:直接动态没有origin,转发动态有origin 注意3:转发动态格式统一为: @@ -14,6 +13,7 @@ const utils = require('./utils'); - origin: 与原动态一致 注意4:本总结并不保证完善,而且未来B站可能会修改接口,因此仅供参考 + B站的动态种类繁多,大致可以总结为以下几种: - 文字动态 - user.uname: 用户名 - item.content: 正文 @@ -139,7 +139,7 @@ module.exports = async (ctx) => { title: getTitle(data), description: `${getDes(data)}${ origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, + }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 19ee97fb8fb99b55c87eb35e2fd9e4b21c73034f Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Sun, 8 Nov 2020 00:04:53 +0800 Subject: [PATCH 18/27] =?UTF-8?q?chore:=20=E5=90=88=E5=B9=B6=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index bf7f5175e6fadf..15a2771a275be6 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -142,7 +142,6 @@ module.exports = async (ctx) => { } else if (item.desc && item.desc.dynamic_id) { link = `https://t.bilibili.com/${item.desc.dynamic_id}`; } - const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.dynamic || data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; @@ -162,11 +161,35 @@ module.exports = async (ctx) => { ); }); } + const getUrl = (data) => { + if (!data) { + return ''; + } + if (data.aid) { + return `\n视频地址:https://www.bilibili.com/video/av${data.aid}`; + } + if (data.image_urls) { + return `\n专栏地址:https://www.bilibili.com/read/cv${data.id}`; + } + if (data.upper) { + return `\n音频地址:https://www.bilibili.com/audio/au${data.id}`; + } + if (data.roomid) { + return `\n直播间地址:https://live.bilibili.com/${data.roomid}`; + } + if (data.sketch) { + return `\n活动地址:${data.sketch.target_url}`; + } + if (data.url) { + return `\n地址:${data.url}`; + } + return ''; + }; return { title: getTitle(data), description: `${data_content || getDes(data)}${origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, + }
${getUrl(data)}${getUrl(origin)}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From f154d2afd7854e979c30933719aa1554dcbf2fde Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Sun, 8 Nov 2020 00:07:34 +0800 Subject: [PATCH 19/27] fix --- lib/routes/bilibili/dynamic.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 15a2771a275be6..61d14dd7957aaf 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -188,7 +188,12 @@ module.exports = async (ctx) => { return { title: getTitle(data), +<<<<<<< HEAD description: `${data_content || getDes(data)}${origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` +======= + description: `${data_content || getDes(data)}${ + origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` +>>>>>>> 184fb498b5922b40e0f321d5a3d867b5fc1f3a0c }
${getUrl(data)}${getUrl(origin)}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, From 0db50e2d3daff6ea7d540d808f2c8d53869f2db7 Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Sun, 8 Nov 2020 00:07:42 +0800 Subject: [PATCH 20/27] fix --- lib/routes/bilibili/dynamic.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 61d14dd7957aaf..b53fe754f93ad3 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -188,13 +188,8 @@ module.exports = async (ctx) => { return { title: getTitle(data), -<<<<<<< HEAD description: `${data_content || getDes(data)}${origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` -======= - description: `${data_content || getDes(data)}${ - origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` ->>>>>>> 184fb498b5922b40e0f321d5a3d867b5fc1f3a0c - }
${getUrl(data)}${getUrl(origin)}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, + }
${getUrl(data)}${getUrl(origin)}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 91b7b485d5c6c5c5095cf65fccba13398ecc1d00 Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Sun, 8 Nov 2020 00:19:29 +0800 Subject: [PATCH 21/27] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96B=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 6779cea4a5a48a..754e9f543175bb 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -4,7 +4,6 @@ const utils = require('./utils'); /** @by CaoMeiYouRen 2020-05-05 添加注释 - B站的动态种类繁多,大致可以总结为以下几种: 注意1:以下均以card为根对象 注意2:直接动态没有origin,转发动态有origin 注意3:转发动态格式统一为: @@ -14,6 +13,7 @@ const utils = require('./utils'); - origin: 与原动态一致 注意4:本总结并不保证完善,而且未来B站可能会修改接口,因此仅供参考 + B站的动态种类繁多,大致可以总结为以下几种: - 文字动态 - user.uname: 用户名 - item.content: 正文 @@ -142,7 +142,6 @@ module.exports = async (ctx) => { } else if (item.desc && item.desc.dynamic_id) { link = `https://t.bilibili.com/${item.desc.dynamic_id}`; } - const getTitle = (data) => data.title || data.description || data.content || (data.vest && data.vest.content) || ''; const getDes = (data) => data.dynamic || data.desc || data.description || data.content || data.summary || (data.vest && data.vest.content) + (data.sketch && `
${data.sketch.title}
${data.sketch.desc_text}`) || data.intro || ''; @@ -162,12 +161,36 @@ module.exports = async (ctx) => { ); }); } + const getUrl = (data) => { + if (!data) { + return ''; + } + if (data.aid) { + return `\n视频地址:https://www.bilibili.com/video/av${data.aid}`; + } + if (data.image_urls) { + return `\n专栏地址:https://www.bilibili.com/read/cv${data.id}`; + } + if (data.upper) { + return `\n音频地址:https://www.bilibili.com/audio/au${data.id}`; + } + if (data.roomid) { + return `\n直播间地址:https://live.bilibili.com/${data.roomid}`; + } + if (data.sketch) { + return `\n活动地址:${data.sketch.target_url}`; + } + if (data.url) { + return `\n地址:${data.url}`; + } + return ''; + }; return { title: getTitle(data), description: `${data_content || getDes(data)}${ origin && getOriginName(origin) ? `

//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}` - }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, + }
${getUrl(data)}${getUrl(origin)}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`, pubDate: new Date(item.desc.timestamp * 1000).toUTCString(), link: link, }; From 94f65355dd88f3825e1168f8ff94fe8c7b1572dc Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Sun, 8 Nov 2020 00:32:02 +0800 Subject: [PATCH 22/27] =?UTF-8?q?fix:=20=E6=94=B9=20\n=20=E4=B8=BA
?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/bilibili/dynamic.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js index 754e9f543175bb..5c8e70ad2cafbe 100644 --- a/lib/routes/bilibili/dynamic.js +++ b/lib/routes/bilibili/dynamic.js @@ -166,22 +166,22 @@ module.exports = async (ctx) => { return ''; } if (data.aid) { - return `\n视频地址:https://www.bilibili.com/video/av${data.aid}`; + return `
视频地址:https://www.bilibili.com/video/av${data.aid}`; } if (data.image_urls) { - return `\n专栏地址:https://www.bilibili.com/read/cv${data.id}`; + return `
专栏地址:https://www.bilibili.com/read/cv${data.id}`; } if (data.upper) { - return `\n音频地址:https://www.bilibili.com/audio/au${data.id}`; + return `
音频地址:https://www.bilibili.com/audio/au${data.id}`; } if (data.roomid) { - return `\n直播间地址:https://live.bilibili.com/${data.roomid}`; + return `
直播间地址:https://live.bilibili.com/${data.roomid}`; } if (data.sketch) { - return `\n活动地址:${data.sketch.target_url}`; + return `
活动地址:${data.sketch.target_url}`; } if (data.url) { - return `\n地址:${data.url}`; + return `
地址:${data.url}`; } return ''; }; From 79357cff3bcac912b39d0816f2bd01e61b068f1f Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Wed, 16 Feb 2022 00:28:47 +0800 Subject: [PATCH 23/27] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=20npm=20regis?= =?UTF-8?q?try?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fba1dcb0a88da5..c1f8f67bb3c142 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ WORKDIR /app COPY package.json tools/clean-nm.sh /app/ RUN if [ "$USE_CHINA_NPM_REGISTRY" = 1 ]; then \ - echo 'use npm mirror'; npm config set registry https://registry.npm.taobao.org; \ + echo 'use npm mirror'; npm config set registry https://registry.npmmirror.com; \ fi; RUN if [ "$PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" = 0 ]; then \ From 2b5ee1b4b2c4c1cd5dac83b8a7efde9657000280 Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Mon, 28 Mar 2022 22:50:21 +0800 Subject: [PATCH 24/27] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=20=E7=B1=B3?= =?UTF-8?q?=E6=B8=B8=E7=A4=BE=E8=B7=AF=E7=94=B1=E5=92=8C=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=9A=84=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/game.md | 18 ++++++++ lib/v2/mihoyo/bbs.js | 61 +++++++++++++++++++++++++ lib/v2/mihoyo/maintainer.js | 3 ++ lib/v2/mihoyo/radar.js | 31 +++++++++++++ lib/v2/mihoyo/router.js | 3 ++ lib/v2/mihoyo/templates/description.art | 6 +++ package.json | 1 + 7 files changed, 123 insertions(+) create mode 100644 lib/v2/mihoyo/bbs.js create mode 100644 lib/v2/mihoyo/maintainer.js create mode 100644 lib/v2/mihoyo/radar.js create mode 100644 lib/v2/mihoyo/router.js create mode 100644 lib/v2/mihoyo/templates/description.art diff --git a/docs/game.md b/docs/game.md index abbe05e8b1d2db..26be3619cd64d4 100644 --- a/docs/game.md +++ b/docs/game.md @@ -573,6 +573,24 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` +### 米游社 - 官方公告 + + + +游戏 id + +| 崩坏三 | 原神 | 崩坏二 | 未定事件簿 | 星穹铁道 | +| --- | -- | --- | ----- | ---- | +| 1 | 2 | 3 | 4 | 6 | + +公告类型 + +| 公告 | 活动 | 资讯 | +| -- | -- | -- | +| 1 | 2 | 3 | + + + ## 明日方舟 ### 游戏公告与新闻 diff --git a/lib/v2/mihoyo/bbs.js b/lib/v2/mihoyo/bbs.js new file mode 100644 index 00000000000000..044043a72303b4 --- /dev/null +++ b/lib/v2/mihoyo/bbs.js @@ -0,0 +1,61 @@ +const got = require('@/utils/got'); +const { art } = require('@/utils/render'); +const path = require('path'); +// 游戏id +const GITS_MAP = { + 1: '崩坏三', + 2: '原神', + 3: '崩坏二', + 4: '未定事件簿', + 6: '崩坏:星穹铁道', +}; + +// 公告类型 +const TYPE_MAP = { + 1: '公告', + 2: '活动', + 3: '资讯', +}; + +const renderDescription = (description, images) => art(path.join(__dirname, 'templates/description.art'), { description, images }); + +module.exports = async (ctx) => { + const { gids, type = '2', page_size = '20', last_id = '' } = ctx.params; + const query = new URLSearchParams({ + gids, + type, + page_size, + last_id, + }).toString(); + const url = `https://bbs-api.mihoyo.com/post/wapi/getNewsList?${query}`; + const response = await got({ + method: 'get', + url, + }); + const list = response?.data?.data?.list; + if (!list) { + throw new Error('未获取到数据!'); + } + const title = `米游社 - ${GITS_MAP[gids] || ''} - ${TYPE_MAP[type] || ''}`; + const items = list.map((e) => { + const author = e.user.nickname; + const title = e.post.subject; + const link = `https://bbs.mihoyo.com/ys/article/${e.post.post_id}`; + const description = renderDescription(e.post.content, e.post.images); + const pubDate = new Date(e.post.created_at * 1000); + return { + author, + title, + link, + description, + pubDate, + }; + }); + const data = { + title, + link: url, + item: items, + }; + + ctx.state.data = data; +}; diff --git a/lib/v2/mihoyo/maintainer.js b/lib/v2/mihoyo/maintainer.js new file mode 100644 index 00000000000000..a18b6786d8d296 --- /dev/null +++ b/lib/v2/mihoyo/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/bbs/official/:gids/:type?/:page_size?/:last_id?': ['CaoMeiYouRen'], +}; diff --git a/lib/v2/mihoyo/radar.js b/lib/v2/mihoyo/radar.js new file mode 100644 index 00000000000000..f34d15a2fbd996 --- /dev/null +++ b/lib/v2/mihoyo/radar.js @@ -0,0 +1,31 @@ +module.exports = { + 'mihoyo.com': { + _name: '米游社v2', + bbs: [ + { + title: '米游社 - 官方公告', + docs: 'https://docs.rsshub.app/game.html#mi-ha-you-mi-you-she-guan-fang-gong-gao', + // source: ['/ys/home/28', '/bh3/home/6', '/bh2/home/31', '/wd/home/33', '/sr/home/53'], + source: ['/:game/home/28', '/:game/home/6', '/:game/home/31', '/:game/home/33', '/:game/home/53'], + target: (params, url) => { + const GITS_MAP = { + bh3: 1, // '崩坏三', + ys: 2, // '原神', + bh2: 3, // '崩坏二', + wd: 4, // '未定事件簿', + sr: 6, // '崩坏:星穹铁道', + }; + const { game } = params; + const gids = GITS_MAP[game]; + if (!gids) { + return ''; + } + const { type = '2' } = new URL(url).searchParams; + const page_size = '20'; + const last_id = ''; + return `/mihoyo/bbs/official/${gids}/${type}/${page_size}/${last_id}`; + }, + }, + ], + }, +}; diff --git a/lib/v2/mihoyo/router.js b/lib/v2/mihoyo/router.js new file mode 100644 index 00000000000000..b0bd1b78363b93 --- /dev/null +++ b/lib/v2/mihoyo/router.js @@ -0,0 +1,3 @@ +module.exports = function (router) { + router.get('/bbs/official/:gids/:type?/:page_size?/:last_id?', require('./bbs')); +}; diff --git a/lib/v2/mihoyo/templates/description.art b/lib/v2/mihoyo/templates/description.art new file mode 100644 index 00000000000000..c195aad3b68084 --- /dev/null +++ b/lib/v2/mihoyo/templates/description.art @@ -0,0 +1,6 @@ +{{ description }} +{{if images}} + {{each images}} + + {{/each}} +{{/if}} diff --git a/package.json b/package.json index 777ffb72534417..c2aa36375d087b 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@vuepress/plugin-back-to-top": "1.9.7", "@vuepress/plugin-google-analytics": "1.9.7", "@vuepress/plugin-pwa": "1.9.7", + "@vuepress/shared-utils": "^1.9.7", "ci-info": "3.3.0", "cross-env": "7.0.3", "eslint": "8.11.0", From cb5a5148b23157fc4fc4427cb8568ff6ae780a53 Mon Sep 17 00:00:00 2001 From: CaoMeiYouRen <996881204@qq.com> Date: Mon, 28 Mar 2022 23:21:07 +0800 Subject: [PATCH 25/27] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20@vuepress/sha?= =?UTF-8?q?red-utils=20=E5=9C=A8=20yarn.lock=20=E7=9A=84=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 89679f36ebfa13..065a1876e2429b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2248,7 +2248,7 @@ dependencies: "@vuepress/types" "1.9.7" -"@vuepress/shared-utils@1.9.7", "@vuepress/shared-utils@^1.2.0": +"@vuepress/shared-utils@1.9.7", "@vuepress/shared-utils@^1.2.0", "@vuepress/shared-utils@^1.9.7": version "1.9.7" resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.9.7.tgz#f1203c7f48e9d546078f5f9b2ec5200b29da481b" integrity sha512-lIkO/eSEspXgVHjYHa9vuhN7DuaYvkfX1+TTJDiEYXIwgwqtvkTv55C+IOdgswlt0C/OXDlJaUe1rGgJJ1+FTw== @@ -14587,4 +14587,4 @@ zepto@^1.2.0: zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== \ No newline at end of file + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From d77b4d3275d402277b1c1f6c27fac1d44ee124af Mon Sep 17 00:00:00 2001 From: TonyRL Date: Tue, 29 Mar 2022 12:07:07 +0000 Subject: [PATCH 26/27] chore: exact match --- package.json | 4 ++-- yarn.lock | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c2aa36375d087b..db8256921603dc 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@vuepress/plugin-back-to-top": "1.9.7", "@vuepress/plugin-google-analytics": "1.9.7", "@vuepress/plugin-pwa": "1.9.7", - "@vuepress/shared-utils": "^1.9.7", + "@vuepress/shared-utils": "1.9.7", "ci-info": "3.3.0", "cross-env": "7.0.3", "eslint": "8.11.0", @@ -163,4 +163,4 @@ "engines": { "node": ">=14" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 065a1876e2429b..03d15abad713c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2248,7 +2248,7 @@ dependencies: "@vuepress/types" "1.9.7" -"@vuepress/shared-utils@1.9.7", "@vuepress/shared-utils@^1.2.0", "@vuepress/shared-utils@^1.9.7": +"@vuepress/shared-utils@1.9.7", "@vuepress/shared-utils@^1.2.0": version "1.9.7" resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.9.7.tgz#f1203c7f48e9d546078f5f9b2ec5200b29da481b" integrity sha512-lIkO/eSEspXgVHjYHa9vuhN7DuaYvkfX1+TTJDiEYXIwgwqtvkTv55C+IOdgswlt0C/OXDlJaUe1rGgJJ1+FTw== From c502a22aa1d6c8ab85c8b510b59c722ca146ec1f Mon Sep 17 00:00:00 2001 From: TonyRL Date: Tue, 29 Mar 2022 12:15:53 +0000 Subject: [PATCH 27/27] fix: parseDate --- lib/v2/mihoyo/bbs.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/v2/mihoyo/bbs.js b/lib/v2/mihoyo/bbs.js index 044043a72303b4..eabd10463cc655 100644 --- a/lib/v2/mihoyo/bbs.js +++ b/lib/v2/mihoyo/bbs.js @@ -1,6 +1,7 @@ const got = require('@/utils/got'); const { art } = require('@/utils/render'); const path = require('path'); +const { parseDate } = require('@/utils/parse-date'); // 游戏id const GITS_MAP = { 1: '崩坏三', @@ -42,7 +43,7 @@ module.exports = async (ctx) => { const title = e.post.subject; const link = `https://bbs.mihoyo.com/ys/article/${e.post.post_id}`; const description = renderDescription(e.post.content, e.post.images); - const pubDate = new Date(e.post.created_at * 1000); + const pubDate = parseDate(e.post.created_at * 1000); return { author, title,