index.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" href="/favicon.ico" />
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  8. <meta
  9. name="keywords"
  10. content="交割库管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
  11. />
  12. <meta
  13. name="description"
  14. content="交割库管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
  15. />
  16. <title>%VITE_APP_TITLE%</title>
  17. </head>
  18. <body>
  19. <div id="app">
  20. <style>
  21. .app-loading {
  22. display: flex;
  23. width: 100%;
  24. height: 100%;
  25. justify-content: center;
  26. align-items: center;
  27. flex-direction: column;
  28. background: #f0f2f5;
  29. }
  30. .app-loading .app-loading-wrap {
  31. position: absolute;
  32. top: 50%;
  33. left: 50%;
  34. display: flex;
  35. -webkit-transform: translate3d(-50%, -50%, 0);
  36. transform: translate3d(-50%, -50%, 0);
  37. justify-content: center;
  38. align-items: center;
  39. flex-direction: column;
  40. }
  41. .app-loading .app-loading-title {
  42. margin-bottom: 30px;
  43. font-size: 20px;
  44. font-weight: bold;
  45. text-align: center;
  46. }
  47. .app-loading .app-loading-logo {
  48. width: 100px;
  49. margin: 0 auto 15px auto;
  50. }
  51. .app-loading .app-loading-item {
  52. position: relative;
  53. display: inline-block;
  54. width: 60px;
  55. height: 60px;
  56. vertical-align: middle;
  57. border-radius: 50%;
  58. }
  59. .app-loading .app-loading-outter {
  60. position: absolute;
  61. width: 100%;
  62. height: 100%;
  63. border: 4px solid #2d8cf0;
  64. border-bottom: 0;
  65. border-left-color: transparent;
  66. border-radius: 50%;
  67. animation: loader-outter 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
  68. }
  69. .app-loading .app-loading-inner {
  70. position: absolute;
  71. top: calc(50% - 20px);
  72. left: calc(50% - 20px);
  73. width: 40px;
  74. height: 40px;
  75. border: 4px solid #87bdff;
  76. border-right: 0;
  77. border-top-color: transparent;
  78. border-radius: 50%;
  79. animation: loader-inner 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
  80. }
  81. @-webkit-keyframes loader-outter {
  82. 0% {
  83. -webkit-transform: rotate(0deg);
  84. transform: rotate(0deg);
  85. }
  86. 100% {
  87. -webkit-transform: rotate(360deg);
  88. transform: rotate(360deg);
  89. }
  90. }
  91. @keyframes loader-outter {
  92. 0% {
  93. -webkit-transform: rotate(0deg);
  94. transform: rotate(0deg);
  95. }
  96. 100% {
  97. -webkit-transform: rotate(360deg);
  98. transform: rotate(360deg);
  99. }
  100. }
  101. @-webkit-keyframes loader-inner {
  102. 0% {
  103. -webkit-transform: rotate(0deg);
  104. transform: rotate(0deg);
  105. }
  106. 100% {
  107. -webkit-transform: rotate(-360deg);
  108. transform: rotate(-360deg);
  109. }
  110. }
  111. @keyframes loader-inner {
  112. 0% {
  113. -webkit-transform: rotate(0deg);
  114. transform: rotate(0deg);
  115. }
  116. 100% {
  117. -webkit-transform: rotate(-360deg);
  118. transform: rotate(-360deg);
  119. }
  120. }
  121. .loader {
  122. position: relative;
  123. width: 100px;
  124. height: 100px;
  125. }
  126. .loader div {
  127. position: absolute;
  128. border: 4px solid #454ade;
  129. border-radius: 50%;
  130. animation: loader8435 1s ease-out infinite;
  131. }
  132. .loader div:nth-child(2) {
  133. animation-delay: -0.5s;
  134. }
  135. @keyframes loader8435 {
  136. 0% {
  137. top: 32px;
  138. left: 32px;
  139. width: 0;
  140. height: 0;
  141. opacity: 1;
  142. }
  143. 100% {
  144. top: 0;
  145. left: 0;
  146. width: 64px;
  147. height: 64px;
  148. opacity: 0;
  149. }
  150. }
  151. </style>
  152. <div class="app-loading">
  153. <div class="app-loading-wrap">
  154. <div class="app-loading-title">
  155. <img src="/logo.png" class="app-loading-logo" alt="Logo" />
  156. <div class="app-loading-title">%VITE_APP_TITLE%</div>
  157. </div>
  158. <div class="app-loading-item">
  159. <div class="loader">
  160. <div></div>
  161. <div></div>
  162. </div>
  163. <!-- <div class="app-loading-outter"></div>-->
  164. <!-- <div class="app-loading-inner"></div>-->
  165. </div>
  166. </div>
  167. </div>
  168. </div>
  169. <script type="module" src="/src/main.ts"></script>
  170. </body>
  171. </html>