index.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <link rel="icon" href="/favicon.ico">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta name="description"
  8. content="功能强大的后台管理系统,为企业高效运营保驾护航。基于 Vue3 打造,融合流行的 Element-plus 组件库,界面简洁美观、交互流畅。借助 Unocss 塑造独特样式体系,独具魅力。Vueuse 等工具提升开发效率,同时还封装了众多易用性组件,极大地简化操作流程,让管理更加便捷高效。精准掌控运营动态,助力企业迈向成功。">
  9. <meta name="keywords" content="admin,meet-admin,element-plus,unocss,typescript,vue,vue3,vueuse">
  10. <title>%VITE_APP_NAME%</title>
  11. </head>
  12. <body>
  13. <div id="app">
  14. <style>
  15. html, body, #app {
  16. margin: 0;
  17. height: 100%;
  18. }
  19. #loader {
  20. height: 100px;
  21. width: 100px;
  22. position: relative;
  23. top: calc(50% - 25px);
  24. left: calc(50% - 25px);
  25. perspective: 1000px;
  26. }
  27. #loader .thing {
  28. height: 50px;
  29. width: 50px;
  30. background-color: #E87722;
  31. position: absolute;
  32. box-sizing: border-box;
  33. top: 0;
  34. left: 0;
  35. }
  36. #loader .thing:nth-of-type(1) {
  37. animation: loader-bounce 0.5s ease-in-out infinite alternate, loader-move 4s -1s infinite;
  38. }
  39. #loader .thing:nth-of-type(2) {
  40. animation: loader-bounce 0.5s ease-in-out infinite alternate, loader-move 4s -2s infinite;
  41. }
  42. #loader .thing:nth-of-type(3) {
  43. animation: loader-bounce 0.5s ease-in-out infinite alternate, loader-move 4s -3s infinite;
  44. }
  45. #loader .thing:nth-of-type(4) {
  46. animation: loader-bounce 0.5s ease-in-out infinite alternate, loader-move 4s -4s infinite;
  47. }
  48. @keyframes loader-bounce {
  49. from {
  50. transform: scale(1);
  51. }
  52. to {
  53. transform: scale(0.8);
  54. }
  55. }
  56. @keyframes loader-move {
  57. 0% {
  58. top: 0;
  59. left: 0;
  60. background-color: #E87722;
  61. }
  62. 25% {
  63. top: 0;
  64. left: 50%;
  65. background-color: #67C23A;
  66. }
  67. 50% {
  68. top: 50%;
  69. left: 50%;
  70. background-color: #4A90E2;
  71. }
  72. 75% {
  73. top: 50%;
  74. left: 0;
  75. background-color: #E6A23C;
  76. }
  77. }
  78. </style>
  79. <div id="loader">
  80. <div class="thing"></div>
  81. <div class="thing"></div>
  82. <div class="thing"></div>
  83. <div class="thing"></div>
  84. </div>
  85. </div>
  86. <script>
  87. const globalState = JSON.parse(window.localStorage.getItem("app-store"));
  88. if (globalState) {
  89. const html = document.querySelector("html");
  90. if (globalState.isDark) html.style.background = "#141414";
  91. }
  92. </script>
  93. <script type="module" src="/src/main.ts"></script>
  94. </body>
  95. </html>