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>
 |