PersonalPage/dist/index.html

111 lines
3.6 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">
<script type="module" crossorigin src="/assets/index-Dto0pvWn.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C4_fRYtA.css">
</head>
<body>
<div id="app">
<!-- 初始加载动画 -->
<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>
<!-- 主应用脚本 -->
<!-- 加载状态样式 -->
<style>
.app-loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: rgba(255,255,255,0.8);
z-index: 9999;
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; }
}
/* 当Vue挂载后隐藏加载动画 */
[data-v-app] + .app-loading {
opacity: 0;
pointer-events: none;
}
</style>
</body>
</html>