diff options
Diffstat (limited to 'src/app')
| -rw-r--r-- | src/app/(main)/(home)/posts/page.tsx | 10 | ||||
| -rw-r--r-- | src/app/(main)/(home)/tags/[...slug]/page.tsx | 10 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/app/(main)/(home)/posts/page.tsx b/src/app/(main)/(home)/posts/page.tsx index daced35..376f5c1 100644 --- a/src/app/(main)/(home)/posts/page.tsx +++ b/src/app/(main)/(home)/posts/page.tsx @@ -55,16 +55,18 @@ export default async function Page(props: { }) { const searchParams = await props.searchParams; - const pageIndex = searchParams.page + const rawPage = searchParams.page ? Number.parseInt( Array.isArray(searchParams.page) ? (searchParams.page[0] ?? '') : searchParams.page, 10, - ) - 1 - : 0; + ) + : 1; + + if (Number.isNaN(rawPage)) notFound(); - if (Number.isNaN(pageIndex)) notFound(); + const pageIndex = rawPage - 1; // 获取文章(带分页) const { posts, totalDocs, totalPages } = await getPublishedPosts({ diff --git a/src/app/(main)/(home)/tags/[...slug]/page.tsx b/src/app/(main)/(home)/tags/[...slug]/page.tsx index 45fa52f..30c6464 100644 --- a/src/app/(main)/(home)/tags/[...slug]/page.tsx +++ b/src/app/(main)/(home)/tags/[...slug]/page.tsx @@ -89,16 +89,18 @@ export default async function Page(props: { const tag = params.slug[0]; if (!tag) return notFound(); - const pageIndex = searchParams.page + const rawPage = searchParams.page ? Number.parseInt( Array.isArray(searchParams.page) ? (searchParams.page[0] ?? '') : searchParams.page, 10, - ) - 1 - : 0; + ) + : 1; + + if (Number.isNaN(rawPage)) notFound(); - if (Number.isNaN(pageIndex)) notFound(); + const pageIndex = rawPage - 1; const { posts, totalDocs, totalPages } = await getPostsByTag(tag, { limit: postsPerPage, |
