diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index ccb8c7b..f447b10 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -300,6 +300,9 @@ interface SiteConfig { DanmakuApiToken: string; TMDBApiKey?: string; TMDBProxy?: string; + PansouApiUrl?: string; + PansouUsername?: string; + PansouPassword?: string; EnableComments: boolean; EnableRegistration?: boolean; RegistrationRequireTurnstile?: boolean; diff --git a/src/app/api/server-config/route.ts b/src/app/api/server-config/route.ts index 2701b09..0be1393 100644 --- a/src/app/api/server-config/route.ts +++ b/src/app/api/server-config/route.ts @@ -46,10 +46,6 @@ export async function GET(request: NextRequest) { EnableOIDCLogin: config.SiteConfig.EnableOIDCLogin || false, EnableOIDCRegistration: config.SiteConfig.EnableOIDCRegistration || false, OIDCButtonText: config.SiteConfig.OIDCButtonText || '', - SiteConfig: { - PansouApiUrl: config.SiteConfig.PansouApiUrl || '', - // 不暴露用户名和密码,认证在后端处理 - }, }; return NextResponse.json(result); } diff --git a/src/components/PansouSearch.tsx b/src/components/PansouSearch.tsx index 84d3d1d..db0b702 100644 --- a/src/components/PansouSearch.tsx +++ b/src/components/PansouSearch.tsx @@ -154,7 +154,7 @@ export default function PansouSearch({ ); } - const cloudTypes = Object.keys(results.merged_by_type); + const cloudTypes = Object.keys(results.merged_by_type || {}); // 过滤显示的网盘类型 const filteredCloudTypes = selectedType === 'all' @@ -164,7 +164,7 @@ export default function PansouSearch({ // 计算每种网盘类型的数量 const typeStats = cloudTypes.map(type => ({ type, - count: results.merged_by_type[type]?.length || 0, + count: results.merged_by_type?.[type]?.length || 0, })); return ( @@ -208,7 +208,7 @@ export default function PansouSearch({ {/* 按网盘类型分类显示 */} {filteredCloudTypes.map((cloudType) => { - const links = results.merged_by_type[cloudType]; + const links = results.merged_by_type?.[cloudType]; if (!links || links.length === 0) return null; const typeName = CLOUD_TYPE_NAMES[cloudType] || cloudType;