index.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <!--
  2. ~Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
  3. ~
  4. ~Licensed under the Apache License, Version 2.0 (the "License");
  5. ~you may not use this file except in compliance with the License.
  6. ~You may obtain a copy of the License at
  7. ~
  8. ~ http://www.apache.org/licenses/LICENSE-2.0
  9. ~
  10. ~Unless required by applicable law or agreed to in writing, software
  11. ~distributed under the License is distributed on an "AS IS" BASIS,
  12. ~WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. ~See the License for the specific language governing permissions and
  14. ~limitations under the License.
  15. -->
  16. <!doctype html>
  17. <html>
  18. <head>
  19. <meta charset="utf-8">
  20. <title>MaxKey单点登录认证系统</title>
  21. <base href="/">
  22. <meta name="viewport" content="width=device-width, initial-scale=1">
  23. <meta http-equiv="x-ua-compatible" content="ie=edge">
  24. <title id="maxkey_title" name="description">MaxKey-业界领先的IAM身份管理和认证产品</title>
  25. <meta http-equiv="description" content="MaxKey Single Sign-On">
  26. <link rel="icon" type="image/x-icon" href="favicon.ico">
  27. <script src="./assets/transform.js"></script>
  28. <!-- Apple Touch Icon -->
  29. <!-- <link rel="apple-touch-icon" href="custom-icon.png"> -->
  30. <style type="text/css">
  31. .preloader {
  32. position: fixed;
  33. top: 0;
  34. left: 0;
  35. z-index: 9999;
  36. width: 100%;
  37. height: 100%;
  38. overflow: hidden;
  39. background: #49a9ee;
  40. transition: opacity .65s
  41. }
  42. .preloader-hidden-add {
  43. display: block;
  44. opacity: 1
  45. }
  46. .preloader-hidden-add-active {
  47. opacity: 0
  48. }
  49. .preloader-hidden {
  50. display: none
  51. }
  52. .cs-loader {
  53. position: absolute;
  54. top: 0;
  55. left: 0;
  56. width: 100%;
  57. height: 100%
  58. }
  59. .cs-loader-inner {
  60. position: absolute;
  61. top: 50%;
  62. width: 100%;
  63. color: #fff;
  64. text-align: center;
  65. transform: translateY(-50%)
  66. }
  67. .cs-loader-inner label {
  68. display: inline-block;
  69. font-size: 20px;
  70. opacity: 0
  71. }
  72. @keyframes lol {
  73. 0% {
  74. transform: translateX(-300px);
  75. opacity: 0
  76. }
  77. 33% {
  78. transform: translateX(0);
  79. opacity: 1
  80. }
  81. 66% {
  82. transform: translateX(0);
  83. opacity: 1
  84. }
  85. 100% {
  86. transform: translateX(300px);
  87. opacity: 0
  88. }
  89. }
  90. .cs-loader-inner label:nth-child(6) {
  91. animation: lol 3s infinite ease-in-out
  92. }
  93. .cs-loader-inner label:nth-child(5) {
  94. animation: lol 3s .1s infinite ease-in-out
  95. }
  96. .cs-loader-inner label:nth-child(4) {
  97. animation: lol 3s .2s infinite ease-in-out
  98. }
  99. .cs-loader-inner label:nth-child(3) {
  100. animation: lol 3s .3s infinite ease-in-out
  101. }
  102. .cs-loader-inner label:nth-child(2) {
  103. animation: lol 3s .4s infinite ease-in-out
  104. }
  105. .cs-loader-inner label:nth-child(1) {
  106. animation: lol 3s .5s infinite ease-in-out
  107. }
  108. </style>
  109. </head>
  110. <body>
  111. <app-root></app-root>
  112. <div class="preloader">
  113. <div class="cs-loader">
  114. <div class="cs-loader-inner">
  115. <label> ●</label>
  116. <label> ●</label>
  117. <label> ●</label>
  118. <label> ●</label>
  119. <label> ●</label>
  120. <label> ●</label>
  121. </div>
  122. </div>
  123. </div>
  124. </body>
  125. <!--attention http or https-->
  126. <!--企业微信
  127. <script src="http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js"></script>
  128. -->
  129. <!--钉钉-->
  130. <!---->
  131. <script src="http://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
  132. <script>
  133. var ddredirect_uri = "";
  134. var handleMessage = function (event) {
  135. var origin = event.origin;
  136. if (origin == "https://login.dingtalk.com") { //判断是否来自ddLogin扫码事件。
  137. var loginTmpCode = event.data;
  138. ddredirect_uri = ddredirect_uri + '&loginTmpCode=' + loginTmpCode;
  139. //获取到loginTmpCode后就可以在这里构造跳转链接进行跳转了
  140. window.top.location.href = ddredirect_uri;
  141. }
  142. };
  143. if (typeof window.addEventListener != 'undefined') {
  144. window.addEventListener('message', handleMessage, false);
  145. } else if (typeof window.attachEvent != 'undefined') {
  146. window.attachEvent('onmessage', handleMessage);
  147. }
  148. </script>
  149. <!--飞书-->
  150. <!--
  151. <script src="http://sf3-cn.feishucdn.com/obj/static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.1.js"></script>
  152. <script type="text/javascript">
  153. var fsredirectUri = "";
  154. var QRLoginObj;
  155. var handleMessage = function (event) {
  156. var origin = event.origin;
  157. // 使用 matchOrigin 方法来判断 message 是否来自飞书页面
  158. if (QRLoginObj && QRLoginObj.matchOrigin(origin)) {
  159. var loginTmpCode = event.data;
  160. // 在授权页面地址上拼接上参数 tmp_code,并跳转
  161. fsredirectUri = fsredirectUri + "&tmp_code=" + loginTmpCode;
  162. window.top.location.href = fsredirectUri;
  163. }
  164. };
  165. if (typeof window.addEventListener != 'undefined') {
  166. window.addEventListener('message', handleMessage, false);
  167. }
  168. else if (typeof window.attachEvent != 'undefined') {
  169. window.attachEvent('onmessage', handleMessage);
  170. }
  171. </script>
  172. -->
  173. </html>