refactor: 简化博客文章归一化
This commit is contained in:
parent
3e3de3ab4e
commit
e5dc83b149
@ -4,7 +4,6 @@ import {
|
||||
fetchBlogArticleDetail,
|
||||
fetchBlogArticleList,
|
||||
type WordpressPublicArticle,
|
||||
type WordpressResolvedTerm,
|
||||
} from '@/api/blogArticles';
|
||||
import {
|
||||
articles as fallbackArticles,
|
||||
@ -170,10 +169,10 @@ async function loadArticle(slug: string) {
|
||||
}
|
||||
|
||||
function normalizeWordpressArticle(article: WordpressPublicArticle): BlogArticle {
|
||||
const category = getFirstTerm(article.categoriesResolved, {
|
||||
const category = article.categoriesResolved?.[0] || {
|
||||
name: '未分类',
|
||||
slug: 'uncategorized',
|
||||
});
|
||||
};
|
||||
const contentHtml =
|
||||
article.contentHtml ||
|
||||
(typeof article.content === 'object' ? article.content.rendered || article.content.raw : article.content) ||
|
||||
@ -192,7 +191,7 @@ function normalizeWordpressArticle(article: WordpressPublicArticle): BlogArticle
|
||||
author: article.authorName || 'KwiTsukasa',
|
||||
category: decodeHtml(category.name || '未分类'),
|
||||
categorySlug: decodeSlug(category.slug || 'uncategorized'),
|
||||
comments: article.comment_status === 'open' ? 0 : 0,
|
||||
comments: 0,
|
||||
content: contentText ? [contentText] : [],
|
||||
contentHtml,
|
||||
cover: article.cover || coverPool[article.id % coverPool.length] || defaultCover,
|
||||
@ -249,10 +248,6 @@ function buildTags(articles: BlogArticle[]): BlogTag[] {
|
||||
return Array.from(groups.values());
|
||||
}
|
||||
|
||||
function getFirstTerm(terms: WordpressResolvedTerm[] | undefined, fallback: WordpressResolvedTerm) {
|
||||
return terms?.[0] || fallback;
|
||||
}
|
||||
|
||||
function getRenderedText(value: WordpressPublicArticle['title']) {
|
||||
if (typeof value === 'string') return decodeHtml(value);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user