From ab701aee3bb756fca9023b94ebfe1319cb0e789d Mon Sep 17 00:00:00 2001 From: huangzhenpc Date: Wed, 1 Apr 2026 00:34:09 +0800 Subject: [PATCH] fix: always show custom landing page, remove backend home_page_content override The backend home_page_content setting was overriding the custom OasisRelay landing page with old content. Since we have a fully custom landing page now, remove the API check entirely. Co-Authored-By: Claude Opus 4.6 (1M context) --- web/src/pages/Home/index.jsx | 66 ++---------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/web/src/pages/Home/index.jsx b/web/src/pages/Home/index.jsx index e797a3dd..8293fd7f 100644 --- a/web/src/pages/Home/index.jsx +++ b/web/src/pages/Home/index.jsx @@ -17,11 +17,9 @@ along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ -import React, { useContext, useEffect, useState, useRef } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { API } from '../../helpers'; import { StatusContext } from '../../context/Status'; -import { useActualTheme } from '../../context/Theme'; -import { marked } from 'marked'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import NoticeModal from '../../components/layout/NoticeModal'; @@ -79,53 +77,10 @@ const FaqItem = ({ question, children, defaultOpen }) => { 首页主组件 ────────────────────────────────────────────── */ const Home = () => { - const { i18n } = useTranslation(); const [statusState] = useContext(StatusContext); - const actualTheme = useActualTheme(); - const cachedContent = localStorage.getItem('home_page_content') || ''; - const [homePageContentLoaded, setHomePageContentLoaded] = useState(!!cachedContent); - const [homePageContent, setHomePageContent] = useState(cachedContent); const [noticeVisible, setNoticeVisible] = useState(false); const isMobile = useIsMobile(); - /* 服务端配置的自定义首页内容(Markdown 或外链 URL) */ - const displayHomePageContent = async () => { - const cached = localStorage.getItem('home_page_content') || ''; - setHomePageContent(cached); - try { - const res = await API.get('/api/home_page_content'); - const { success, data } = res.data; - if (success && data && data.trim() !== '') { - let content = data; - if (!data.startsWith('https://')) { - content = marked.parse(data); - } - setHomePageContent(content); - localStorage.setItem('home_page_content', content); - - if (data.startsWith('https://')) { - const iframe = document.querySelector('iframe'); - if (iframe) { - iframe.onload = () => { - iframe.contentWindow.postMessage({ themeMode: actualTheme }, '*'); - iframe.contentWindow.postMessage({ lang: i18n.language }, '*'); - }; - } - } - setHomePageContentLoaded(true); - } else { - // 没有自定义内容,显示默认首页 - localStorage.removeItem('home_page_content'); - setHomePageContent(''); - setHomePageContentLoaded(true); - } - } catch (e) { - // 网络错误/无后端,直接显示默认首页,不报错 - setHomePageContent(''); - setHomePageContentLoaded(true); - } - }; - useEffect(() => { const checkNoticeAndShow = async () => { const lastCloseDate = localStorage.getItem('notice_close_date'); @@ -145,24 +100,7 @@ const Home = () => { checkNoticeAndShow(); }, []); - useEffect(() => { - displayHomePageContent().then(); - }, []); - - /* 如果管理员设置了自定义首页内容,则显示那个 */ - if (homePageContentLoaded && homePageContent !== '') { - return ( -
- {homePageContent.startsWith('https://') ? ( -