From 3310a60fe38fa0e8332fbb853e6f16c9e1a8f915 Mon Sep 17 00:00:00 2001 From: anime Date: Mon, 20 Jan 2025 12:57:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BF=AE=E5=A4=8DgetPost=20=E6=97=B6?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=80=BC=E5=AF=BC=E8=87=B4=E7=9A=84500?= =?UTF-8?q?=E5=92=8C=E6=97=A0=E6=B3=95=E6=AD=A3=E7=A1=AE=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E9=97=AE=E9=A2=98):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit cc3d0f81f93832c8671e8a48cd49c966ab8b279b) --- lib/notion/getNotionPost.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/notion/getNotionPost.js b/lib/notion/getNotionPost.js index f5aabb2a..97ceea9a 100644 --- a/lib/notion/getNotionPost.js +++ b/lib/notion/getNotionPost.js @@ -3,6 +3,7 @@ import { idToUuid } from 'notion-utils' import { defaultMapImageUrl } from 'react-notion-x' import formatDate from '../utils/formatDate' import { getPage } from './getPostBlocks' +import { checkStrIsNotionId, checkStrIsUuid } from '@/lib/utils' /** * 根据页面ID获取内容 @@ -14,14 +15,22 @@ export async function getPost(pageId) { if (!blockMap) { return null } - - const postInfo = blockMap?.block?.[idToUuid(pageId)].value + if (checkStrIsNotionId(pageId)) { + pageId = idToUuid(pageId) + } + if (!checkStrIsUuid(pageId)) { + return null + } + const postInfo = blockMap?.block?.[pageId]?.value + if (!postInfo) { + return null + } return { id: pageId, - type: postInfo, + type: postInfo.type, category: '', tags: [], - title: postInfo?.properties?.title?.[0], + title: postInfo?.properties?.title?.[0] || null, status: 'Published', createdTime: formatDate( new Date(postInfo.created_time).toString(), @@ -32,7 +41,7 @@ export async function getPost(pageId) { BLOG.LANG ), fullWidth: postInfo?.fullWidth || false, - page_cover: getPageCover(postInfo) || BLOG.HOME_BANNER_IMAGE, + page_cover: getPageCover(postInfo) || BLOG.HOME_BANNER_IMAGE || null, date: { start_date: formatDate( new Date(postInfo?.last_edited_time).toString(),