import React, { useContext, useEffect, useState } from 'react'; import { Card, Grid, Header, Segment } from 'semantic-ui-react'; import { API, showError, showNotice, timestamp2string } from '../../helpers'; import { StatusContext } from '../../context/Status'; import { marked } from 'marked'; const Home = () => { const [statusState, statusDispatch] = 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 !== '') { showNotice(data); 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 timestamp2string(timestamp); }; useEffect(() => { displayNotice().then(); displayHomePageContent().then(); }, []); return ( <> { homePageContentLoaded && homePageContent === '' ? <>
系统状况
系统信息 系统信息总览

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

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

源码: 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 ? '已启用' : '未启用'}

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