diff --git a/video-gen-app/src/components/Layout/AppLayout.tsx b/video-gen-app/src/components/Layout/AppLayout.tsx index b33ea802..4568b181 100644 --- a/video-gen-app/src/components/Layout/AppLayout.tsx +++ b/video-gen-app/src/components/Layout/AppLayout.tsx @@ -139,8 +139,15 @@ const AppLayout: React.FC = () => { const [rechargeOptions, setRechargeOptions] = useState([]); const [collapsedGroups, setCollapsedGroups] = useState>({}); const [unreadCount, setUnreadCount] = useState(0); - const [siteName, setSiteName] = useState('VideoGen.AI'); - const [siteLogo, setSiteLogo] = useState(''); + const [siteName, setSiteName] = useState(() => { + const cached = localStorage.getItem('siteInfo'); + return cached ? JSON.parse(cached).siteName || '' : ''; + }); + const [siteLogo, setSiteLogo] = useState(() => { + const cached = localStorage.getItem('siteInfo'); + return cached ? JSON.parse(cached).siteLogo || '' : ''; + }); + const [siteInfoLoading, setSiteInfoLoading] = useState(!localStorage.getItem('siteInfo')); const [qrCodeModalOpen, setQrCodeModalOpen] = useState(false); const [currentPaymentInfo, setCurrentPaymentInfo] = useState<{ price: number; credits: number; qrCode: string; method: string } | null>(null); const [paymentMethod, setPaymentMethod] = useState('alipay'); @@ -164,11 +171,29 @@ const AppLayout: React.FC = () => { }, []); useEffect(() => { + const cached = localStorage.getItem('siteInfo'); + if (!cached) { + setSiteName('民众智创'); + setSiteLogo(''); + document.title = '民众智创'; + } + getSiteInfo().then(info => { - setSiteName(info.siteName || 'VideoGen.AI'); - setSiteLogo(info.siteLogo || ''); - document.title = info.siteName || 'VideoGen.AI'; - }).catch(() => {}); + const siteName = info.siteName || '民众智创'; + const siteLogo = info.siteLogo || ''; + setSiteName(siteName); + setSiteLogo(siteLogo); + document.title = siteName; + localStorage.setItem('siteInfo', JSON.stringify({ siteName, siteLogo })); + }).catch(() => { + // 如果没有缓存且请求失败,使用默认值 + if (!cached) { + setSiteName('民众智创'); + document.title = '民众智创'; + } + }).finally(() => { + setSiteInfoLoading(false); + }); }, []); const loadUnreadCount = () => {