index.html 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="renderer" content="webkit">
  7. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  8. <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  9. <link href="<%= BASE_URL %>css/bootstrap.min.css" rel="stylesheet">
  10. <link rel="stylesheet" type="text/css" media="print" href="<%= BASE_URL %>css/print-lock.css">
  11. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/qweather-icons@1.6.0/font/qweather-icons.css">
  12. <!-- 初次加载 -->
  13. <style>
  14. #loading-mask {
  15. position: fixed;
  16. left: 0;
  17. top: 0;
  18. height: 100%;
  19. width: 100%;
  20. background: #fff;
  21. user-select: none;
  22. z-index: 9999;
  23. overflow: hidden
  24. }
  25. .loading-wrapper {
  26. position: absolute;
  27. top: 50%;
  28. left: 50%;
  29. text-align: center;
  30. transform: translate(-50%, -100%)
  31. }
  32. .loading-tips {
  33. margin-top: 10px;
  34. color: grey;
  35. font-size: 14px
  36. }
  37. .loading-dot {
  38. animation: antRotate 1.2s infinite linear;
  39. transform: rotate(45deg);
  40. position: relative;
  41. display: inline-block;
  42. font-size: 40px;
  43. width: 40px;
  44. height: 40px;
  45. box-sizing: border-box
  46. }
  47. .loading-dot i {
  48. width: 20px;
  49. height: 20px;
  50. position: absolute;
  51. display: block;
  52. background-color: #1890ff;
  53. border-radius: 100%;
  54. transform: scale(.75);
  55. transform-origin: 50% 50%;
  56. opacity: .3;
  57. animation: antSpinMove 1s infinite linear alternate
  58. }
  59. .loading-dot i:nth-child(1) {
  60. top: 0;
  61. left: 0
  62. }
  63. .loading-dot i:nth-child(2) {
  64. top: 0;
  65. right: 0;
  66. -webkit-animation-delay: .4s;
  67. animation-delay: .4s
  68. }
  69. .loading-dot i:nth-child(3) {
  70. right: 0;
  71. bottom: 0;
  72. -webkit-animation-delay: .8s;
  73. animation-delay: .8s
  74. }
  75. .loading-dot i:nth-child(4) {
  76. bottom: 0;
  77. left: 0;
  78. -webkit-animation-delay: 1.2s;
  79. animation-delay: 1.2s
  80. }
  81. @keyframes antRotate {
  82. to {
  83. -webkit-transform: rotate(405deg);
  84. transform: rotate(405deg)
  85. }
  86. }
  87. @-webkit-keyframes antRotate {
  88. to {
  89. -webkit-transform: rotate(405deg);
  90. transform: rotate(405deg)
  91. }
  92. }
  93. @keyframes antSpinMove {
  94. to {
  95. opacity: 1
  96. }
  97. }
  98. @-webkit-keyframes antSpinMove {
  99. to {
  100. opacity: 1
  101. }
  102. }
  103. </style>
  104. <!-- source -->
  105. <style>
  106. #source {
  107. position: fixed;
  108. top: 0px;
  109. right: 0px;
  110. width: 149px;
  111. height: 149px;
  112. z-index: 999;
  113. }
  114. .link {
  115. position: relative;
  116. right: -37px;
  117. top: -22px;
  118. display: block;
  119. width: 190px;
  120. padding: 4px 16px;
  121. text-align: center;
  122. color: rgb(255, 255, 255);
  123. font-size: 15px;
  124. background: rgb(101, 24, 255);
  125. text-decoration: none;
  126. text-shadow: rgb(0 0 0 / 15%) 0px -1px 0px;
  127. transform-origin: 0% 0%;
  128. transform: rotate(45deg);
  129. cursor: pointer;
  130. }
  131. .link:hover {
  132. color: white;
  133. font-size: large;
  134. transition: ease-in;
  135. transition-duration: 0.3s;
  136. top: -24px
  137. }
  138. </style>
  139. </script>
  140. <title>
  141. <%= webpackConfig.name %>
  142. </title>
  143. <!--[if lt IE 11]>
  144. <script>window.location.href = 'html/ie.html';
  145. </scrip><![endif]-->
  146. <style>
  147. html,
  148. body,
  149. #app {
  150. height: 100%;
  151. margin: 0px;
  152. padding: 0px;
  153. }
  154. .chromeframe {
  155. margin: 0.2em 0;
  156. background: #ccc;
  157. color: #000;
  158. padding: 0.2em 0;
  159. }
  160. #loader-wrapper {
  161. position: fixed;
  162. top: 0;
  163. left: 0;
  164. width: 100%;
  165. height: 100%;
  166. z-index: 999999;
  167. }
  168. #loader {
  169. display: block;
  170. position: relative;
  171. left: 50%;
  172. top: 50%;
  173. width: 150px;
  174. height: 150px;
  175. margin: -75px 0 0 -75px;
  176. border-radius: 50%;
  177. border: 3px solid transparent;
  178. border-top-color: #FFF;
  179. -webkit-animation: spin 2s linear infinite;
  180. -ms-animation: spin 2s linear infinite;
  181. -moz-animation: spin 2s linear infinite;
  182. -o-animation: spin 2s linear infinite;
  183. animation: spin 2s linear infinite;
  184. z-index: 1001;
  185. }
  186. #loader:before {
  187. content: "";
  188. position: absolute;
  189. top: 5px;
  190. left: 5px;
  191. right: 5px;
  192. bottom: 5px;
  193. border-radius: 50%;
  194. border: 3px solid transparent;
  195. border-top-color: #FFF;
  196. -webkit-animation: spin 3s linear infinite;
  197. -moz-animation: spin 3s linear infinite;
  198. -o-animation: spin 3s linear infinite;
  199. -ms-animation: spin 3s linear infinite;
  200. animation: spin 3s linear infinite;
  201. }
  202. #loader:after {
  203. content: "";
  204. position: absolute;
  205. top: 15px;
  206. left: 15px;
  207. right: 15px;
  208. bottom: 15px;
  209. border-radius: 50%;
  210. border: 3px solid transparent;
  211. border-top-color: #FFF;
  212. -moz-animation: spin 1.5s linear infinite;
  213. -o-animation: spin 1.5s linear infinite;
  214. -ms-animation: spin 1.5s linear infinite;
  215. -webkit-animation: spin 1.5s linear infinite;
  216. animation: spin 1.5s linear infinite;
  217. }
  218. @-webkit-keyframes spin {
  219. 0% {
  220. -webkit-transform: rotate(0deg);
  221. -ms-transform: rotate(0deg);
  222. transform: rotate(0deg);
  223. }
  224. 100% {
  225. -webkit-transform: rotate(360deg);
  226. -ms-transform: rotate(360deg);
  227. transform: rotate(360deg);
  228. }
  229. }
  230. @keyframes spin {
  231. 0% {
  232. -webkit-transform: rotate(0deg);
  233. -ms-transform: rotate(0deg);
  234. transform: rotate(0deg);
  235. }
  236. 100% {
  237. -webkit-transform: rotate(360deg);
  238. -ms-transform: rotate(360deg);
  239. transform: rotate(360deg);
  240. }
  241. }
  242. #loader-wrapper .loader-section {
  243. position: fixed;
  244. top: 0;
  245. width: 51%;
  246. height: 100%;
  247. background: #7171C6;
  248. z-index: 1000;
  249. -webkit-transform: translateX(0);
  250. -ms-transform: translateX(0);
  251. transform: translateX(0);
  252. }
  253. #loader-wrapper .loader-section.section-left {
  254. left: 0;
  255. }
  256. #loader-wrapper .loader-section.section-right {
  257. right: 0;
  258. }
  259. .loaded #loader-wrapper .loader-section.section-left {
  260. -webkit-transform: translateX(-100%);
  261. -ms-transform: translateX(-100%);
  262. transform: translateX(-100%);
  263. -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
  264. transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
  265. }
  266. .loaded #loader-wrapper .loader-section.section-right {
  267. -webkit-transform: translateX(100%);
  268. -ms-transform: translateX(100%);
  269. transform: translateX(100%);
  270. -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
  271. transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
  272. }
  273. .loaded #loader {
  274. opacity: 0;
  275. -webkit-transition: all 0.3s ease-out;
  276. transition: all 0.3s ease-out;
  277. }
  278. .loaded #loader-wrapper {
  279. visibility: hidden;
  280. -webkit-transform: translateY(-100%);
  281. -ms-transform: translateY(-100%);
  282. transform: translateY(-100%);
  283. -webkit-transition: all 0.3s 1s ease-out;
  284. transition: all 0.3s 1s ease-out;
  285. }
  286. .no-js #loader-wrapper {
  287. display: none;
  288. }
  289. .no-js h1 {
  290. color: #222222;
  291. }
  292. #loader-wrapper .load_title {
  293. font-family: 'Open Sans';
  294. color: #FFF;
  295. font-size: 19px;
  296. width: 100%;
  297. text-align: center;
  298. z-index: 9999999999999;
  299. position: absolute;
  300. top: 60%;
  301. opacity: 1;
  302. line-height: 30px;
  303. }
  304. #loader-wrapper .load_title span {
  305. font-weight: normal;
  306. font-style: italic;
  307. font-size: 13px;
  308. color: #FFF;
  309. opacity: 0.5;
  310. }
  311. </style>
  312. </head>
  313. <body>
  314. <div id="app">
  315. <div id="loader-wrapper">
  316. <div id="loader"></div>
  317. <div class="loader-section section-left"></div>
  318. <div class="loader-section section-right"></div>
  319. <div class="load_title">正在加载系统资源,请耐心等待</div>
  320. </div>
  321. </div>
  322. </body>
  323. </html>