```
feat(index): 优化index.html页面结构和加载体验 - 添加基础meta标签、SEO描述信息和安全相关meta标签 - 配置移动端和PWA支持,更新图标和manifest配置 - 优化CSS样式,包括box-sizing重置和加载动画样式 - 改进加载器动画效果,添加无障碍属性和noscript提示 - 修复viewport配置,移除过时的IE兼容性代码 - 统一CSS单位格式,优化margin和padding设置 ```
This commit is contained in:
@@ -1,38 +1,63 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<!-- 基础 meta 标签 -->
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="renderer" content="webkit" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
|
||||
/>
|
||||
<!-- <link rel="icon" href="src/assets/images/ccu.png" /> -->
|
||||
<link rel="icon" href="src/assets/images/ccu.png" />
|
||||
<link rel="stylesheet" type="text/css" media="print" href="/print-lock.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<!-- SEO 和描述信息 -->
|
||||
<meta name="description" content="医院信息管理系统 - 提供全面的医疗信息化解决方案" />
|
||||
<meta name="keywords" content="医院信息管理系统,医疗信息化,HIS,医院管理" />
|
||||
<meta name="author" content="OpenHIS Team" />
|
||||
|
||||
<!-- 安全相关 meta 标签 -->
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<!-- 移动端和 PWA 支持 -->
|
||||
<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="default">
|
||||
<meta name="theme-color" content="#1890ff">
|
||||
|
||||
<!-- Favicon 和图标 -->
|
||||
<link rel="icon" href="/favicon/favicon.ico" sizes="any">
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-48x48.png" sizes="48x48">
|
||||
<link rel="manifest" href="/favicon/faviconsite.webmanifest">
|
||||
<link rel="icon" type="image/png" href="/favicon/android-chrome-192x192.png" sizes="192x192">
|
||||
<link rel="icon" type="image/png" href="/favicon/android-chrome-512x512.png" sizes="512x512">
|
||||
<link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<link rel="icon" href="/favicon/favicon.svg" type="image/svg+xml">
|
||||
<!-- 打印样式按需加载 -->
|
||||
<link rel="stylesheet" type="text/css" media="print" href="/print-lock.css" onload="this.media='all'">
|
||||
<title>医院信息管理系统</title>
|
||||
<!--[if lt IE 11
|
||||
]><script>
|
||||
<!--[if lt IE 11]>
|
||||
<script>
|
||||
window.location.href = '/html/ie.html';
|
||||
</script><!
|
||||
[endif]-->
|
||||
</script>
|
||||
<![endif]-->
|
||||
<style>
|
||||
html,
|
||||
body,
|
||||
#app {
|
||||
height: 100%;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.chromeframe {
|
||||
margin: 0.2em 0;
|
||||
background: #ccc;
|
||||
color: #000;
|
||||
padding: 0.2em 0;
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
/* 加载动画样式优化 */
|
||||
#loader-wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
@@ -45,7 +70,7 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 9999;
|
||||
transition: opacity 0.5s, visibility 0.5s;
|
||||
transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
.loaded #loader-wrapper {
|
||||
@@ -56,62 +81,70 @@
|
||||
.jumping-dots-loader {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 100%;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.jumping-dots-loader span {
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 100%;
|
||||
border-radius: 50%;
|
||||
background-color: #1890ff;
|
||||
margin: 35px 5px;
|
||||
animation: bounce 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.jumping-dots-loader span:nth-child(1) {
|
||||
animation: bounce 1s ease-in-out infinite;
|
||||
animation-delay: 0s;
|
||||
}
|
||||
|
||||
.jumping-dots-loader span:nth-child(2) {
|
||||
animation: bounce 1s ease-in-out 0.33s infinite;
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
.jumping-dots-loader span:nth-child(3) {
|
||||
animation: bounce 1s ease-in-out 0.66s infinite;
|
||||
animation-delay: 0.4s;
|
||||
}
|
||||
|
||||
@keyframes bounce {
|
||||
0%,
|
||||
75%,
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
0%, 80%, 100% {
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
25% {
|
||||
transform: translateY(-20px);
|
||||
40% {
|
||||
transform: translateY(-20px) scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
.load-title {
|
||||
margin-top: 20px;
|
||||
margin-top: 30px;
|
||||
color: #666;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<div id="loader-wrapper">
|
||||
<div class="jumping-dots-loader">
|
||||
<div id="loader-wrapper" role="status" aria-live="polite" aria-label="系统正在加载">
|
||||
<div class="jumping-dots-loader" aria-hidden="true">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div class="load-title">正在加载系统资源,请耐心等待</div>
|
||||
<noscript>
|
||||
<div style="color: #ff4d4f; text-align: center; margin-top: 20px;">
|
||||
请启用 JavaScript 以正常使用本系统
|
||||
</div>
|
||||
</noscript>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
<script type="module" src="./src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user