From f61978c3b82e4fb8baa7b6bb9538dca51cc1a19b Mon Sep 17 00:00:00 2001 From: shinya Date: Mon, 14 Jul 2025 10:11:25 +0800 Subject: [PATCH] fix: d1 --- src/app/layout.tsx | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index efd21f5..0b32fd2 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -13,10 +13,14 @@ const inter = Inter({ subsets: ['latin'] }); // 动态生成 metadata,支持配置更新后的标题变化 export async function generateMetadata(): Promise { - const config = await getConfig(); + let siteName = process.env.NEXT_PUBLIC_SITE_NAME; + if (process.env.NEXT_PUBLIC_STORAGE_TYPE === 'd1') { + const config = await getConfig(); + siteName = config.SiteConfig.SiteName; + } return { - title: config.SiteConfig.SiteName, + title: siteName, description: '影视聚合', manifest: '/manifest.json', }; @@ -31,15 +35,26 @@ export default async function RootLayout({ }: { children: React.ReactNode; }) { - const config = await getConfig(); - const siteName = config.SiteConfig.SiteName; - const announcement = config.SiteConfig.Announcement; + let siteName = process.env.NEXT_PUBLIC_SITE_NAME || 'MoonTV'; + let announcement = + process.env.ANNOUNCEMENT || + '本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。'; + let enableRegister = process.env.NEXT_PUBLIC_ENABLE_REGISTER === 'true'; + let aggregateSearchResult = + process.env.NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT !== 'false'; + if (process.env.NEXT_PUBLIC_STORAGE_TYPE !== 'd1') { + const config = await getConfig(); + siteName = config.SiteConfig.SiteName; + announcement = config.SiteConfig.Announcement; + enableRegister = config.UserConfig.AllowRegister; + aggregateSearchResult = config.SiteConfig.SearchResultDefaultAggregate; + } // 将运行时配置注入到全局 window 对象,供客户端在运行时读取 const runtimeConfig = { STORAGE_TYPE: process.env.NEXT_PUBLIC_STORAGE_TYPE || 'localstorage', - ENABLE_REGISTER: config.UserConfig.AllowRegister, - AGGREGATE_SEARCH_RESULT: config.SiteConfig.SearchResultDefaultAggregate, + ENABLE_REGISTER: enableRegister, + AGGREGATE_SEARCH_RESULT: aggregateSearchResult, }; return (