fix(route): 修复 bilibili 动态路由 部分情况下缺失 title 的问题

This commit is contained in:
CaoMeiYouRen
2024-04-01 17:14:33 +08:00
parent 53b064f2c0
commit a2aaf48a9e
+5 -11
View File
@@ -55,14 +55,8 @@ export const route: Route = {
举例: bilibili 专栏全文输出 /bilibili/user/dynamic/2267573/?mode=fulltext
:::`,
};
/**
*
*
* @author CaoMeiYouRen
* @param data
* @param [desc=true] 当 title 为空的时候,是否用 desc 填充
*/
const getTitle = (data: Modules, desc = true) => {
const getTitle = (data: Modules) => {
const major = data.module_dynamic?.major;
if (!major) {
return '';
@@ -74,7 +68,7 @@ const getTitle = (data: Modules, desc = true) => {
return `${major.courses?.title} - ${major.courses?.sub_title}`;
}
const type = major.type.replace('MAJOR_TYPE_', '').toLowerCase();
return major[type]?.title || (desc ? getDes(data) : '');
return major[type]?.title;
};
const getDes = (data: Modules) => {
let desc = '';
@@ -103,7 +97,7 @@ const getDes = (data: Modules) => {
return major[type]?.desc;
};
const getOriginTitle = (data?: Modules) => data && getTitle(data, false);
const getOriginTitle = (data?: Modules) => data && getTitle(data);
const getOriginDes = (data?: Modules) => data && getDes(data);
const getOriginName = (data?: Modules) => data?.module_author?.name;
const getIframe = (data?: Modules, disableEmbed: boolean = false) => {
@@ -331,7 +325,7 @@ async function handler(ctx) {
}
const imgHTMLSource = imgHTML ? `<br>${imgHTML}` : '';
return {
title: getTitle(data),
title: getTitle(data) || description,
description: `${description}${originDescription}<br>${urlText}${getIframe(data, disableEmbed)}${getIframe(origin, disableEmbed)}${imgHTMLSource}`,
pubDate: data.module_author?.pub_ts ? parseDate(data.module_author.pub_ts, 'X') : undefined,
link,