import React, { useContext, useEffect, useState } from 'react'; import { Card, Col, Row } from '@douyinfe/semi-ui'; import { API, showError, showNotice, timestamp2string } from '../../helpers'; import { StatusContext } from '../../context/Status'; import { marked } from 'marked'; const Home = () => { const [statusState] = useContext(StatusContext); const [homePageContentLoaded, setHomePageContentLoaded] = useState(false); const [homePageContent, setHomePageContent] = useState(''); const displayNotice = async () => { const res = await API.get('/api/notice'); const { success, message, data } = res.data; if (success) { let oldNotice = localStorage.getItem('notice'); if (data !== oldNotice && data !== '') { const htmlNotice = marked(data); showNotice(htmlNotice, true); localStorage.setItem('notice', data); } } else { showError(message); } }; const displayHomePageContent = async () => { setHomePageContent(localStorage.getItem('home_page_content') || ''); const res = await API.get('/api/home_page_content'); const { success, message, data } = res.data; if (success) { let content = data; if (!data.startsWith('https://')) { content = marked.parse(data); } setHomePageContent(content); localStorage.setItem('home_page_content', content); } else { showError(message); setHomePageContent('加载首页内容失败...'); } setHomePageContentLoaded(true); }; const getStartTimeString = () => { const timestamp = statusState?.status?.start_time; return statusState.status ? timestamp2string(timestamp) : ''; }; useEffect(() => { displayNotice().then(); displayHomePageContent().then(); }, []); return ( <> {homePageContentLoaded && homePageContent === '' ? ( <> 系统信息总览 } >

名称:{statusState?.status?.system_name}

版本: {statusState?.status?.version ? statusState?.status?.version : 'unknown'}

源码: https://github.com/songquanpeng/one-api

启动时间:{getStartTimeString()}

系统配置总览 } >

邮箱验证: {statusState?.status?.email_verification === true ? '已启用' : '未启用'}

GitHub 身份验证: {statusState?.status?.github_oauth === true ? '已启用' : '未启用'}

微信身份验证: {statusState?.status?.wechat_login === true ? '已启用' : '未启用'}

Turnstile 用户校验: {statusState?.status?.turnstile_check === true ? '已启用' : '未启用'}

Telegram 身份验证: {statusState?.status?.telegram_oauth === true ? '已启用' : '未启用'}

) : ( <> {homePageContent.startsWith('https://') ? (