import { useEffect, useState } from 'react'; import { useAppStore, getStatusColor } from '../stores/appStore'; import styles from './StartupCheck.module.css'; interface StartupCheckProps { onComplete: () => void; } export default function StartupCheck({ onComplete }: StartupCheckProps) { const { environment, checkAllServices, appReady } = useAppStore(); const [showDetails, setShowDetails] = useState(false); useEffect(() => { const runCheck = async () => { await checkAllServices(); }; runCheck(); }, [checkAllServices]); useEffect(() => { // 检测完成后自动进入主界面(成功或失败都进入) if (appReady === 'ready' || appReady === 'error') { const timer = setTimeout(() => { onComplete(); }, 1500); // 1.5秒后自动进入 return () => clearTimeout(timer); } }, [appReady, onComplete]); const getStatusIcon = (status: string) => { switch (status) { case 'connected': return '✅'; case 'checking': return '🔄'; case 'error': return '❌'; default: return '⏳'; } }; return (
{/* Logo */}
🍈

绿积分共管账户服务

榴莲皇后 · 分布式多方共管钱包

{/* 状态检测 */}
{getStatusIcon(environment.database.status)} 本地数据库 {environment.database.status === 'connected' ? '正常' : environment.database.status === 'checking' ? '检测中...' : environment.database.status === 'error' ? '异常' : '等待检测'}
{getStatusIcon(environment.messageRouter.status)} 消息路由服务 {environment.messageRouter.status === 'connected' ? '已连接' : environment.messageRouter.status === 'checking' ? '检测中...' : environment.messageRouter.status === 'error' ? '连接失败' : '等待检测'}
{getStatusIcon(environment.kavaApi.status)} Kava 区块链 API {environment.kavaApi.status === 'connected' ? '已连接' : environment.kavaApi.status === 'checking' ? '检测中...' : environment.kavaApi.status === 'error' ? '连接失败' : '等待检测'}
{/* 总体状态 */}
{appReady === 'initializing' && ( <>
正在初始化环境... )} {appReady === 'ready' && ( <> 环境检测完成,即将进入主界面 )} {appReady === 'error' && ( <> ⚠️ 部分服务异常,但仍可使用基本功能 )}
{/* 详情按钮 */} {(environment.messageRouter.message || environment.kavaApi.message) && ( )} {/* 详细信息 */} {showDetails && (
{environment.messageRouter.message && (
消息路由: {environment.messageRouter.message}
)} {environment.kavaApi.message && (
Kava API: {environment.kavaApi.message}
)} {environment.database.message && (
本地存储: {environment.database.message}
)}
)} {/* 手动进入按钮 */} {(appReady === 'ready' || appReady === 'error') && ( )}
); }