Files
SMANAGE/backup/www/index.html
T

228 lines
6.3 KiB
HTML
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.0">
<title>银河锋锐(GVSDS)</title>
<link rel="icon" href="https://hb.cdn.gvsds.com/assets/icon/ICON.png">
<!-- 主题预置:在首屏绘制前按「本地偏好 → 系统设置」写入主题,避免深浅色闪烁 -->
<script>
(function () {
var mode = 'system'
try {
var stored = localStorage.getItem('gvsds-theme')
if (stored === 'light' || stored === 'dark' || stored === 'system') mode = stored
} catch (e) {}
var systemDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
var theme = mode === 'system' ? (systemDark ? 'dark' : 'light') : mode
var root = document.documentElement
root.dataset.themeMode = theme
root.classList.toggle('dark', theme === 'dark')
root.style.colorScheme = theme
})()
</script>
<!-- 首屏加载样式内联:在 JS 包下载/执行前即可渲染,避免白屏 -->
<style>
#site-loader {
position: fixed;
inset: 0;
z-index: 9999;
display: grid;
place-items: center;
overflow: hidden;
background: #ffffff;
opacity: 1;
visibility: visible;
transition: opacity 0.45s ease, visibility 0.45s ease;
}
#site-loader.is-done {
opacity: 0;
visibility: hidden;
pointer-events: none;
}
#site-loader .gvs-loader-glow {
position: absolute;
width: 520px;
height: 520px;
border-radius: 50%;
filter: blur(90px);
pointer-events: none;
}
#site-loader .gvs-loader-glow-left {
top: -180px;
left: -160px;
background: rgba(59, 130, 246, 0.16);
}
#site-loader .gvs-loader-glow-right {
right: -180px;
bottom: -200px;
background: rgba(30, 64, 175, 0.12);
}
#site-loader .gvs-loader-content {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 0 24px;
}
#site-loader .gvs-loader-logo-wrap {
position: relative;
width: 96px;
height: 96px;
display: grid;
place-items: center;
margin-bottom: 28px;
}
#site-loader .gvs-loader-logo {
width: 56px;
height: 56px;
object-fit: contain;
filter: drop-shadow(0 6px 14px rgba(30, 64, 175, 0.18));
}
#site-loader .gvs-loader-ring {
position: absolute;
inset: 0;
border: 2px solid transparent;
border-top-color: #3b82f6;
border-right-color: rgba(59, 130, 246, 0.35);
border-radius: 50%;
animation: gvsLoaderSpin 0.9s linear infinite;
}
#site-loader .gvs-loader-ring-inner {
inset: 9px;
border-top-color: rgba(30, 64, 175, 0.5);
border-right-color: transparent;
border-bottom-color: #93c5fd;
animation: gvsLoaderSpin 1.5s linear infinite reverse;
}
#site-loader .gvs-loader-title {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
font-size: 22px;
font-weight: 700;
letter-spacing: 0.24em;
text-indent: 0.24em;
color: #1e40af;
}
#site-loader .gvs-loader-subtitle {
margin-top: 10px;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
font-size: 10px;
font-weight: 500;
letter-spacing: 0.28em;
text-indent: 0.28em;
color: #9ca3af;
text-align: center;
}
#site-loader .gvs-loader-track {
position: relative;
width: 180px;
height: 3px;
margin-top: 30px;
border-radius: 999px;
background: #e5edff;
overflow: hidden;
}
#site-loader .gvs-loader-bar {
position: absolute;
top: 0;
left: 0;
width: 40%;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #1e40af, #3b82f6, #60a5fa);
box-shadow: 0 0 12px rgba(59, 130, 246, 0.55);
animation: gvsLoaderSlide 1.25s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
#site-loader .gvs-loader-status {
margin-top: 14px;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
font-size: 11px;
letter-spacing: 0.16em;
color: #94a3b8;
animation: gvsLoaderPulse 1.6s ease-in-out infinite;
}
@keyframes gvsLoaderSpin {
to { transform: rotate(360deg); }
}
@keyframes gvsLoaderSlide {
0% { left: -40%; }
100% { left: 100%; }
}
@keyframes gvsLoaderPulse {
0%, 100% { opacity: 0.55; }
50% { opacity: 1; }
}
/* 深色主题下的首屏 loading */
html[data-theme-mode="dark"] #site-loader {
background: #0b1120;
}
html[data-theme-mode="dark"] #site-loader .gvs-loader-title {
color: #dbeafe;
}
html[data-theme-mode="dark"] #site-loader .gvs-loader-subtitle {
color: #64748b;
}
html[data-theme-mode="dark"] #site-loader .gvs-loader-track {
background: #1e293b;
}
html[data-theme-mode="dark"] #site-loader .gvs-loader-status {
color: #64748b;
}
@media (prefers-reduced-motion: reduce) {
#site-loader .gvs-loader-ring,
#site-loader .gvs-loader-status {
animation: none;
}
#site-loader .gvs-loader-bar {
left: 0;
width: 70%;
animation: none;
}
}
</style>
<script type="module" crossorigin src="/GVSite/index-H3_eI7tu.js"></script>
<link rel="stylesheet" crossorigin href="/GVSite/index-DjtT6EMD.css">
</head>
<body>
<div id="site-loader" role="status" aria-live="polite" aria-label="页面加载中">
<div class="gvs-loader-glow gvs-loader-glow-left"></div>
<div class="gvs-loader-glow gvs-loader-glow-right"></div>
<div class="gvs-loader-content">
<div class="gvs-loader-logo-wrap">
<span class="gvs-loader-ring"></span>
<span class="gvs-loader-ring gvs-loader-ring-inner"></span>
<img class="gvs-loader-logo" src="https://hb.cdn.gvsds.com/assets/hlogos/gnobg.png" alt="GVSDS">
</div>
<div class="gvs-loader-title">银河锋锐</div>
<div class="gvs-loader-subtitle">G V S D S · SOFTWARE DEVELOPMENT STUDIO</div>
<div class="gvs-loader-track"><span class="gvs-loader-bar"></span></div>
<div class="gvs-loader-status">正在加载 · LOADING</div>
</div>
</div>
<div id="app"></div>
</body>
</html>