| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 | 
							- <!--
 
-   ~Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
 
-   ~
 
-   ~Licensed under the Apache License, Version 2.0 (the "License");
 
-   ~you may not use this file except in compliance with the License.
 
-   ~You may obtain a copy of the License at
 
-   ~
 
-   ~    http://www.apache.org/licenses/LICENSE-2.0
 
-   ~
 
-   ~Unless required by applicable law or agreed to in writing, software
 
-   ~distributed under the License is distributed on an "AS IS" BASIS,
 
-   ~WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-   ~See the License for the specific language governing permissions and
 
-   ~limitations under the License.
 
- -->
 
- <!doctype html>
 
- <html>
 
- <head>
 
-   <meta charset="utf-8">
 
-   <title>MaxKey单点登录认证系统</title>
 
-   <base href="/">
 
-   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-   <meta http-equiv="x-ua-compatible" content="ie=edge">
 
-   <title id="maxkey_title" name="description">MaxKey-业界领先的IAM身份管理和认证产品</title>
 
-   <meta http-equiv="description" content="MaxKey Single Sign-On">
 
-   <link rel="icon" type="image/x-icon" href="favicon.ico">
 
-   <script src="./assets/transform.js"></script>
 
-   <script src="./assets/qrcode/qrcode.min.js"></script>
 
-   <!-- Apple Touch Icon -->
 
-   <!-- <link rel="apple-touch-icon" href="custom-icon.png"> -->
 
-   <style type="text/css">
 
-     .preloader {
 
-       position: fixed;
 
-       top: 0;
 
-       left: 0;
 
-       z-index: 9999;
 
-       width: 100%;
 
-       height: 100%;
 
-       overflow: hidden;
 
-       background: #49a9ee;
 
-       transition: opacity .65s
 
-     }
 
-     .preloader-hidden-add {
 
-       display: block;
 
-       opacity: 1
 
-     }
 
-     .preloader-hidden-add-active {
 
-       opacity: 0
 
-     }
 
-     .preloader-hidden {
 
-       display: none
 
-     }
 
-     .cs-loader {
 
-       position: absolute;
 
-       top: 0;
 
-       left: 0;
 
-       width: 100%;
 
-       height: 100%
 
-     }
 
-     .cs-loader-inner {
 
-       position: absolute;
 
-       top: 50%;
 
-       width: 100%;
 
-       color: #fff;
 
-       text-align: center;
 
-       transform: translateY(-50%)
 
-     }
 
-     .cs-loader-inner label {
 
-       display: inline-block;
 
-       font-size: 20px;
 
-       opacity: 0
 
-     }
 
-     @keyframes lol {
 
-       0% {
 
-         transform: translateX(-300px);
 
-         opacity: 0
 
-       }
 
-       33% {
 
-         transform: translateX(0);
 
-         opacity: 1
 
-       }
 
-       66% {
 
-         transform: translateX(0);
 
-         opacity: 1
 
-       }
 
-       100% {
 
-         transform: translateX(300px);
 
-         opacity: 0
 
-       }
 
-     }
 
-     .cs-loader-inner label:nth-child(6) {
 
-       animation: lol 3s infinite ease-in-out
 
-     }
 
-     .cs-loader-inner label:nth-child(5) {
 
-       animation: lol 3s .1s infinite ease-in-out
 
-     }
 
-     .cs-loader-inner label:nth-child(4) {
 
-       animation: lol 3s .2s infinite ease-in-out
 
-     }
 
-     .cs-loader-inner label:nth-child(3) {
 
-       animation: lol 3s .3s infinite ease-in-out
 
-     }
 
-     .cs-loader-inner label:nth-child(2) {
 
-       animation: lol 3s .4s infinite ease-in-out
 
-     }
 
-     .cs-loader-inner label:nth-child(1) {
 
-       animation: lol 3s .5s infinite ease-in-out
 
-     }
 
-   </style>
 
- </head>
 
- <body>
 
-   <app-root></app-root>
 
-   <div class="preloader">
 
-     <div class="cs-loader">
 
-       <div class="cs-loader-inner">
 
-         <label> ●</label>
 
-         <label> ●</label>
 
-         <label> ●</label>
 
-         <label> ●</label>
 
-         <label> ●</label>
 
-         <label> ●</label>
 
-       </div>
 
-     </div>
 
-   </div>
 
- </body>
 
- <!--attention http or https-->
 
- <!--企业微信-->
 
- <script src="http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js"></script>
 
- <!--钉钉-->
 
- <!---->
 
- <script src="http://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
 
- <script>
 
-   var ddredirect_uri = "";
 
-   var handleMessage = function (event) {
 
-     var origin = event.origin;
 
-     if (origin == "https://login.dingtalk.com") { //判断是否来自ddLogin扫码事件。
 
-       var loginTmpCode = event.data;
 
-       ddredirect_uri = ddredirect_uri + '&loginTmpCode=' + loginTmpCode;
 
-       //获取到loginTmpCode后就可以在这里构造跳转链接进行跳转了
 
-       window.top.location.href = ddredirect_uri;
 
-     }
 
-   };
 
-   if (typeof window.addEventListener != 'undefined') {
 
-     window.addEventListener('message', handleMessage, false);
 
-   } else if (typeof window.attachEvent != 'undefined') {
 
-     window.attachEvent('onmessage', handleMessage);
 
-   }
 
- </script>
 
- <!--飞书-->
 
- <script src="http://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js"></script>
 
- <script type="text/javascript">
 
-   var fsredirectUri = "";
 
-   var QRLoginObj;
 
-   var handleMessage = function (event) {
 
-     var origin = event.origin;
 
-     // 使用 matchOrigin 方法来判断 message 是否来自飞书页面
 
-     if (QRLoginObj && QRLoginObj.matchOrigin(origin)) {
 
-       var loginTmpCode = event.data;
 
-       // 在授权页面地址上拼接上参数 tmp_code,并跳转
 
-       fsredirectUri = fsredirectUri + "&tmp_code=" + loginTmpCode;
 
-       window.top.location.href = fsredirectUri;
 
-     }
 
-   };
 
-   if (typeof window.addEventListener != 'undefined') {
 
-     window.addEventListener('message', handleMessage, false);
 
-   }
 
-   else if (typeof window.attachEvent != 'undefined') {
 
-     window.attachEvent('onmessage', handleMessage);
 
-   }
 
- </script>
 
- </html>
 
 
  |