diff --git a/lib/routes/bilibili/dynamic.js b/lib/routes/bilibili/dynamic.js
index 0ed9241a9..239c3a29d 100644
--- a/lib/routes/bilibili/dynamic.js
+++ b/lib/routes/bilibili/dynamic.js
@@ -82,8 +82,17 @@ module.exports = async (ctx) => {
link: `https://space.bilibili.com/${uid}/dynamic`,
description: `${data[0].desc.user_profile.info.uname} 的 bilibili 动态`,
item: data.map((item) => {
+ 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 || '';
+ 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.upper.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 parsed = JSONbig.parse(item.card);
- const data = parsed.item || parsed;
+
+ const data = getTitle(parsed.item) ? parsed.item : parsed;
const origin = parsed.origin ? JSONbig.parse(parsed.origin) : null;
// img
@@ -142,13 +151,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 || '';
- 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.upper.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)}
` : '');
// emoji
let data_content = getDes(data);
diff --git a/lib/routes/bilibili/followings_dynamic.js b/lib/routes/bilibili/followings_dynamic.js
index f20153f7b..e8dd2e7dd 100644
--- a/lib/routes/bilibili/followings_dynamic.js
+++ b/lib/routes/bilibili/followings_dynamic.js
@@ -32,8 +32,16 @@ module.exports = async (ctx) => {
link: `https://t.bilibili.com`,
description: `${name} 关注的动态`,
item: data.map((item) => {
+ 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 || '';
+ 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)}
` : '');
+
const parsed = JSONbig.parse(item.card);
- const data = parsed.apiSeasonInfo || parsed.item || parsed;
+ const data = parsed.apiSeasonInfo || getTitle(parsed.item) ? parsed.item : parsed;
const origin = parsed.origin ? JSONbig.parse(parsed.origin) : null;
// img
@@ -93,14 +101,6 @@ 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.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 || '';
- 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)}
` : '');
-
// emoji
let data_content = getDes(data);
if (item.display && item.display.emoji_info) {