gongxiangp2/app/layout.tsx
chenpei 3fff87cd18 feat: 添加S3存储桶配置、全站实时弹幕功能、LOGO分离上传
新功能:
1. S3存储桶配置管理 - 可在系统设置中配置S3端点、密钥等
2. 全站实时弹幕功能 - 右下角悬浮球,支持实时发送和接收弹幕
3. LOGO分离上传 - 导航栏LOGO和登录页LOGO分开上传

数据库更新:
- SystemSettings表新增s3Endpoint, s3AccessKey, s3SecretKey等6个字段
- 新增Danmaku表用于存储弹幕数据

技术改进:
- 部门管理从系统设置移至系统管理标签页
- 优化了浏览器标题动态更新
- 添加了弹幕轮询机制(2秒)
2025-10-27 17:06:54 +08:00

47 lines
1.0 KiB
TypeScript

import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import './globals.css'
import Providers from './providers'
const inter = Inter({ subsets: ['latin'] })
async function getSystemSettings() {
try {
const response = await fetch(`${process.env.NEXTAUTH_URL || 'http://localhost:3000'}/api/system-settings`, {
cache: 'no-store' // 不缓存,确保每次都获取最新数据
})
if (response.ok) {
return await response.json()
}
} catch (error) {
console.error('Failed to fetch system settings:', error)
}
return null
}
export async function generateMetadata(): Promise<Metadata> {
const settings = await getSystemSettings()
return {
title: settings?.siteName || '由壹点3D素材',
description: '3D素材分享平台',
}
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="zh-CN">
<body className={inter.className}>
<Providers>
{children}
</Providers>
</body>
</html>
)
}