Files
InfoGenie/InfoGenie-frontend/public/index.html
2025-09-19 22:03:59 +08:00

164 lines
4.9 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="✨ 万象口袋 - 一个多功能的聚合软件应用提供聚合应用、小游戏、AI模型工具等丰富功能" />
<meta name="keywords" content="聚合应用,热搜榜单,小游戏,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: 90px;
height: 90px;
margin-bottom: 24px;
animation: pulse 2s infinite;
border-radius: 8px;
}
#loading .loading-text {
font-size: 34px;
font-weight: bold;
margin-bottom: 16px;
}
#loading .loading-desc {
font-size: 20px;
color: rgba(255, 255, 255, 0.8);
margin-bottom: 32px;
}
#loading .loading-spinner {
width: 56px;
height: 56px;
border: 6px solid rgba(255, 255, 255, 0.3);
border-top: 6px solid #ffffff;
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: 67px;
height: 67px;
}
#loading .loading-text {
font-size: 28px;
}
#loading .loading-desc {
font-size: 17px;
}
#loading .loading-spinner {
width: 42px;
height: 42px;
border: 4px solid rgba(255, 255, 255, 0.3);
border-top: 4px solid #ffffff;
}
}
</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>