286 lines
10 KiB
Python
286 lines
10 KiB
Python
<!DOCTYPE html>
|
||
<html>
|
||
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||
<link rel="icon" href="<%= BASE_URL %>icon.ico">
|
||
<!-- 使用 CDN 加速的 CSS 文件,配置在 vue.config.js 下 -->
|
||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
|
||
<link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style">
|
||
<link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet">
|
||
<% } %>
|
||
<!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
|
||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
|
||
<link href="<%= htmlWebpackPlugin.options.cdn.js[i] %>" rel="preload" as="script">
|
||
<% } %>
|
||
<title>
|
||
<%= VUE_APP_TITLE %>
|
||
</title>
|
||
<style>
|
||
html,
|
||
body,
|
||
#app {
|
||
height: 100%;
|
||
margin: 0px;
|
||
padding: 0px;
|
||
width: 100%;
|
||
}
|
||
|
||
.d2-home {
|
||
background-color: #303133;
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.d2-home__main {
|
||
user-select: none;
|
||
width: 100%;
|
||
flex-grow: 1;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.d2-home__footer {
|
||
width: 100%;
|
||
flex-grow: 0;
|
||
text-align: center;
|
||
padding: 1em 0;
|
||
}
|
||
|
||
.d2-home__footer>a {
|
||
font-size: 12px;
|
||
color: #ABABAB;
|
||
text-decoration: none;
|
||
}
|
||
|
||
#loader-wrapper {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
z-index: 999999;
|
||
}
|
||
#loader {
|
||
display: block;
|
||
position: relative;
|
||
left: 50%;
|
||
top: 50%;
|
||
width: 120px;
|
||
height: 120px;
|
||
margin: -75px 0 0 -75px;
|
||
border-radius: 50%;
|
||
border: 3px solid transparent;
|
||
/* COLOR 1 */
|
||
border-top-color: #FFF;
|
||
-webkit-animation: spin 2s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-ms-animation: spin 2s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-moz-animation: spin 2s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-o-animation: spin 2s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
animation: spin 2s linear infinite;
|
||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||
z-index: 1001;
|
||
}
|
||
#loader:before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 5px;
|
||
left: 5px;
|
||
right: 5px;
|
||
bottom: 5px;
|
||
border-radius: 50%;
|
||
border: 3px solid transparent;
|
||
/* COLOR 2 */
|
||
border-top-color: #FFF;
|
||
-webkit-animation: spin 3s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-moz-animation: spin 3s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-o-animation: spin 3s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-ms-animation: spin 3s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
animation: spin 3s linear infinite;
|
||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||
}
|
||
#loader:after {
|
||
content: "";
|
||
position: absolute;
|
||
top: 15px;
|
||
left: 15px;
|
||
right: 15px;
|
||
bottom: 15px;
|
||
border-radius: 50%;
|
||
border: 3px solid transparent;
|
||
border-top-color: #FFF;
|
||
/* COLOR 3 */
|
||
-moz-animation: spin 1.5s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-o-animation: spin 1.5s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-ms-animation: spin 1.5s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
-webkit-animation: spin 1.5s linear infinite;
|
||
/* Chrome, Opera 15+, Safari 5+ */
|
||
animation: spin 1.5s linear infinite;
|
||
/* Chrome, Firefox 16+, IE 10+, Opera */
|
||
}
|
||
@-webkit-keyframes spin {
|
||
0% {
|
||
-webkit-transform: rotate(0deg);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: rotate(0deg);
|
||
/* IE 9 */
|
||
transform: rotate(0deg);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
}
|
||
100% {
|
||
-webkit-transform: rotate(360deg);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: rotate(360deg);
|
||
/* IE 9 */
|
||
transform: rotate(360deg);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
}
|
||
}
|
||
@keyframes spin {
|
||
0% {
|
||
-webkit-transform: rotate(0deg);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: rotate(0deg);
|
||
/* IE 9 */
|
||
transform: rotate(0deg);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
}
|
||
100% {
|
||
-webkit-transform: rotate(360deg);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: rotate(360deg);
|
||
/* IE 9 */
|
||
transform: rotate(360deg);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
}
|
||
}
|
||
#loader-wrapper .loader-section {
|
||
position: fixed;
|
||
top: 0;
|
||
width: 51%;
|
||
height: 100%;
|
||
background: #49a9ee;
|
||
/* Old browsers */
|
||
z-index: 1000;
|
||
-webkit-transform: translateX(0);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: translateX(0);
|
||
/* IE 9 */
|
||
transform: translateX(0);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
}
|
||
#loader-wrapper .loader-section.section-left {
|
||
left: 0;
|
||
}
|
||
#loader-wrapper .loader-section.section-right {
|
||
right: 0;
|
||
}
|
||
/* Loaded */
|
||
.loaded #loader-wrapper .loader-section.section-left {
|
||
-webkit-transform: translateX(-100%);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: translateX(-100%);
|
||
/* IE 9 */
|
||
transform: translateX(-100%);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||
}
|
||
.loaded #loader-wrapper .loader-section.section-right {
|
||
-webkit-transform: translateX(100%);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: translateX(100%);
|
||
/* IE 9 */
|
||
transform: translateX(100%);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||
}
|
||
.loaded #loader {
|
||
opacity: 0;
|
||
-webkit-transition: all 0.3s ease-out;
|
||
transition: all 0.3s ease-out;
|
||
}
|
||
.loaded #loader-wrapper {
|
||
visibility: hidden;
|
||
-webkit-transform: translateY(-100%);
|
||
/* Chrome, Opera 15+, Safari 3.1+ */
|
||
-ms-transform: translateY(-100%);
|
||
/* IE 9 */
|
||
transform: translateY(-100%);
|
||
/* Firefox 16+, IE 10+, Opera */
|
||
-webkit-transition: all 0.3s 1s ease-out;
|
||
transition: all 0.3s 1s ease-out;
|
||
}
|
||
/* JavaScript Turned Off */
|
||
.no-js #loader-wrapper {
|
||
display: none;
|
||
}
|
||
.no-js h1 {
|
||
color: #222222;
|
||
}
|
||
#loader-wrapper .load_title {
|
||
font-family: 'Open Sans';
|
||
color: #FFF;
|
||
font-size: 14px;
|
||
width: 100%;
|
||
text-align: center;
|
||
z-index: 9999999999999;
|
||
position: absolute;
|
||
top: 60%;
|
||
opacity: 1;
|
||
line-height: 30px;
|
||
}
|
||
#loader-wrapper .load_title span {
|
||
font-weight: normal;
|
||
font-style: italic;
|
||
font-size: 14px;
|
||
color: #FFF;
|
||
opacity: 0.5;
|
||
}
|
||
</style>
|
||
<script>
|
||
var _hmt = _hmt || [];
|
||
var hmid = "3824e56a483ef95673d119166354712c";
|
||
(function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?" + hmid; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
<noscript>
|
||
<strong>
|
||
Sorry, D2Admin will not work properly without JavaScript support. Enable JavaScript for browsers and continue.
|
||
</strong>
|
||
</noscript>
|
||
<div id="app">
|
||
<div id="loader-wrapper">
|
||
<div id="loader"></div>
|
||
<div class="loader-section section-left"></div>
|
||
<div class="loader-section section-right"></div>
|
||
<div class="load_title">正在加载中,请耐心等待...</div>
|
||
</div>
|
||
</div>
|
||
<!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
|
||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
|
||
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
|
||
<% } %>
|
||
</body>
|
||
|
||
</html>
|