From 7cb6c8d30d176600492dd0fc2f9759215f4f6bd6 Mon Sep 17 00:00:00 2001
From: Shuanglong <31189594+ericworks@users.noreply.github.com>
Date: Sat, 1 Aug 2020 01:51:54 +1000
Subject: [PATCH] Add short video support for Bilibili user posts (#5307)
---
lib/routes/bilibili/dynamic.js | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js
index 95bfc4495..6779cea4a 100644
--- a/lib/routes/bilibili/dynamic.js
+++ b/lib/routes/bilibili/dynamic.js
@@ -106,8 +106,10 @@ module.exports = async (ctx) => {
if (data.pic) {
imgs += `
`;
}
- // 音频/番剧/直播间封面
- if (data.cover) {
+ // 音频/番剧/直播间封面/小视频封面
+ if (data.cover && data.cover.unclipped) {
+ imgs += `
`;
+ } else if (data.cover) {
imgs += `
`;
}
// 专题页封面
@@ -122,6 +124,17 @@ module.exports = async (ctx) => {
if (origin) {
imgHTML += getImgs(origin.item || origin);
}
+ // video小视频
+ let videoHTML = '';
+ if (data.video_playurl) {
+ videoHTML += ``;
+ }
+ // some rss readers disallow http content.
+ // 部分 RSS 阅读器要求内容必须使用https传输
+ // bilibili short video does support https request, but https request may timeout ocassionally.
+ // to maximize content availability, here add two source tags.
+ // bilibili的API中返回的视频地址采用http,然而经验证,短视频地址支持https访问,但偶尔会返回超时错误(可能是网络原因)。
+ // 因此保险起见加入两个source标签
// link
let link = '';
if (data.dynamic_id) {
@@ -154,7 +167,7 @@ module.exports = async (ctx) => {
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}` : ''}`,
+ }${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`,
pubDate: new Date(item.desc.timestamp * 1000).toUTCString(),
link: link,
};