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'; import { UserContext } from '../../context/User'; import { Link } from 'react-router-dom'; const Home = () => { const [statusState, statusDispatch] = useContext(StatusContext); const [homePageContentLoaded, setHomePageContentLoaded] = useState(false); const [homePageContent, setHomePageContent] = useState(''); const [userState] = useContext(UserContext); 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 timestamp2string(timestamp); }; useEffect(() => { displayNotice().then(); displayHomePageContent().then(); }, []); return (
One API 是一个 OpenAI 接口管理和分发系统,可以帮助您更好地管理和使用 OpenAI 的 API。
{!userState.user && (如需使用,请先登录或 注册。
)}名称: {statusState?.status?.system_name}
版本: {statusState?.status?.version || 'unknown'}
源码: GitHub 仓库
启动时间: {getStartTimeString()}
邮箱验证: {statusState?.status?.email_verification ? '已启用' : '未启用'}
GitHub 身份验证: {statusState?.status?.github_oauth ? '已启用' : '未启用'}
微信身份验证: {statusState?.status?.wechat_login ? '已启用' : '未启用'}
Turnstile 校验: {statusState?.status?.turnstile_check ? '已启用' : '未启用'}