Files
InfoGenie/InfoGenie-frontend/public/index.html
2025-09-16 09:14:04 +08:00

147 lines
4.5 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#667eea" />
<meta name="description" content="✨ 神奇万事通 - 一个多功能的聚合软件应用提供60s API、小游戏、AI模型等丰富功能" />
<meta name="keywords" content="60s API,热搜榜单,小游戏,AI模型,实时资讯,工具集合" />
<meta name="author" content="神奇万事通" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:title" content="神奇万事通" />
<meta property="og:description" content="🎨 一个多功能的聚合软件应用 💬" />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:title" content="神奇万事通" />
<meta property="twitter:description" content="🎨 一个多功能的聚合软件应用 💬" />
<!-- Favicon -->
<link rel="icon" href="%PUBLIC_URL%/assets/logo.png" />
<!-- Apple Touch Icon -->
<link rel="apple-touch-icon" href="%PUBLIC_URL%/assets/logo.png" />
<!-- Manifest -->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!-- Preload fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<title>神奇万事通</title>
<style>
/* 加载动画 */
#loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #90EE90 0%, #F0E68C 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 9999;
color: white;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}
#loading .loading-logo {
width: 64px;
height: 64px;
margin-bottom: 24px;
animation: pulse 2s infinite;
border-radius: 8px;
}
#loading .loading-text {
font-size: 24px;
font-weight: bold;
margin-bottom: 16px;
}
#loading .loading-desc {
font-size: 14px;
opacity: 0.8;
margin-bottom: 32px;
}
#loading .loading-spinner {
width: 40px;
height: 40px;
border: 4px solid rgba(255, 255, 255, 0.3);
border-top: 4px solid white;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@media (max-width: 768px) {
#loading .loading-logo { width: 48px; height: 48px; }
#loading .loading-text { font-size: 20px; }
}
</style>
</head>
<body>
<noscript>您需要启用 JavaScript 才能运行此应用。</noscript>
<!-- 加载动画 -->
<div id="loading">
<img class="loading-logo" src="%PUBLIC_URL%/assets/logo.png" alt="神奇万事通" />
<div class="loading-text">神奇万事通</div>
<div class="loading-desc">🎨 多功能聚合应用 💬</div>
<div class="loading-spinner"></div>
</div>
<div id="root"></div>
<script>
// 隐藏加载动画
window.addEventListener('load', function() {
setTimeout(function() {
const loading = document.getElementById('loading');
if (loading) {
loading.style.opacity = '0';
loading.style.transition = 'opacity 0.5s ease';
setTimeout(function() {
loading.remove();
}, 500);
}
}, 1000);
});
// 错误处理
window.addEventListener('error', function(e) {
console.error('应用加载错误:', e.error);
});
// Service Worker 注册
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js')
.then(function(registration) {
console.log('SW registered: ', registration);
})
.catch(function(registrationError) {
console.log('SW registration failed: ', registrationError);
});
});
}
</script>
</body>
</html>