index.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  7. <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  8. <title>
  9. <%= VUE_APP_TITLE %>
  10. </title>
  11. </head>
  12. <body data-layout="header">
  13. <noscript>
  14. <strong>We're sorry but <%= VUE_APP_TITLE %> doesn't work properly without JavaScript
  15. enabled. Please enable it to continue.</strong>
  16. </noscript>
  17. <script type="text/javascript">
  18. localStorage.getItem("APP_DARK") && document.documentElement.classList.add("dark");
  19. </script>
  20. <div id="app" class="aminui">
  21. <div class="app-loading">
  22. <div class="app-loading__logo">
  23. <img src="<%= BASE_URL %>img/logo.png" />
  24. </div>
  25. <div class="app-loading__loader"></div>
  26. <div class="app-loading__title">
  27. <%= VUE_APP_TITLE %>
  28. </div>
  29. </div>
  30. <style>
  31. .app-loading {
  32. position: absolute;
  33. top: 0px;
  34. left: 0px;
  35. right: 0px;
  36. bottom: 0px;
  37. display: flex;
  38. justify-content: center;
  39. align-items: center;
  40. flex-direction: column;
  41. background: #fff;
  42. }
  43. .app-loading__logo {
  44. margin-bottom: 30px;
  45. }
  46. .app-loading__logo img {
  47. width: 90px;
  48. vertical-align: bottom;
  49. }
  50. .app-loading__loader {
  51. box-sizing: border-box;
  52. width: 35px;
  53. height: 35px;
  54. border: 5px solid transparent;
  55. border-top-color: #000;
  56. border-radius: 50%;
  57. animation: .5s loader linear infinite;
  58. position: relative;
  59. }
  60. .app-loading__loader:before {
  61. box-sizing: border-box;
  62. content: "";
  63. display: block;
  64. width: inherit;
  65. height: inherit;
  66. position: absolute;
  67. top: -5px;
  68. left: -5px;
  69. border: 5px solid #ccc;
  70. border-radius: 50%;
  71. opacity: .5;
  72. }
  73. .app-loading__title {
  74. font-size: 24px;
  75. color: #333;
  76. margin-top: 30px;
  77. }
  78. .dark .app-loading {
  79. background: #222225;
  80. }
  81. .dark .app-loading__loader {
  82. border-top-color: #fff;
  83. }
  84. .dark .app-loading__title {
  85. color: #d0d0d0;
  86. }
  87. @keyframes loader {
  88. 0% {
  89. transform: rotate(0deg);
  90. }
  91. 100% {
  92. transform: rotate(360deg);
  93. }
  94. }
  95. </style>
  96. </div>
  97. <!-- built files will be auto injected -->
  98. </body>
  99. <div id="versionCheck"
  100. style="display: none;position: absolute;z-index: 99;top:0;left:0;right:0;bottom:0;padding:40px;background:rgba(255,255,255,0.9);color: #333;">
  101. <h2 style="line-height: 1;margin: 0;font-size: 24px;">当前使用的浏览器内核版本过低 :(</h2>
  102. <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 20px;opacity: 0.8;">当前版本:<span
  103. id="versionCheck-type">--</span> <span id="versionCheck-version">--</span></p>
  104. <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 10px;opacity: 0.8;">最低版本要求:Chrome 71+、Firefox
  105. 65+、Safari 12+、Edge 97+。</p>
  106. <p style="line-height: 1;margin: 0;font-size: 14px;margin-top: 10px;opacity: 0.8;">
  107. 请升级浏览器版本,或更换现代浏览器,如果你使用的是双核浏览器,请切换到极速/高速模式。</p>
  108. </div>
  109. <script type="text/javascript">
  110. function getBrowerInfo() {
  111. var userAgent = window.navigator.userAgent;
  112. var browerInfo = {
  113. type: "unknown",
  114. version: "unknown",
  115. userAgent: userAgent
  116. };
  117. if (document.documentMode) {
  118. browerInfo.type = "IE";
  119. browerInfo.version = document.documentMode + "";
  120. } else if (indexOf(userAgent, "Firefox")) {
  121. browerInfo.type = "Firefox";
  122. browerInfo.version = userAgent.match(/Firefox\/([\d.]+)/)[1];
  123. } else if (indexOf(userAgent, "Opera")) {
  124. browerInfo.type = "Opera";
  125. browerInfo.version = userAgent.match(/Opera\/([\d.]+)/)[1];
  126. } else if (indexOf(userAgent, "Edg")) {
  127. browerInfo.type = "Edg";
  128. browerInfo.version = userAgent.match(/Edg\/([\d.]+)/)[1];
  129. } else if (indexOf(userAgent, "Chrome")) {
  130. browerInfo.type = "Chrome";
  131. browerInfo.version = userAgent.match(/Chrome\/([\d.]+)/)[1];
  132. } else if (indexOf(userAgent, "Safari")) {
  133. browerInfo.type = "Safari";
  134. browerInfo.version = userAgent.match(/Safari\/([\d.]+)/)[1];
  135. }
  136. return browerInfo;
  137. }
  138. function indexOf(userAgent, brower) {
  139. return userAgent.indexOf(brower) > -1;
  140. }
  141. function isSatisfyBrower() {
  142. var minVer = {
  143. "Chrome": 71,
  144. "Firefox": 65,
  145. "Safari": 12,
  146. "Edg": 97,
  147. "IE": 999
  148. }
  149. var browerInfo = getBrowerInfo();
  150. var materVer = browerInfo.version.split(".")[0];
  151. return materVer >= minVer[browerInfo.type];
  152. }
  153. if (!isSatisfyBrower()) {
  154. document.getElementById("versionCheck").style.display = "block";
  155. document.getElementById("versionCheck-type").innerHTML = getBrowerInfo().type;
  156. document.getElementById("versionCheck-version").innerHTML = getBrowerInfo().version;
  157. }
  158. </script>
  159. </html>