PersonalPage/index.html
2025-03-26 02:50:37 +08:00

160 lines
4.5 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" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 核心元数据 -->
<title>Cat Tom | Try to do my best!</title>
<meta name="description" content="Cat Tom的个人主页展示作品和联系方式">
<!-- 主题色 -->
<meta name="theme-color" content="#a8d8ea">
<!-- PWA配置 -->
<link rel="manifest" href="/manifest.webmanifest">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="Cat Tom">
<link rel="apple-touch-icon" href="/assets/icons/icon-192x192.png">
<!-- 预加载关键资源 -->
<link rel="preload" href="/assets/images/logo.png" as="image" type="image/png">
<link rel="preload" href="/assets/images/wechat-qr.png" as="image" type="image/png">
<link rel="preload" href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" as="style">
<link rel="preconnect" href="https://cdn.jsdelivr.net">
<!-- 字体加载策略 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" media="print" onload="this.media='all'">
<noscript>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css">
</noscript>
<!-- 默认图标 -->
<link rel="icon" type="image/svg+xml" href="/assets/icons/favicon.svg">
<link rel="alternate icon" href="/favicon.ico">
<!-- 社交分享优化 -->
<meta property="og:title" content="Cat Tom | Try to do my best!">
<meta property="og:description" content="Cat Tom的个人主页展示作品和联系方式">
<meta property="og:type" content="website">
<meta property="og:url" content="https://yourdomain.com">
<meta property="og:image" content="/assets/images/social-share.png">
<!-- 防止搜索引擎索引开发环境 -->
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<div id="app">
<div class="content-wrapper">
<!-- 页面主要内容 -->
<!-- 初始加载动画 -->
<div class="app-loading">
<div class="loading-spinner">
<svg viewBox="0 0 50 50">
<circle cx="25" cy="25" r="20" fill="none" stroke="#7ac5e8" stroke-width="4"></circle>
</svg>
</div>
</div>
</div>
</div>
<!-- 主应用脚本 -->
<script type="module" src="/src/main.js"></script>
<!-- 加载状态样式 -->
<style>
html, body {
height: 100%;
margin: 0;
}
#app {
display: flex;
flex-direction: column;
min-height: 100vh;
max-height: 100vh;
overflow: hidden;
}
.content-wrapper {
flex: 1;
overflow-y: auto;
padding: 2rem;
scrollbar-width: thin;
scrollbar-color: #7ac5e8 transparent;
}
.app-loading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(255,255,255,0.9);
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
z-index: 10000;
transition: opacity 0.3s ease;
}
.loading-spinner svg {
animation: rotate 1.5s linear infinite;
width: 50px;
height: 50px;
}
.loading-spinner circle {
stroke-dasharray: 90, 150;
stroke-dashoffset: 0;
stroke-linecap: round;
animation: dash 1.5s ease-in-out infinite;
}
@keyframes rotate {
100% { transform: rotate(360deg); }
}
@keyframes dash {
0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; }
50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; }
100% { stroke-dasharray: 90, 150; stroke-dashoffset: -124; }
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(122,197,232,0.1);
}
::-webkit-scrollbar-thumb {
background: #7ac5e8;
border-radius: 4px;
}
/* 当Vue挂载后隐藏加载动画 */
[data-v-app] .app-loading {
opacity: 0;
pointer-events: none;
}
@media (max-width: 768px) {
.content-wrapper {
padding: 1rem;
}
.app-loading {
padding: 1rem;
width: 80%;
max-width: 300px;
}
}
</style>
</body>
</html>