<!DOCTYPE html><html >
<head>
    <title>Login - 西安明德理工学院</title>
    <meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><link rel="icon" href="/cas/file/ico/webFavicon.ico" type="image/x-icon"/><script type="text/javascript" >
    // var hmSiteId = "d605d8df6bf5ca8a54fe078683196518";
    var hmSiteId = "d605d8df6bf5ca8a54fe078683196518";
    if (hmSiteId) {
      var _hmt = _hmt || [];
      (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?"+hmSiteId;
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(hm, s);
      })();
    }
    </script>

    <script type="text/javascript" src="/cas/webjars/jquery/3.6.0/jquery.min.js"></script>

  <script src="/cas/deps/js/babel.min.js"></script>
  <script src="/cas/deps/js/babel.polyfill.js"></script>
  <script src="/cas/deps/js/vue/dist/vue.min.js"></script>

  <script src="/cas/deps/js/vant/vant.min.js"></script>

  <script src="/cas/deps/js/sw-ui/lib/index.js"></script>

    <link rel="stylesheet" type="text/css" href="/cas/deps/js/sw-ui/lib/theme-chalk/index.css"><link rel="stylesheet" type="text/css" href="/cas/schemes/409EFF/index.css"><script src='/cas/deps/js/jsencrypt/3.0.0-rc.1/jsencrypt.min.js' type="text/javascript"></script>

<script type="text/javascript">
  var encryptEnabled = true;

  var encrypt = new JSEncrypt();
  
  var url = "\/cas\/jwt\/publicKey";
  $.get(url, function(publicKey){
    // console.log(publicKey);
    encrypt.setPublicKey(publicKey);
  });
  </script>

<link rel="stylesheet" type="text/css" href="/cas/themes/classic/css/mystyle.css"></head>

<body>


<main role="main">
    <div id="content">

<div id="vue_main" style="display:none;">
  <div style="display:none;">
    <el-button id="showErrorMessageUsername" :plain="true" @click="showErrorMessageUsername">打开消息提示</el-button>
    <el-button id="showErrorMessagePassword" :plain="true" @click="showErrorMessagePassword">打开消息提示</el-button>

    <el-button id="showErrorMessageCaptcha" :plain="true" @click="showErrorMessageCaptcha">打开消息提示</el-button>

    <el-button id="showErrorMessageMobile" :plain="true" @click="showErrorMessageMobile">打开消息提示</el-button>
    <el-button id="showErrorMessageDynamicCode" :plain="true" @click="showErrorMessageDynamicCode">打开消息提示</el-button>

    <el-button id="showSuccessMessageSendCode" :plain="true" @click="showSuccessMessageSendCode">打开消息提示</el-button>
    <el-button id="showFailureMessageSendCode" :plain="true" @click="showFailureMessageSendCode">打开消息提示</el-button>

    <el-button id="showGuardDialog" :plain="true" @click="showGuardDialog">打开消息提示</el-button>
  </div>

  <div>

  <sw-dialog
    title="公告"
    width="500px"
    :visible.sync="dialogVisible"
    :before-close="handleClose"></sw-dialog>
  
  <div class="sw-login" 
    style="display: flex; align-items: center; justify-content: center; height: 100vh; width: 100%; min-width: 1024px; position: relative; background:url(/cas/themes/template/images/bg.pic) repeat;">
	
	 <el-carousel @change="changeCarousel" :interval="5000" indicator-position="none" arrow="never" style="position: absolute; width: 100%; height: 100%;" height="100vh">
        <el-carousel-item v-for="item in bg" :key="item">
          <div :style="'background:url('+item+') no-repeat right;background-size:cover;'"  style="height: 100vh;"></div>
        </el-carousel-item>
      </el-carousel>
	  
    <el-container  style="min-width: 1024px; position: relative; height: 100vh;width: 100%; margin: 0px;">

      <div style="position: absolute;width: 100%;height: 100vh;z-index:5; left: 0;">
        <div class="sw-login-logo-container">
          <img src="/cas/file/png/logo.png"><!-- <img th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/themes/classic/images/school_logo.png'}"> --><div class="bar"></div>
          <div 
            style="color: #fff;">统一身份认证</div>
        </div>

		<div
          style="
            position: absolute;
            bottom: 0px;
            left: 0px;
            width: 100%;
            height: 90px;
            background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 0%,rgba(0,0,0,0) 31%,rgba(0,0,0,0.6) 100%);
          "
        >

          <div 
			class="footerInfo"
            style="
              position: absolute;
              bottom: 15px;
              left: 50px;
              color:#fff;
              display: flex;
              align-items: center;
            "
          >网络信息化中心：029-85603015 邮箱：wlxxhzx@mdit.edu.cn | 西安明德理工学院版权所有◎ 2022 - 2025 | 提高保密意识，强化保密观念。</div>

        </div>
		
		

       <div class="auth_login_content">
			<div class="sw-login-main">
	
	          <!--  <div class="tips">
	            <a href="#" th:if="${helpActiveAccountUrl!=''}" th:href="${helpActiveAccountUrl}" target="_blank" style="text-decoration-line: none; display: inline-block;color:#333333;font-size: 12px;"><span><i class="su-icon-bulb"></i> 账号激活攻略</span></a>
	            <span th:if="${helpActiveAccountUrl!=''}" style="margin: 0 20px;color:#B4B4B4">|</span>
	
	            <a href="#" th:if="${helpForgotPasswordUrl!=''}" th:href="${helpForgotPasswordUrl}" target="_blank" style="text-decoration-line: none; display: inline-block;color:#333333;font-size: 12px;"><span><i class="su-icon-authguanli"></i> 密码找回攻略</span></a>
	            <span th:if="${helpForgotPasswordUrl!=''}" style="margin: 0 20px;color:#B4B4B4">|</span>
	
	            <span style="display: flex;align-items: center;">
	              <span style="margin-right: 10px;">浏览器支持:</span>
	              <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="./assets/img/chrome-icon.png" th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/icon/chrome-icon.png'}" />
	              <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="./assets/img/firefox-icon.png" th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/icon/firefox-icon.png'}" />
	              <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="./assets/img/ie-icon.png" th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/icon/ie-icon.png'}" />
	              <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="./assets/img/360-icon.png" th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/icon/360-icon.png'}" />
	              <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="./assets/img/sogou-icon.png" th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/icon/sogou-icon.png'}" />
	            </span>
	          </div>  --><!-- <div class="sw-login-main-blur" style="max-height: 1080px;min-height: 660px;" :style="'background-image:url('+bg[currentImage]+');'"></div> --><div class="sw-login-main-content">
	
	            <div class="qrcode-button" style="z-index: 999;" @click="openOrCloseQrCode" 
	                @mouseover="qrcodeHover=true" 
	                @mouseleave="qrcodeHover=false" 
	                :style="'border-image:url('+ (isQrcode?qrcodeImage.normal:qrcodeImage.qrcode) +')'">
	              <!--  <div class="qrcode-button-cover" v-if="qrcodeHover"></div> --></div>
	
	            <div v-show="!isQrcode">
	              <div class="card">

            <el-menu @select="changeMenu" :default-active="currentMenu"  class="sw-login-menu" 
              background-color="#ffffff00" text-color="#666" active-text-color="#409EFF" 
              mode="horizontal">
              <el-menu-item index="1">账号登录</el-menu-item>
              <el-menu-item index="2">动态码登录</el-menu-item>
            </el-menu>

            <div v-show="currentMenu==1">

              <el-form method="post" id="fm1Input" action="login">
              
                <div class="el-form-item el-form-item--small">
                  <div class="el-form-item__content">
                    <div class="sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular">
                      
                            <div>

                            <div>
                                <input class="form-control required el-input__inner"
                                       placeholder="请输入学工账号/安全邮箱/安全手机" title="请输入学工账号/安全邮箱/安全手机" id="username"
                                       size="25"
                                       tabindex="1"
                                       type="text"
                                       accesskey="u"
                                       autocomplete="off" name="username" value=""/></div>

                            </div>
                      
                      <span class="el-input__prefix"><i class="su-input-icon black su-input-icon-prefix el-input__icon su-icon-people"></i></span>
                    </div>
                  </div>
                </div>

                <div class="el-form-item el-form-item--small">
                  <div class="el-form-item__content">
                    <div class="sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular">

                            <div>
                                <input class="form-control required el-input__inner"
                                       placeholder="Enter your Password" title="Enter your Password" type="password"
                                       id="password"
                                       size="25"
                                       tabindex="2"
                                       accesskey="p"
                                       autocomplete="off" name="password" value=""/></div>

                      <span class="el-input__prefix"><i class="su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock"></i></span>
                      <span class="el-input__suffix"><span class="el-input__suffix-inner" style="display: inline-block;"><i class="el-input__icon su-icon-hide el-input__clear" style="line-height: 32px;" onclick="javascript: togglePassword(this);"></i></span></span>
                    </div>
                  </div>
                </div>

                <el-form-item style="padding:0 30px">
                  <el-checkbox style="float: right;" name="rememberMe" id="rememberMe" label="true">Remember Me</el-checkbox>
                </el-form-item>
                
                <el-form-item>
                        <input class="el-button el-button--primary el-button--medium is-round"
                               name="button"
                               accesskey="l"
                               tabindex="6"
                               type="button"
                               value="LOGIN"
                               
                               style="width: 100%"
                        /></el-form-item>

                <el-form-item style="text-align: center">

                <div style="display: flex;justify-content: space-between;align-items: center;">
                  <el-popover placement="left"
                      width="200"
                      trigger="hover"
                      >
                    <img src='/cas/qr/generator.png?superappDownloadUrl=http://qrcode.dice.supwisdom.com/79847192772&amp;iconUrl=/cas/file/png/iconImageUrl' width="200" height="200"><!-- 须替换图片 --><!-- /*<img th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/themes/template/images/download-qr.png'}" width="200" height="200">*/ --><span slot="reference" style="display: flex;align-items: center;">
                        <i class="su-icon-qrcode" style="font-size: 20px; color: #0E6EB8; margin-right: 5px;"></i>
                        <el-button type="text" style="font-size: 14px; font-weight: 400; display: flex;align-items: center;">下载 APP</el-button>
                      </span>
                  </el-popover>
                  <a href="/cas/personal/forgotYourPassword?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D" target="_blank">
                    <el-button type="text" style="font-size: 14px; font-weight: 400;">Forgot your password?</el-button>
                  </a>
                  <a href="/cas/personal/activeYourAccount?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D" target="_blank">
                    <el-button type="text" style="font-size: 14px; font-weight: 400;">Active your account</el-button>
                  </a>
                </div>

                </el-form-item>

                <script type="text/javascript">
  $( document ).ready(function() {
    var currentMenu = null;
    if (currentMenu == "1") {
      var containerFormInput = $("#fm1Input");
      var containerForm = $("#fm1");
      var originalUsername = null;
      if (originalUsername == null) {
        originalUsername = null;
      }
      var hasErrors = false;
      var errors = [];

      console.log("trigger processLoginError");
      processLoginError(containerFormInput, containerForm, originalUsername, hasErrors, errors);
    }
  });
  </script>

              </el-form>

              <el-form style="width:0; height:0; border:0; margin: 0; padding: 0;" method="post" id="fm1" action="login">
                        <input type="hidden" name="username" value="" autocomplete="new-username"/><input type="hidden" name="password" value="" autocomplete="new-password"/><input type="hidden" name="captcha" value="" autocomplete="new-captcha"/><input type="hidden" name="mfaState" value=""/><input type="hidden" name="currentMenu" value="1"/><input type="hidden" name="failN" value="-1"/><input type="hidden" name="execution" value="6d0057b2-ff68-4ce3-b302-229e1f34114e_ZXlKaGJHY2lPaUpJVXpVeE1pSjkuaStYMlBKKzlWa2VWOTg2MGlqNUF6bDdqR0xYdVNIU0kyMU5mV1Y1UTFXWGhSSzEyV2ZDMm10TDZvWHM4d3NjR1Bobm52L3JSZTVnNEQvOGxsa25aT3hQb2VaOW43VHBYNFBGbnd5aGpLc3RKeGtGZHkvdDRUYy82aGRnZDJlZlVtK1JpN3p0MTFLNVJMOE1UeWpPQnZiOGQ0MFc5blNBTGQ5WjVlQTFCYzdXem1pK0xtcHVyWXRUblI5UjBUeFkrTm0xNHRIc0VtUUMwU1VwQWE3dlAvb1BZTnpEOWVvdllxMElDNGUxWTBsa0VLOXJpT214TVFiWkZ0d0EzWnh1UVZuTkllVjY5WjVRSVlyMEd6QnBhaE0vSmxhbkkvR0RPUkVuN29sMmNud0Q4dExGbGJTV043aFZTaHk1a29jbmZKQjdmYTZrYUdoTjFUVFNVSVB0aGN5U3NKQ0pFOXVsMHpTd2xGdjAxWDFQbW1PNWoxTzBHWlpXMUhBTTY0MHhHYmZ2NHJCNlRzbkpqZG5DQysraktud0NHdU91Y2JyV29zSEJrbmxzS2hId25wVC9VY1AzelhMUmpYaXk3UW12ODcweDRXak9tdkEwYlZEaUxwNW5yNWZOTVdnSjNaSUc3ZVZiWmZHdHc0NU05alFQT1dPZnlBMzQzMENyeVlBMjNwaXRYZFpVRlJDZkNoK2cvVkd1ME9MeFE3MDUyY0EzdWZUaWhwelF0VkRaVmt6VitCK2kzMTc5Q0hzSWkxVEpCQmxERW00azRrVTJFMHRZZVNpL0NhSXlUVWJYZklLQTQrbEJvM3hDYlVrUmFtdElOWlk0OUMrRUNJaXhBQVRZZ29GRitXb1g1MGQ0MG1ab1ZJOGZnczRwOTlBT2VuOFFldGFWcUVoOUw2cXpYQjY3Z3BrRTFldDg0cFplK0hCV2c2TGNWTWYrd3Z5bkYvakZOQUR6RzgzUGloUmN3VDEzQ1N1ai8rNzhXSEUrZGZuaXkrYmIzZDBsV0p1T1ZGT1JHSDk2eW5NOVJUTjBmdmFBcWFHaFNIaVRFdHRkS05NekFuWmo4ZHFqQVc5eklwS242ekJCdEZJeHJmNE1FajRZRG52K1RPaVFoVm5BSTFkaGtjVXIxdHNPMDg2WkRmTTNNejF4SEJEQVd1SWhhaHY1Y2p4aUh1MEQ5WUxWbHE3akVYMDhvaXlKc3ppcmtqZVFhZnovVkFxVnhRZWF4aE5jN0h5SnJUTmNOQkhyL2lreUJIQnN5RFVCOVUzT3VSU2tDQm9SdFI0RThCbkJJQVpSNnlQZjlVUUw0R2UycWJ3QlRoQW1XMG9zNVNRNjNZKzRncGl5dlRjVDZnd2xQK0wyb3lBbkVROVRVWllQOS9OYUZWVHNQVXZrQXB0WFBaa0pRMFFsMnhjNGhuWVcxYXh1RTNleFRoYXB6ajgzRXVSVTlKUG1UM3BWb2Y1WWgyTHRrdENxWWh0UlZjS21lSmZKVzEyaTdoSGpRaDJVcTN0MnVKb3F3UFhpVWdSaGZmZWYxc2MrdFk0eWttOVBZTXpLMUszRHlnNHo4SXpDK05TT2RxNW1oeTBFeGp6cit2N0RmN2FOZm11TzFidEVEYjRBL1FOMkJYOS84UmpXb2ErUnltMk1TT0ExRWVZUjBMNjlOTy9JWUU4MHNIQmgxMFBMM2RlYVhzRERzTUh2RDJPUS9GQXRsdm5pRVdOVWg1Vmp1R2FWK0lSNzBRNGQ1V1RsNGlYcExuQzlBM2d4ekcvSGh0NGdITERPNUNWOVNiNTlFbTcyYy9nNmNhSVNvNFRjczdpV2djWndZbmF5WWk2RTJmSm9Ha1lzZ0RQbjJYYTBUcHdMMmhWc3NxYVh5YnM5YWV1VE9vMG1kRmIzOUdPQ3RZZy9hUllwUzcrODMrS0M4VkorZmw4eVR4WFY3T3JselJXcEhWMEdDTDg2Z2RoRGY1TVhZaUNzNitoTEo0UERXZ3Q0NkR0WlJvVUpWam5jS1RwWElYSjZMcEhmL251TWtqeEV1ZWxOZ3h2aTVQbE95STlnT09vbUlPTlFIZGkrRHI5VUF2ZGZmQnliaVk1NkI1OG9ESTY0bHlyU1haN3hjMUh3WnRyblZMNXJSNVlzMWQvTnU1NG5qS2pDalJWaUNZSXBzWlZPMnNoRUdSRTRFYTh0Y3UzTXpNRjJQdTV6eVBtQlErbUZPQzVpbG9mbUVDL1liYk8vN1U5NThKdWMvWXlqTEZWSDlsNk9SSlFYRHRVMUFvL2gxeEp3VmtQOEdaR1JoMXlsWElpdjAxVFpUaTFFYnB4Z0tWKzJjcmMyWktWN3pZVkVjVlJpRFovV1Y1RW1lMFMwV09MRlpLTG1MQ2MrMFFOclBXZFJqMDUyUWh2bGE3cXRJR1liZjlWMWlPY0hoamc2bXJrK2lyaTA1Z0s0djdLKzQvWFdTazg4REpjaUpydVEzMTVNZGxVMElleDNEMXVZaE9UYVlPZmNiNGt1RWk3Slo3QTB3VkpSaHBTU1hBZ3ZneHhBL2xrMVZIczIzWVBCdk9LWkpxMU40MS9LWVZCWFNxbjQ0QUVrRkJmVmhHYWE2bFJRRmFQTWRHcjd3dzM1ZVRucmRuNFUydUwyeGszOUdONHM0MTB0Q1p5RXpraEM1VTBveTdDWGFlUkVOZkJ0U0JuVWViUTJ2TWVYdDAvVGgzeFVPUHVKUFNoWDcyQWxtSXZPVm1sZ1pNSm9MeE1xOVRtcmxGRVBBeXI3VjZlcHVHZ2d4VjJEcmRmb1dvR25vMUpSNHJSeXMySUFlQXVBUWlUbzdxaVo2N3lQQmgxTEFFTnRBTlppTHpTSnczTStSbTZzTnAxNlgwYUxQT2k2c0lkS3l4TmF0anNtT1VOQTZvdWxUczl4Yi9UVUxLaTRZd1E1VEdYYzhxZnVmTS82VEF3ZkVzS1NLNE1TMHRkRVZxc1dpTktOa1g3dk41ZCttdmlOckJRVkZRUmpTbWU5d01XREVMV3E1SXE4QTN5c0l3QjVESk5HN0dMUjQ2Um1wZDFBV2VBMm9KZVhTeFk3MXdpK1djdjFwb3R0UFpOdnRFVytwUTNYRFp5Yk9zS0lBblBFMnU4ZWpvaWNkem5ibXJEbkxaNTFWYW0xUFpoaXhkM2YwYm04YU5pMk5iUjExOGZxQ25XM0ZZOVZLaUdqMk84NWhpOWVqVTVKR29xTEw5ZEwrMlZCd2M1M3pXWHBqb1daOGQxWmFUcXljaWtEemtha3RYVStCN2wyMXF3QVVhSDdMcW14R0xpeFN4enRPUUJ2WmNKdmlaLzJrVWd6UzJOZmQrd1lGK1lvb1RzZWFXMWtRSE9GLytObW1BOFk4TXhxNnI3S0M4YWs5UHFtU3FUNEpXQ25tdlVkcUtON25vbUE1amVGOXNHYVdxK01XNWZLNDU2eHV4bXJId1JHcWl5a3FzZ3BDYTdGbEQ3em1aVmx4WFpqVU50bElmNGRHTEQ3V1dRUXNGSWt2YWZabUhCREFZYyt3bGdMblJiWGg0N2xxYmx3VERsVXdSOTVsSk1XNjlsWk8reVkrK2UyQWttQWhmZko5a3RHT2R2dFAzejEyclhWNGNsNlZ2cE5zelVEbU13ZzkzQjRuV1RRejZaSnF1dVJiNWNsL1RWSUVURTBFQSt5cWZEVGpwOTM1MXdRdHcrOHpiVUxTaXBZZ2Q2bXRmUDUxNUlEaFlSTTdSRG9CamF6Q3ZDUzFZY003azR4NWpEU3ZUS0V3a0tLVElqTzdkQ1dTOHhQK1VSNlJqRjg0MURIWDFYUWJyQ21HVDJYd3pkZlpya0kvR3BxN0FYdUJFcEhZSVpxWi9IUG9RV2F2Q3huSUhVeGw3aEFIODg5NXRnYWZjN0o1N05vVzV0R2xJOEora2xnRy9PckV5NWRrZHluRXM5OXZtSFYrZWsxME9IOEI3SjRIZnQ1THpFMVlHa1Nqb1llZG4wczhMSUplRDhDSE9OTXJ1QkpmUnNRcWlGS0FyK1dLeE5vdGpPNTN3QTFYNVVGd1N3bEJwZVFmMVFSc1hTdlhBb3pBM0FaMm1WTUxGb1BMMDB1b1czem1rdTZjRWYxNHpBMmFDRkVpYmpoUUYrWFFiUk9IVUFKazRuajBHZjZDdE85V3NlT05iaHJwdzlBYmhEbXVVTTVhK2J6QmRSZHpFMUI2cHVVT0tSVm0zYUNTazNNVitCVWZ1cG5EanVsemdqMXV4aE5mWTc2WFY3ZElyOEFZZWJTOXdVbW12UVhlb0dGdUdOb0FkYjlpQVBxdlIzVVh6b2NTMzNrMDBQeEM1NFo2UlJwQ0VyZlhpYmhjZXphL0wvc2ZveURpNzlnVkhhR0xEMU5wYmlQU01LbVJ0Nnhib3ZZazFyY1gxVGs3Y0dNNmptbW11NFZ3NEF2NEpab3JuTXZzbDNpWXVyOFVNZ2FpVUx5cnpmTGQvd0VCK0IydzRCWUY3TUNKLy90MWR4U0ZCaGx3QUwycjNyVGpOR1BhSVkzdkM3eUJBNThZWmxXTnB4NjRuOENiMUtEUEg3clhiR1RQQ0U0QnhpeXhhL2tYU2pmSEdTZU5LWHhjbnRyNnB4OElMU1dmdmZYSXlBKytiR2xRNGZLWURCQmUyN3JuTjREcGZkYnpiT0lqRDBjL2t2U3I2cDNkekh3emppQTBJVWRXRDg5Si9NZEJYazBzNW1rbXZSMVFsNy9qY042b3N2MENob2djbTVuckp4TllBRHhKcWRhcjJ0SUEyeXJUcEtvc2p6anY1UkEzWTlVSzM3UHhQUzlwK2tXL1pJa25NbUthV0dlclh1T01RSGJFaWs5UTRqTzdLT3RlNklnMjZDVVhrN3lTYmVDejhwS0pXcjRuakFDcVB2SWRMMUZYVjRuQzh6Z1lCNlJGWGx1V1NYYkdhS0pQMnBzL3pLc3JQSkpUZERYcFFMdXV3bmtKSVlFT3JPVThpS1hwYzk0Vy9iaTJZK0lacEdxQlhRMnBMTHNZbmtEN052Ym96WlR4RE9Td3B4QXZ4WW9CWE1ENFNMbHh0R2hSOXJrekxwSHF5Rzk2S0JFTlB2NjZrV3hBVDh1cjZZMFMzUWkwVDNCanZ5akh1Q3pwbHRPU244elRiUXFNUktaTGVjZml1K2R5TjNpQmM5dGpRRkp5ZWVVSDIvR2UydG04cTU4K0ZiNGwvQXVtL0pZWTlueW9TQzh6N1MxazBwOWtxLzMrZ0pnd1J0UDRLWElmd1g3Q09SU2dtMFh1K0JQUktQL0EzVmZoYWltQkR1RVNNeDJhQ3FlVTZ5UThhNFFsRHpXSFNJYXBHVU95L0dVY3ZqOG50eUJlR3ZLb0NqcmNTdjVNZ240Q211eksvaTZYbDB5R09DSlJ1WmFWc1JhSnNHNlpKWnBYWXFvN3I2UDBlRkxQaE0wZWhXZ1hmWFIzd1BhT2R2Q0FqVVV0UERrc2hOM2dnb0NqUGxHWnE5TTlRMWdaK2UzOUE2eFhXOHVOaUNsMWlaWkxzN2NRVFEvV3hvWGl6YzJlZFBhVVpJZ0xoSXBVdFZtSHI0WUYrRW1rdFFDUmkyWDJmYUYxbGxVaU1GQWVVcGhWeTA2M045L1RrRnE4WGlhVXdaWGxvRjJjZkF4NWZBRWp2a2dtZ0d6Z0ptSDNZYlhhajBHZ0lheG9rOVJJcnZ0ZFlXU1p2MWcrT2NvRXNsTHRzNnpaMjRyUFB1TDFqTUMrQTc4Y2ovandpSWYwOGVmWndVbXNiVldISzBZMXpoYjlZL0xOeWpFci9ac3RNb095TFZrYys4dzUrL3oxRXRIb2lXSE4vVmxxK3g5MGUrUDZwVEZSdUs3YlRNZVlXaUJ6UkdPYVo4clRFbXJnbnRTcnJPZ1ZvUklLM3ZEWEhKSHRyL3VsMmdFcUREMys3SUpxR0NLamY0S1BSZ3pETHE2S1lHYVdHL3I1VlIrbnRSQVRmTzNtL24yamszSjZzdDhGbXQ1R3k1UjVhbksvcVc0QW1BQnJJbVRnTTdrTnhHM0cwMUdnbk9WeW9KZG43UzFZYWFjVFozK3pVcE1iWUdGUXJZN1lHSWVoWTBWVGdoUUZRVWpxNThyemljbEgva2dOVlZyR2dDVDFsck9VSFdvMkxTKzMxaDJEL05PZzd6Ym92Q0xvNnB2MWo1MkRBM05tSGtMcFFYUEVOR3haSDFrSXpiZDJGMDBTaTh1QURWNkRRMVVrWS9tS0VVTEgreklQc3hKZmRNb3NWZzViYUdZR1AvaG1NTnZTVFVsd0VTbnpZRG95VU5rVzRoaHJVdWpleXQxK1pHUmc3VitrQXdKUFB5QVlWUldNK0lUMkl2Ri9VT3J2Z3FqaTZZY1JBQ0RhUFVlMHQ1dU9MUVNMSHpsdVNJVzExUHVDWkFHTk5LcGUvRVhUZW5LN0hSaS9rVE1TeTNsL25UaGRyY01yckI4Z3FhdmNGWXdQQlJlVmhnYlFqbCtSQW05NG9Ic29zUmNRS0N1MUVqeFlIVy90Rk02NFdiTnhJcUwydFpiMEM0QjY5Zm9Dbmd3OVhLVkJlSERVNGl2RzVCdXpWSEgwOHhZQTBSVWFlb3Y2d3pXSEtCOTREQlN3ZitKL2F4RDZsQS9WUWoyTm5nTko3emhEQUpIMVdmbUNwdTNWQnJPZnllaVNWcVVYUEUrSitaL0VsOUVqdDlyRkpWVUVLWVRDcHNyVGVxbjF5Y1dvK3N1YTk4VSsxTTVEQWFEZzA5ZU1hUW5RczhyN2dXamVGL3RJSzRTSzM4RHIwdE1hM0VSejhBZ0xYQys1OGlpRFpsOEJVQW5EbkgrMXRreGdoem1hTnFwYlFBaEhxcDJsaTBOZ2VUcHdUQXh1bFpPMGVGS3Znekx6b1NBZGJQT1BmTVhLTytsQ3B4SGJWYVMwVnU0WmJ3YW05MGdscEwzcUhuZitFdjJpNHNHeHZIU3o0ZnFMK0MwdXc5UmVadXQyVlVLM0ZONTBqSlI4aUFobWZoWDJmWmNTUFA3UnZDTlhtckpLTVhGb2VqMEQ3QWpRZG9qSVd3TDcxR0x5eVMzWEVkNkRYNlQyaU1IeTZsVjRFUzhGVEY3dkhyME5MNnBud2JwaDFDN1JEREN5d1JTZW1mYUVCUUE1dU1FWFowcW9GUVd2NERSMlVhN3hqOUZpaGl6S2dJQ0tobGlCemh2NGZTQkwvZkFxcndKaW51QVZSUkh0dFowRmpmTGQ1Ym45OUEyWE5qeVo1cElXYmhXT3pSYWZ5T3BMVGFRL21kd204d1N3cUw0Y2lDdHhmV0NZRU95YTJ4RmtxcEFrY3lUQllKNitmSWpGekNibGFWNC90T0JuQWNubzB2ZUNXUHV0SnBYaThza2VGeEljNWQrUU9RS1JqVDhRdzF1N00vZVFqdzVRcEk5VXZKNjl1a1czYkk4ZVM5azVCSGpaRVFEZXJCci80aXVvKzFNUHA5SkVrNTVacEhhVzB4dlBycDhacUsySHFqUEU1b3FhMjU4NXRQSTVLc3RIeVpmazQ3aFhFc2xvcVdtOGloODM1dzVaeHR6VS91WW1tZDgvSlNsRUVjRHJ0L0thV2dsRVJYYlJ5bFpKMU1Nc2dTZzcrQ1gwK0pkd3gvZnFFMkZuSksveVB5aVliWVczSGYwblpMalJCMGVRdDRUc2JmVnhDYmJwVGFFa0VxcVc1M1BlWW1xTnFsVG42N0wvWWhQNU1TNVJkY25rRDdPOVF0VDdCZ1phYTIrcVdCMThhREdKNUpEbURRc0N4MDZtNDRiUjd1ZmFDbngzNFRsMmxrdTlackdzL29zSXpCeFEvVWowUkNXQnJrUVI2aHMrUjBDb0NGdy9FbTJVamtrNlFEOUwxMXBJVDZmcmtOUmVHQTBNZkRLNUFUQ1IrRSs5NkRLTkpWQVM2WFZWdE5zMlRhbVdudmNDcXZ4Y0laUWo3VmpsRmtKcHhQekhVU3BCdDBVY3NwUUlNN2pnZlFLMHFWM3pvQUw2eFlHNVNFc2ZGSCtpdnNkRzF2Qk9QZVB1N2s1T2liV3BBd2ZKRE9tRG1YM3ZqZHliYThGZ0FOSDVxUExjU3pWWEpEVDJ4TnZ4eWEvdk5uVm1PcjZRTUhPUTFLRllNZnVDak14cFhvK1BJaHB1S3VkYkhmZThhZnJYRUVpK056T1ZjT1FxWlh4NFEwZGFCcWxuRk5TQ21oemZtWDJDaStLNnlIR3lwcHlyUzYvdm8yR0VVQ1JIWk9nNS94c1o5cUkzZlYybWM3NWtOQUpmaTdtUnVIa2JJVmtzOVhzS2pNZkF1S0VpbndueXdhQ0Y4L0hMV05oZ1NDT1RTYWpXRTNJNTVpMTJ4SC83UW03TTVnZ2M2WmtuWFYyRkhJR0lReE1hNG9hYTZwN20rSkt1cGhTVEFMR085dURNaE80K3lxVWY2VXVEM05iRXRSV0paSTJ1MkdTNkhhNWlWS09zbEJuTC9zOFh1dExDcnUzWUlieGdNSzZOV0pUd2ZwUDAxM3ZicjFwNWlxd2JtYXg4cTl4bTZkVW41OFJIaFhxNmMweEk3Vzl2UHJOTXJNSmVQdTBSbHdMaXQ4blBUVnBtRE85cHNYWDRveXNKV2F2L2F3M1k5ME1LUm1jaW5ueWFwTHRzckVqb2tYZ2o1WkJsWDBJN3FzbHZVZC93YU54TTQzRWNGMDdJMnhnUDJ3MktUaENMLlJpYnFlWFI1eXJjck45NGJoN081UUNNTGg3VmY5Z1dUQmNabFBIRXAwWUFRMklST0FEU2JqX0xySjktaDBUSFI0OERHdmkzaUwyQkRLeGFNSWdER2Jn"/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/><input type="hidden" name="fpVisitorId"/><input 
                               name="submit"
                               type="submit"
                               value="Login1"
                               style="display:none; width: 100%"
                        /></el-form>

            </div>
            
            <div v-show="currentMenu==2">

              <el-form method="post" id="fm2Input" action="login">

                <div class="el-form-item el-form-item--small">
                  <div class="el-form-item__content">
                    <div class="sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular">

                            <div>
                                <input class="form-control required el-input__inner"
                                       placeholder="Enter your Mobile" title="Enter your Mobile" id="mobile"
                                       size="25"
                                       tabindex="1"
                                       type="text"
                                       accesskey="m"
                                       autocomplete="new-username"/></div>

                      <span class="el-input__prefix"><i class="su-input-icon black su-input-icon-prefix el-input__icon su-icon-people"></i></span>
                    </div>
                  </div>
                </div>

                <div class="el-form-item el-form-item--small">
                  <div class="el-form-item__content">
                    <div class="sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular">

                                <input class="form-control required el-input__inner"
                                       placeholder="Enter the Dynamic Code" title="Enter the Dynamic Code" type="text"
                                       id="dynamiccode"
                                       size="25"
                                       tabindex="2"
                                       accesskey="d"
                                       autocomplete="new-password"/><span class="el-input__prefix"><i class="su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode"></i></span>
                      <!-- <span class="el-input__suffix" style="right: 100px;"><span class="el-input__suffix-inner" style="display: inline-block;"><i class="el-input__icon su-icon-hide el-input__clear" style="line-height: 32px;" onclick="javascript: togglePassword(this);"></i></span></span> --><div class="el-input-group__append">
                        <button type="button" class="el-button el-button--default el-button--small" onclick="javascript:sendToken(this);"><span>Send</span></button>
                      </div>

                    </div>
                  </div>
                </div>

<!-- /*
                <div class="el-form-item el-form-item--small" th:if="${casServerCaptchaEnabled}">
                  <div class="el-form-item__content">
                    <div class="sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular">

                            <div>
                                <input class="form-control required el-input__inner"
                                       placeholder="请输入图片验证码" th:placeholder="#{screen.welcome.label.captcha.placeholder}"
                                       title="请输入图片验证码" th:title="#{screen.welcome.label.captcha.placeholder}"
                                       type="text"
                                       id="captcha"
                                       name="captcha"
                                       tabindex="3"
                                       style="width: 75%; display: inline-block;"
                                       th:accesskey="#{screen.welcome.label.captcha.accesskey}"
                                       autocomplete="new-captcha"/>
                                <img th:src="@{/captcha.jpg}" 
                                     id="captcha_img" 
                                     style="width: 20%; height: 38px; display: inline-block; float: right;"
                                     onclick="javascript:refreshCaptcha(this);" 
                                     title="看不清，换一张！" th:title="#{screen.welcome.label.captcha.refresh}"/>
                            </div>

                      <span class="el-input__prefix"><i class="su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode"></i></span>
                    </div>
                  </div>
                </div>
*/ --><el-form-item>
                        <input class="el-button el-button--primary el-button--medium is-round"
                               name="button"
                               accesskey="l"
                               tabindex="6"
                               type="button"
                               value="LOGIN"
                               
                               style="width: 100%"
                        /></el-form-item>

                <el-form-item style="text-align: center">

                <div style="display: flex;justify-content: space-between;align-items: center;">
                  <el-popover placement="left"
                      width="200"
                      trigger="hover"
                      >
                    <img src='/cas/qr/generator.png?superappDownloadUrl=http://qrcode.dice.supwisdom.com/79847192772&amp;iconUrl=/cas/file/png/iconImageUrl' width="200" height="200"><!-- 须替换图片 --><!-- /*<img th:src="@{${cdnServerUrl==null?'':cdnServerUrl}+'/themes/template/images/download-qr.png'}" width="200" height="200">*/ --><span slot="reference" style="display: flex;align-items: center;">
                        <i class="su-icon-qrcode" style="font-size: 20px; color: #0E6EB8; margin-right: 5px;"></i>
                        <el-button type="text" style="font-size: 14px; font-weight: 400; display: flex;align-items: center;">下载 APP</el-button>
                      </span>
                  </el-popover>
                  <a href="/cas/personal/forgotYourPassword?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D" target="_blank">
                    <el-button type="text" style="font-size: 14px; font-weight: 400;">Forgot your password?</el-button>
                  </a>
                  <a href="/cas/personal/activeYourAccount?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D" target="_blank">
                    <el-button type="text" style="font-size: 14px; font-weight: 400;">Active your account</el-button>
                  </a>
                </div>

                </el-form-item>

                <script type="text/javascript">
  $( document ).ready(function() {
    var currentMenu = null;
    if (currentMenu == "2") {
      var containerFormInput = $("#fm2Input");
      var containerForm = $("#fm2");
      var originalUsername = null;
      if (originalUsername == null) {
        originalUsername = null;
      }
      var hasErrors = false;
      var errors = [];

      console.log("trigger processLoginError");
      processLoginError(containerFormInput, containerForm, originalUsername, hasErrors, errors);
    }
  });
  </script>

              </el-form>

              <el-form style="width:0; height:0; border:0; margin: 0; padding: 0;" method="post" id="fm2" action="login">
                        <input type="hidden" name="username" value="" autocomplete="new-username"/><input type="hidden" name="password" value="" autocomplete="new-password"/><input type="hidden" name="currentMenu" value="2"/><input type="hidden" name="failN" value="-1"/><input type="hidden" name="execution" value="6d0057b2-ff68-4ce3-b302-229e1f34114e_ZXlKaGJHY2lPaUpJVXpVeE1pSjkuaStYMlBKKzlWa2VWOTg2MGlqNUF6bDdqR0xYdVNIU0kyMU5mV1Y1UTFXWGhSSzEyV2ZDMm10TDZvWHM4d3NjR1Bobm52L3JSZTVnNEQvOGxsa25aT3hQb2VaOW43VHBYNFBGbnd5aGpLc3RKeGtGZHkvdDRUYy82aGRnZDJlZlVtK1JpN3p0MTFLNVJMOE1UeWpPQnZiOGQ0MFc5blNBTGQ5WjVlQTFCYzdXem1pK0xtcHVyWXRUblI5UjBUeFkrTm0xNHRIc0VtUUMwU1VwQWE3dlAvb1BZTnpEOWVvdllxMElDNGUxWTBsa0VLOXJpT214TVFiWkZ0d0EzWnh1UVZuTkllVjY5WjVRSVlyMEd6QnBhaE0vSmxhbkkvR0RPUkVuN29sMmNud0Q4dExGbGJTV043aFZTaHk1a29jbmZKQjdmYTZrYUdoTjFUVFNVSVB0aGN5U3NKQ0pFOXVsMHpTd2xGdjAxWDFQbW1PNWoxTzBHWlpXMUhBTTY0MHhHYmZ2NHJCNlRzbkpqZG5DQysraktud0NHdU91Y2JyV29zSEJrbmxzS2hId25wVC9VY1AzelhMUmpYaXk3UW12ODcweDRXak9tdkEwYlZEaUxwNW5yNWZOTVdnSjNaSUc3ZVZiWmZHdHc0NU05alFQT1dPZnlBMzQzMENyeVlBMjNwaXRYZFpVRlJDZkNoK2cvVkd1ME9MeFE3MDUyY0EzdWZUaWhwelF0VkRaVmt6VitCK2kzMTc5Q0hzSWkxVEpCQmxERW00azRrVTJFMHRZZVNpL0NhSXlUVWJYZklLQTQrbEJvM3hDYlVrUmFtdElOWlk0OUMrRUNJaXhBQVRZZ29GRitXb1g1MGQ0MG1ab1ZJOGZnczRwOTlBT2VuOFFldGFWcUVoOUw2cXpYQjY3Z3BrRTFldDg0cFplK0hCV2c2TGNWTWYrd3Z5bkYvakZOQUR6RzgzUGloUmN3VDEzQ1N1ai8rNzhXSEUrZGZuaXkrYmIzZDBsV0p1T1ZGT1JHSDk2eW5NOVJUTjBmdmFBcWFHaFNIaVRFdHRkS05NekFuWmo4ZHFqQVc5eklwS242ekJCdEZJeHJmNE1FajRZRG52K1RPaVFoVm5BSTFkaGtjVXIxdHNPMDg2WkRmTTNNejF4SEJEQVd1SWhhaHY1Y2p4aUh1MEQ5WUxWbHE3akVYMDhvaXlKc3ppcmtqZVFhZnovVkFxVnhRZWF4aE5jN0h5SnJUTmNOQkhyL2lreUJIQnN5RFVCOVUzT3VSU2tDQm9SdFI0RThCbkJJQVpSNnlQZjlVUUw0R2UycWJ3QlRoQW1XMG9zNVNRNjNZKzRncGl5dlRjVDZnd2xQK0wyb3lBbkVROVRVWllQOS9OYUZWVHNQVXZrQXB0WFBaa0pRMFFsMnhjNGhuWVcxYXh1RTNleFRoYXB6ajgzRXVSVTlKUG1UM3BWb2Y1WWgyTHRrdENxWWh0UlZjS21lSmZKVzEyaTdoSGpRaDJVcTN0MnVKb3F3UFhpVWdSaGZmZWYxc2MrdFk0eWttOVBZTXpLMUszRHlnNHo4SXpDK05TT2RxNW1oeTBFeGp6cit2N0RmN2FOZm11TzFidEVEYjRBL1FOMkJYOS84UmpXb2ErUnltMk1TT0ExRWVZUjBMNjlOTy9JWUU4MHNIQmgxMFBMM2RlYVhzRERzTUh2RDJPUS9GQXRsdm5pRVdOVWg1Vmp1R2FWK0lSNzBRNGQ1V1RsNGlYcExuQzlBM2d4ekcvSGh0NGdITERPNUNWOVNiNTlFbTcyYy9nNmNhSVNvNFRjczdpV2djWndZbmF5WWk2RTJmSm9Ha1lzZ0RQbjJYYTBUcHdMMmhWc3NxYVh5YnM5YWV1VE9vMG1kRmIzOUdPQ3RZZy9hUllwUzcrODMrS0M4VkorZmw4eVR4WFY3T3JselJXcEhWMEdDTDg2Z2RoRGY1TVhZaUNzNitoTEo0UERXZ3Q0NkR0WlJvVUpWam5jS1RwWElYSjZMcEhmL251TWtqeEV1ZWxOZ3h2aTVQbE95STlnT09vbUlPTlFIZGkrRHI5VUF2ZGZmQnliaVk1NkI1OG9ESTY0bHlyU1haN3hjMUh3WnRyblZMNXJSNVlzMWQvTnU1NG5qS2pDalJWaUNZSXBzWlZPMnNoRUdSRTRFYTh0Y3UzTXpNRjJQdTV6eVBtQlErbUZPQzVpbG9mbUVDL1liYk8vN1U5NThKdWMvWXlqTEZWSDlsNk9SSlFYRHRVMUFvL2gxeEp3VmtQOEdaR1JoMXlsWElpdjAxVFpUaTFFYnB4Z0tWKzJjcmMyWktWN3pZVkVjVlJpRFovV1Y1RW1lMFMwV09MRlpLTG1MQ2MrMFFOclBXZFJqMDUyUWh2bGE3cXRJR1liZjlWMWlPY0hoamc2bXJrK2lyaTA1Z0s0djdLKzQvWFdTazg4REpjaUpydVEzMTVNZGxVMElleDNEMXVZaE9UYVlPZmNiNGt1RWk3Slo3QTB3VkpSaHBTU1hBZ3ZneHhBL2xrMVZIczIzWVBCdk9LWkpxMU40MS9LWVZCWFNxbjQ0QUVrRkJmVmhHYWE2bFJRRmFQTWRHcjd3dzM1ZVRucmRuNFUydUwyeGszOUdONHM0MTB0Q1p5RXpraEM1VTBveTdDWGFlUkVOZkJ0U0JuVWViUTJ2TWVYdDAvVGgzeFVPUHVKUFNoWDcyQWxtSXZPVm1sZ1pNSm9MeE1xOVRtcmxGRVBBeXI3VjZlcHVHZ2d4VjJEcmRmb1dvR25vMUpSNHJSeXMySUFlQXVBUWlUbzdxaVo2N3lQQmgxTEFFTnRBTlppTHpTSnczTStSbTZzTnAxNlgwYUxQT2k2c0lkS3l4TmF0anNtT1VOQTZvdWxUczl4Yi9UVUxLaTRZd1E1VEdYYzhxZnVmTS82VEF3ZkVzS1NLNE1TMHRkRVZxc1dpTktOa1g3dk41ZCttdmlOckJRVkZRUmpTbWU5d01XREVMV3E1SXE4QTN5c0l3QjVESk5HN0dMUjQ2Um1wZDFBV2VBMm9KZVhTeFk3MXdpK1djdjFwb3R0UFpOdnRFVytwUTNYRFp5Yk9zS0lBblBFMnU4ZWpvaWNkem5ibXJEbkxaNTFWYW0xUFpoaXhkM2YwYm04YU5pMk5iUjExOGZxQ25XM0ZZOVZLaUdqMk84NWhpOWVqVTVKR29xTEw5ZEwrMlZCd2M1M3pXWHBqb1daOGQxWmFUcXljaWtEemtha3RYVStCN2wyMXF3QVVhSDdMcW14R0xpeFN4enRPUUJ2WmNKdmlaLzJrVWd6UzJOZmQrd1lGK1lvb1RzZWFXMWtRSE9GLytObW1BOFk4TXhxNnI3S0M4YWs5UHFtU3FUNEpXQ25tdlVkcUtON25vbUE1amVGOXNHYVdxK01XNWZLNDU2eHV4bXJId1JHcWl5a3FzZ3BDYTdGbEQ3em1aVmx4WFpqVU50bElmNGRHTEQ3V1dRUXNGSWt2YWZabUhCREFZYyt3bGdMblJiWGg0N2xxYmx3VERsVXdSOTVsSk1XNjlsWk8reVkrK2UyQWttQWhmZko5a3RHT2R2dFAzejEyclhWNGNsNlZ2cE5zelVEbU13ZzkzQjRuV1RRejZaSnF1dVJiNWNsL1RWSUVURTBFQSt5cWZEVGpwOTM1MXdRdHcrOHpiVUxTaXBZZ2Q2bXRmUDUxNUlEaFlSTTdSRG9CamF6Q3ZDUzFZY003azR4NWpEU3ZUS0V3a0tLVElqTzdkQ1dTOHhQK1VSNlJqRjg0MURIWDFYUWJyQ21HVDJYd3pkZlpya0kvR3BxN0FYdUJFcEhZSVpxWi9IUG9RV2F2Q3huSUhVeGw3aEFIODg5NXRnYWZjN0o1N05vVzV0R2xJOEora2xnRy9PckV5NWRrZHluRXM5OXZtSFYrZWsxME9IOEI3SjRIZnQ1THpFMVlHa1Nqb1llZG4wczhMSUplRDhDSE9OTXJ1QkpmUnNRcWlGS0FyK1dLeE5vdGpPNTN3QTFYNVVGd1N3bEJwZVFmMVFSc1hTdlhBb3pBM0FaMm1WTUxGb1BMMDB1b1czem1rdTZjRWYxNHpBMmFDRkVpYmpoUUYrWFFiUk9IVUFKazRuajBHZjZDdE85V3NlT05iaHJwdzlBYmhEbXVVTTVhK2J6QmRSZHpFMUI2cHVVT0tSVm0zYUNTazNNVitCVWZ1cG5EanVsemdqMXV4aE5mWTc2WFY3ZElyOEFZZWJTOXdVbW12UVhlb0dGdUdOb0FkYjlpQVBxdlIzVVh6b2NTMzNrMDBQeEM1NFo2UlJwQ0VyZlhpYmhjZXphL0wvc2ZveURpNzlnVkhhR0xEMU5wYmlQU01LbVJ0Nnhib3ZZazFyY1gxVGs3Y0dNNmptbW11NFZ3NEF2NEpab3JuTXZzbDNpWXVyOFVNZ2FpVUx5cnpmTGQvd0VCK0IydzRCWUY3TUNKLy90MWR4U0ZCaGx3QUwycjNyVGpOR1BhSVkzdkM3eUJBNThZWmxXTnB4NjRuOENiMUtEUEg3clhiR1RQQ0U0QnhpeXhhL2tYU2pmSEdTZU5LWHhjbnRyNnB4OElMU1dmdmZYSXlBKytiR2xRNGZLWURCQmUyN3JuTjREcGZkYnpiT0lqRDBjL2t2U3I2cDNkekh3emppQTBJVWRXRDg5Si9NZEJYazBzNW1rbXZSMVFsNy9qY042b3N2MENob2djbTVuckp4TllBRHhKcWRhcjJ0SUEyeXJUcEtvc2p6anY1UkEzWTlVSzM3UHhQUzlwK2tXL1pJa25NbUthV0dlclh1T01RSGJFaWs5UTRqTzdLT3RlNklnMjZDVVhrN3lTYmVDejhwS0pXcjRuakFDcVB2SWRMMUZYVjRuQzh6Z1lCNlJGWGx1V1NYYkdhS0pQMnBzL3pLc3JQSkpUZERYcFFMdXV3bmtKSVlFT3JPVThpS1hwYzk0Vy9iaTJZK0lacEdxQlhRMnBMTHNZbmtEN052Ym96WlR4RE9Td3B4QXZ4WW9CWE1ENFNMbHh0R2hSOXJrekxwSHF5Rzk2S0JFTlB2NjZrV3hBVDh1cjZZMFMzUWkwVDNCanZ5akh1Q3pwbHRPU244elRiUXFNUktaTGVjZml1K2R5TjNpQmM5dGpRRkp5ZWVVSDIvR2UydG04cTU4K0ZiNGwvQXVtL0pZWTlueW9TQzh6N1MxazBwOWtxLzMrZ0pnd1J0UDRLWElmd1g3Q09SU2dtMFh1K0JQUktQL0EzVmZoYWltQkR1RVNNeDJhQ3FlVTZ5UThhNFFsRHpXSFNJYXBHVU95L0dVY3ZqOG50eUJlR3ZLb0NqcmNTdjVNZ240Q211eksvaTZYbDB5R09DSlJ1WmFWc1JhSnNHNlpKWnBYWXFvN3I2UDBlRkxQaE0wZWhXZ1hmWFIzd1BhT2R2Q0FqVVV0UERrc2hOM2dnb0NqUGxHWnE5TTlRMWdaK2UzOUE2eFhXOHVOaUNsMWlaWkxzN2NRVFEvV3hvWGl6YzJlZFBhVVpJZ0xoSXBVdFZtSHI0WUYrRW1rdFFDUmkyWDJmYUYxbGxVaU1GQWVVcGhWeTA2M045L1RrRnE4WGlhVXdaWGxvRjJjZkF4NWZBRWp2a2dtZ0d6Z0ptSDNZYlhhajBHZ0lheG9rOVJJcnZ0ZFlXU1p2MWcrT2NvRXNsTHRzNnpaMjRyUFB1TDFqTUMrQTc4Y2ovandpSWYwOGVmWndVbXNiVldISzBZMXpoYjlZL0xOeWpFci9ac3RNb095TFZrYys4dzUrL3oxRXRIb2lXSE4vVmxxK3g5MGUrUDZwVEZSdUs3YlRNZVlXaUJ6UkdPYVo4clRFbXJnbnRTcnJPZ1ZvUklLM3ZEWEhKSHRyL3VsMmdFcUREMys3SUpxR0NLamY0S1BSZ3pETHE2S1lHYVdHL3I1VlIrbnRSQVRmTzNtL24yamszSjZzdDhGbXQ1R3k1UjVhbksvcVc0QW1BQnJJbVRnTTdrTnhHM0cwMUdnbk9WeW9KZG43UzFZYWFjVFozK3pVcE1iWUdGUXJZN1lHSWVoWTBWVGdoUUZRVWpxNThyemljbEgva2dOVlZyR2dDVDFsck9VSFdvMkxTKzMxaDJEL05PZzd6Ym92Q0xvNnB2MWo1MkRBM05tSGtMcFFYUEVOR3haSDFrSXpiZDJGMDBTaTh1QURWNkRRMVVrWS9tS0VVTEgreklQc3hKZmRNb3NWZzViYUdZR1AvaG1NTnZTVFVsd0VTbnpZRG95VU5rVzRoaHJVdWpleXQxK1pHUmc3VitrQXdKUFB5QVlWUldNK0lUMkl2Ri9VT3J2Z3FqaTZZY1JBQ0RhUFVlMHQ1dU9MUVNMSHpsdVNJVzExUHVDWkFHTk5LcGUvRVhUZW5LN0hSaS9rVE1TeTNsL25UaGRyY01yckI4Z3FhdmNGWXdQQlJlVmhnYlFqbCtSQW05NG9Ic29zUmNRS0N1MUVqeFlIVy90Rk02NFdiTnhJcUwydFpiMEM0QjY5Zm9Dbmd3OVhLVkJlSERVNGl2RzVCdXpWSEgwOHhZQTBSVWFlb3Y2d3pXSEtCOTREQlN3ZitKL2F4RDZsQS9WUWoyTm5nTko3emhEQUpIMVdmbUNwdTNWQnJPZnllaVNWcVVYUEUrSitaL0VsOUVqdDlyRkpWVUVLWVRDcHNyVGVxbjF5Y1dvK3N1YTk4VSsxTTVEQWFEZzA5ZU1hUW5RczhyN2dXamVGL3RJSzRTSzM4RHIwdE1hM0VSejhBZ0xYQys1OGlpRFpsOEJVQW5EbkgrMXRreGdoem1hTnFwYlFBaEhxcDJsaTBOZ2VUcHdUQXh1bFpPMGVGS3Znekx6b1NBZGJQT1BmTVhLTytsQ3B4SGJWYVMwVnU0WmJ3YW05MGdscEwzcUhuZitFdjJpNHNHeHZIU3o0ZnFMK0MwdXc5UmVadXQyVlVLM0ZONTBqSlI4aUFobWZoWDJmWmNTUFA3UnZDTlhtckpLTVhGb2VqMEQ3QWpRZG9qSVd3TDcxR0x5eVMzWEVkNkRYNlQyaU1IeTZsVjRFUzhGVEY3dkhyME5MNnBud2JwaDFDN1JEREN5d1JTZW1mYUVCUUE1dU1FWFowcW9GUVd2NERSMlVhN3hqOUZpaGl6S2dJQ0tobGlCemh2NGZTQkwvZkFxcndKaW51QVZSUkh0dFowRmpmTGQ1Ym45OUEyWE5qeVo1cElXYmhXT3pSYWZ5T3BMVGFRL21kd204d1N3cUw0Y2lDdHhmV0NZRU95YTJ4RmtxcEFrY3lUQllKNitmSWpGekNibGFWNC90T0JuQWNubzB2ZUNXUHV0SnBYaThza2VGeEljNWQrUU9RS1JqVDhRdzF1N00vZVFqdzVRcEk5VXZKNjl1a1czYkk4ZVM5azVCSGpaRVFEZXJCci80aXVvKzFNUHA5SkVrNTVacEhhVzB4dlBycDhacUsySHFqUEU1b3FhMjU4NXRQSTVLc3RIeVpmazQ3aFhFc2xvcVdtOGloODM1dzVaeHR6VS91WW1tZDgvSlNsRUVjRHJ0L0thV2dsRVJYYlJ5bFpKMU1Nc2dTZzcrQ1gwK0pkd3gvZnFFMkZuSksveVB5aVliWVczSGYwblpMalJCMGVRdDRUc2JmVnhDYmJwVGFFa0VxcVc1M1BlWW1xTnFsVG42N0wvWWhQNU1TNVJkY25rRDdPOVF0VDdCZ1phYTIrcVdCMThhREdKNUpEbURRc0N4MDZtNDRiUjd1ZmFDbngzNFRsMmxrdTlackdzL29zSXpCeFEvVWowUkNXQnJrUVI2aHMrUjBDb0NGdy9FbTJVamtrNlFEOUwxMXBJVDZmcmtOUmVHQTBNZkRLNUFUQ1IrRSs5NkRLTkpWQVM2WFZWdE5zMlRhbVdudmNDcXZ4Y0laUWo3VmpsRmtKcHhQekhVU3BCdDBVY3NwUUlNN2pnZlFLMHFWM3pvQUw2eFlHNVNFc2ZGSCtpdnNkRzF2Qk9QZVB1N2s1T2liV3BBd2ZKRE9tRG1YM3ZqZHliYThGZ0FOSDVxUExjU3pWWEpEVDJ4TnZ4eWEvdk5uVm1PcjZRTUhPUTFLRllNZnVDak14cFhvK1BJaHB1S3VkYkhmZThhZnJYRUVpK056T1ZjT1FxWlh4NFEwZGFCcWxuRk5TQ21oemZtWDJDaStLNnlIR3lwcHlyUzYvdm8yR0VVQ1JIWk9nNS94c1o5cUkzZlYybWM3NWtOQUpmaTdtUnVIa2JJVmtzOVhzS2pNZkF1S0VpbndueXdhQ0Y4L0hMV05oZ1NDT1RTYWpXRTNJNTVpMTJ4SC83UW03TTVnZ2M2WmtuWFYyRkhJR0lReE1hNG9hYTZwN20rSkt1cGhTVEFMR085dURNaE80K3lxVWY2VXVEM05iRXRSV0paSTJ1MkdTNkhhNWlWS09zbEJuTC9zOFh1dExDcnUzWUlieGdNSzZOV0pUd2ZwUDAxM3ZicjFwNWlxd2JtYXg4cTl4bTZkVW41OFJIaFhxNmMweEk3Vzl2UHJOTXJNSmVQdTBSbHdMaXQ4blBUVnBtRE85cHNYWDRveXNKV2F2L2F3M1k5ME1LUm1jaW5ueWFwTHRzckVqb2tYZ2o1WkJsWDBJN3FzbHZVZC93YU54TTQzRWNGMDdJMnhnUDJ3MktUaENMLlJpYnFlWFI1eXJjck45NGJoN081UUNNTGg3VmY5Z1dUQmNabFBIRXAwWUFRMklST0FEU2JqX0xySjktaDBUSFI0OERHdmkzaUwyQkRLeGFNSWdER2Jn"/><input type="hidden" name="_eventId" value="submitPasswordlessToken"/><input type="hidden" name="geolocation"/><input type="hidden" name="fpVisitorId"/><input 
                               name="submit"
                               type="submit"
                               value="Login2"
                               style="display:none; width: 100%"
                        /></el-form>

            </div>

            </div>
	              <div class="otherWay">

                <div style="display: flex;align-items: center;">
                  <div style="width: 35%;border-top: 1px solid #D2DAE0;"></div>
                  <span style="margin:0 10px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;width: 100px;">Or login with:</span>
                  <div style="width: 35%;border-top: 1px solid #D2DAE0;"></div>
                </div>

                <div style="display: flex ;justify-content:space-evenly;margin-top: 10px;">
                            <a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=qq"
                               title="QQ">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=1" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:#1196DB;cursor: pointer">
                  <i :class="jointActive==1?'su-icon-tencent':'su-icon-QQbian'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a><a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=openweixin"
                               title="WeChat">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=2" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:#0EBB07;cursor: pointer">
                  <i :class="jointActive==2?'su-icon-wechat':'su-icon-weixinbian'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a><a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=workweixin"
                               title="WeChat Work">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=4" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:rgb(0, 122, 221);cursor: pointer">
                  <i :class="jointActive==4?'su-icon-qiyeweixin':'su-icon-qiyeweixin-inactive'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a>
                </div>
              </div>

      </div>
	
	            <div v-show="isQrcode">
	              <div>

              <div class="scanDiv" style="text-align: center;">
                <h2 style="color:#383C41;">扫码登录</h2>

            <form method="post" id="fm3" action="login" style="display: none;">
                <input type="hidden" name="qrCodeKey" v-model="stateKey"/><input type="hidden" name="currentMenu" value="3"/><!-- <input type="hidden" name="execution" th:value="${flowExecutionKey}"/>
                <input type="hidden" name="_eventId" value="submit"/> --><input type="hidden" name="geolocation"/><input class="btn btn-submit" name="_eventId_success" type="submit" value="Submit"/></form>

                <div class="qrcodeDiv" style="display: inline-block; position: relative;margin: auto;">
                  <div id="qrcode_img_alert_layout" v-if="isQrcodeAlert">
                  <img src="/cas/themes/classic/images/icon_warn.png"><p>{{qrcodeAlertMessage}}</p>
                  <el-button type="primary" size="medium" round @click="refreshQrCode">点击刷新</el-button>
                  </div>
                  <img id="qrcode_img" :src="''+qrcodeImgUrl"></div>
                <p>打开 <span>西安明德理工学院APP</span> 扫一扫
                  <!-- /* 打开
                  <a href="#" th:href="${superappDownloadUrl}" target="_blank" title="点击进入下载页面 / Go To Download Page" style="text-decoration-line: none;">
                    <button type="button" class="sw-button sw-button--text sw-button--small" style="font-size: 16px;"><span>超级APP</span></button>
                  </a>
                  进行扫码 */ -->
                </p>
              </div>

            </div>
	              <div class="otherWay">

                <div style="display: flex;align-items: center;">
                  <div style="width: 35%;border-top: 1px solid #D2DAE0;"></div>
                  <span style="margin:0 10px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;width: 100px;">Or login with:</span>
                  <div style="width: 35%;border-top: 1px solid #D2DAE0;"></div>
                </div>

                <div style="display: flex ;justify-content:space-evenly;margin-top: 10px;">
                            <a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=qq"
                               title="QQ">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=1" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:#1196DB;cursor: pointer">
                  <i :class="jointActive==1?'su-icon-tencent':'su-icon-QQbian'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a><a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=openweixin"
                               title="WeChat">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=2" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:#0EBB07;cursor: pointer">
                  <i :class="jointActive==2?'su-icon-wechat':'su-icon-weixinbian'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a><a class="btn btn-block btn-social btn-sm" style="width: 50px; display: inline-block;"
                               href="/cas/federatedRedirect?service=https://www.caigouyitiaojie.com/zcgl/webView/system/swsso/login.jsp?targetUrl%3D%7Bbase64%7DaHR0cHM6Ly96Y2dsLm1kaXQuZWR1LmNuL3dlYlZpZXcvc3lzdGVtL3N3c3NvL2luZGV4LmpzcD9ta2JoPW51bGw%3D&amp;federatedName=workweixin"
                               title="WeChat Work">

                <div class="otherWayicons" @mouseout="jointActive=-1" @mouseover="jointActive=4" style="margin:0 5px;font-size:36px;display: inline-block;width: 36px;height: 30px;border-radius: 36px;color:rgb(0, 122, 221);cursor: pointer">
                  <i :class="jointActive==4?'su-icon-qiyeweixin':'su-icon-qiyeweixin-inactive'"></i>
                </div>
                <!-- /*
                  <sw-button th:case="qq" :custom-button-size="50" icon="su-icon-tencent" active-color="#1196DB" circle icon-button ></sw-button>
                  <sw-button th:case="openweixin" :custom-button-size="50" icon="su-icon-wechat" active-color="#0EBB07" circle icon-button ></sw-button>
                  <sw-button th:case="workweixin" :custom-button-size="50" icon="su-icon-wechat-company" active-color="#0082EF" circle icon-button ></sw-button>
                  <sw-button th:case="alipay" :custom-button-size="50" icon="su-icon-alipay" active-color="#08ABE4" circle icon-button ></sw-button>
*/ --></a>
                </div>
              </div>

      </div>
				
				<div class="tips">
					<a href="https://authx-minio.mdit.edu.cn/security-center-ui/strategy/active.html" target="_blank" style="text-decoration-line: none; display: inline-block;color:#333333;font-size: 12px;"><span style="white-space: nowrap;"><i class="su-icon-bulb"></i> 账号激活攻略</span></a>
					<span style="margin: 0 10px;color:#B4B4B4">|</span>
		
					<a href="https://authx-minio.mdit.edu.cn/security-center-ui/strategy/forget.html" target="_blank" style="text-decoration-line: none; display: inline-block;color:#333333;font-size: 12px;"><span style="white-space: nowrap;"><i class="su-icon-authguanli"></i> 密码找回攻略</span></a>
					<span style="display: flex;align-items: center;white-space: nowrap;padding-left:10px;">
					  <span style="margin-right: 10px;">浏览器支持:</span>
					  <img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="/cas/icon/chrome-icon.png" /><img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="/cas/icon/firefox-icon.png" /><img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="/cas/icon/ie-icon.png" /><img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="/cas/icon/360-icon.png" /><img style="cursor: pointer;width: 14px;height: 14px;margin-right: 10px;" src="/cas/icon/sogou-icon.png" /></span>
				  </div>
	          </div>
	          
	        </div>
		</div>
        
      </div>
    </el-container>
  </div>

    <div class="card">

    <el-dialog v-if="mfaEnabled"
      class="dialog-wrap"
      title="安全验证"
      :visible.sync="guardDialogVisible"
      width="506px"
      height="420px"
      :before-close="hideGuardDialog">

      <div class="check-tips"><img src="/cas/themes/classic/images/tip.svg"></img>当前登录环境异常，需通过安全验证确认是本人操作后才可继续登录。请选择安全验证方式！</div>

      <div class="type-wrap">
        <el-row type="flex" align="center" justify="space-between">
          <el-col :span="12" class="safe-flex">
            <img class="safe-title-icon" :src="typeInfo[typeIndex].icon" :alt="typeInfo[typeIndex].title" :title="typeInfo[typeIndex].title"><span class="type-title">{{typeInfo[typeIndex].info}}</span>
          </el-col>
          <el-col :span="12" class="safe-flex safe-flex2">
            <span class="other-title">其他方式</span>
            <span v-for="(type,index) in typeInfo" :key="index">
              <img :class='index==typeIndex?"safe-icon":"safe-title-icon"' style="cursor: pointer; margin-right: 6px;" v-if="typeInfo[index].enabled" :src="index==typeIndex?type.icon2:type.icon" :disabled="index==typeIndex" :alt="type.title" :title="type.title" @click="changeGuard(index)" ></span>
          </el-col>
        </el-row>
      </div>
      
      <div v-if="typeIndex==0" class="app-style" style="height: 102px;">
        <div>点击发送验证请求后，请在 <span>超级APP</span> 上进行确认，完成安全验证</div>
        <div class="code-wrap">
          <div v-show="appPushCallbackCode" style="position: relative; text-align: center; font-size: 19px; margin-top: 15px;">确认码：{{appPushCallbackCode}}</div>
          <div class="error-text" v-show="appPushStatusShowAlert" style="position: relative; text-align: center; font-size: 12px;">{{appPushStatusAlertMessage}}</div>
        </div>
      </div>
      
      <div v-if="typeIndex==1" class="phone-style-wrap" style="height: 160px; padding-bottom: 3px;">
        <div class="phone-style" v-show="securePhone"><span>+86</span> {{securePhone}}</div>
        <div class="code-wrap">
          <el-input class="input-style" v-show="securePhone" v-model="securePhoneCode"></el-input>
          <el-button type='text' class="code-text" v-show="securePhone" @click="securePhoneSend" :disabled="securePhoneSendDisabled">{{securePhoneSendText}}</el-button>
          <div class="error-text" v-show="securePhoneValidShowAlert" style="position: relative; text-align: center; font-size: 12px;">{{securePhoneValidAlertMessage}}</div>
          <div class="error-text" v-show="!securePhone" style="position: relative; text-align: center; font-size: 12px;">安全手机未绑定，无法使用安全手机验证</div>
        </div>
      </div>
      
      <div v-if="typeIndex==2" class="phone-style-wrap" style="height: 160px; padding-bottom: 3px;">
        <div class="phone-style" v-show="secureEmail">{{secureEmail}}</div>
        <div class="code-wrap">
          <el-input class="input-style" v-show="secureEmail" v-model="secureEmailCode"></el-input>
          <el-button type='text' class="code-text" v-show="secureEmail" @click="secureEmailSend" :disabled="secureEmailSendDisabled">{{secureEmailSendText}}</el-button>
          <div class="error-text" v-show="secureEmailValidShowAlert" style="position: relative; text-align: center; font-size: 12px;">{{secureEmailValidAlertMessage}}</div>
          <div class="error-text" v-show="!secureEmail" style="position: relative; text-align: center; font-size: 12px;">安全邮箱未绑定，无法使用安全邮箱验证</div>
        </div>
      </div>
      
      <div v-if="typeIndex==3" class="face-style-wrap" style="height: 152px; padding-bottom: 3px;">

        <div class="qrcode" v-if='!qrCodeScanSuccess'>
          <img v-if="qrCodeScanQrcode" :src="qrCodeScanQrcode"><div class="qrcode-reset-opacity" v-if='qrCodeStatusShowAlert'></div>
          <div class="qrcode-reset-wrap" v-if='qrCodeStatusShowAlert' @click="qrCodeRefresh">
            <i class="el-icon-refresh-right"></i>
            <div>点击刷新二维码</div>
          </div>
        </div>
        <div v-if='!qrCodeScanSuccess'>支持 {{qrCodeScanTypeNames}} 的扫一扫功能，完成安全验证</div>

        <div class="face-sucess" v-if='qrCodeScanSuccess && qrCodeStatusShowAlert'>
          <img src="/cas/themes/classic/images/safe/dui.png"><div>{{qrCodeStatusAlertMessage}}</div>
        </div>
        <div v-if='qrCodeScanSuccess && qrCodeStatusShowAlert' v-show="qrCodeCallbackCode" style="position: relative; text-align: center; font-size: 19px; margin-bottom: 15px;">确认码：{{qrCodeCallbackCode}}</div>
        <div v-if='qrCodeScanSuccess && qrCodeStatusShowAlert'>请在手机上点击同意以完成安全验证</div>
      </div>
      
      <div v-if="typeIndex==4" class="face-style-wrap" style="height: 152px; padding-bottom: 3px;">
        <div class="qrcode" v-if='!faceVerifyScanSuccess'>
          <img v-if="faceVerifyScanFaceverify" :src="faceVerifyScanFaceverify"><div class="qrcode-reset-opacity" v-if='faceVerifyStatusShowAlert'></div>
          <div class="qrcode-reset-wrap" v-if='faceVerifyStatusShowAlert' @click="faceVerifyRefresh">
            <i class="el-icon-refresh-right"></i>
            <div>点击刷新二维码</div>
          </div>
        </div>
        <div v-if="!faceVerifyScanSuccess">打开 <span>超级APP</span> 扫一扫功能，扫描二维码进行人脸识别，完成安全验证</div>
        
        <div class="face-sucess" v-if='faceVerifyScanSuccess && faceVerifyStatusShowAlert'>
          <img src="/cas/themes/classic/images/safe/dui.png"><div>{{faceVerifyStatusAlertMessage}}</div>
        </div>
      </div>
      
      <span slot="footer" class="dialog-footer" style="height: 50px; display: block;">
        <el-button type="primary" v-if="typeIndex==0" @click="appPushSend" :disabled="appPushSendDisabled">{{appPushSendText}}</el-button>

        <el-button type="primary" v-if="typeIndex==1" v-show="securePhone" @click='securePhoneValid' :disabled="!securePhoneCode">确 定</el-button>
        <el-button type="primary" v-if="typeIndex==2" v-show="secureEmail" @click='secureEmailValid' :disabled="!secureEmailCode">确 定</el-button>

      </span>

    </el-dialog>

            </div>

  </div>
  
  </div>

<script type="text/javascript">

function getQueryString(paramName) {
  var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return "";
}

var isDebug = getQueryString("debug") != null && getQueryString("debug") != "";

var isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) != null;

var superappName = "\u8D85\u7EA7APP";

var defaultMenu = "1";

var isBigScreen = document.body.clientWidth >= 1600;

var qrCodeEnabled = true;
var loginType = getQueryString("loginType");
var currentMenu = null;
var isQrcode = false;

if (currentMenu) {} else {
  if (loginType === "") {
    currentMenu = defaultMenu;
  } else {
    currentMenu = loginType;
  }
}

if (currentMenu == 3) {
  if (qrCodeEnabled == true || qrCodeEnabled == 'true') {
    currentMenu = defaultMenu;
    isQrcode = true;
  } else {
    currentMenu = defaultMenu;
    isQrcode = false;
  }
}

var icon = "\/cas\/file\/png\/icon.png";
var logo = "\/cas\/file\/png\/logo.png";
var bg = "\/cas\/file\/png\/bg.png";
var bg1 = "\/cas\/themes\/classic\/images\/bg1.png";
var bg2 = "\/cas\/themes\/classic\/images\/bg2.png";
var bg3 = "\/cas\/themes\/classic\/images\/bg3.png";

var ppts = [];
var backgrounds = [];

if (ppts != null) {
  for (var i = 0; i < ppts.length; i++) {
    backgrounds[i] = ppts[i].fileurl;
  }
}

if (backgrounds == null || backgrounds.length == 0) {
  backgrounds = [ bg ];
}


var customEntryLinks = [];

var customEntryLink1Name = "";
var customEntryLink1Url = "";
var customEntryLink2Name = "";
var customEntryLink2Url = "";
var customEntryLink3Name = "";
var customEntryLink3Url = "";
var customEntryLink4Name = "";
var customEntryLink4Url = "";

if (customEntryLink1Name!='' && customEntryLink1Url!='') {
  customEntryLinks.push({"name":customEntryLink1Name, "url":customEntryLink1Url});
}
if (customEntryLink2Name!='' && customEntryLink2Url!='') {
  customEntryLinks.push({"name":customEntryLink2Name, "url":customEntryLink2Url});
}
if (customEntryLink3Name!='' && customEntryLink3Url!='') {
  customEntryLinks.push({"name":customEntryLink3Name, "url":customEntryLink3Url});
}
if (customEntryLink4Name!='' && customEntryLink4Url!='') {
  customEntryLinks.push({"name":customEntryLink4Name, "url":customEntryLink4Url});
}

var showLessLink = customEntryLinks.length<4;


var mfaEnabled = "false" == "true";

var mfaTypeAppPush = "false" == "true";
var mfaTypeSecurePhone = "true" == "true";
var mfaTypeSecureEmail = "true" == "true";
var mfaTypeQrCode = "false" == "true";
var mfaTypeFaceVerify = "false" == "true";

if (isMobile) {
  mfaTypeQrCode = false;
  mfaTypeFaceVerify = false;
}

var defaultTypeIndex = 0;
if (mfaTypeAppPush) {
  defaultTypeIndex = 0;
} else if (mfaTypeSecurePhone) {
  defaultTypeIndex = 1;
} else if (mfaTypeSecureEmail) {
  defaultTypeIndex = 2;
} else if (mfaTypeQrCode) {
  defaultTypeIndex = 3;
} else if (mfaTypeFaceVerify) {
  defaultTypeIndex = 4;
}

var dialogVisible = false;

var SwUI = SWUI;
Vue.use(SwUI)

var vm = new Vue({
  el: '#vue_main',
  data: function data() {
    return {
      isMobile: isMobile,
	  isBigScreen: isBigScreen,
      customEntryLinks: customEntryLinks,
      showLessLink: showLessLink,

      dialogVisible: dialogVisible,
      
      active:0,

      icon: icon, 
      logo: logo,
      background: bg,
      bg: [ bg1,bg2,bg3 ],
      currentMenu: currentMenu,
      currentImage: 0,
      jointActive: -1,
      loading: false,
      qrcodeImage: {
        qrcode: "\/cas\/themes\/classic\/images\/icon_qrcode.png",
        normal: "\/cas\/themes\/classic\/images\/pc-login.png"
      },
      qrcodeHover: false,
      isQrcode: isQrcode,
      qrcodeImgUrl: "",
      qrcodeTimeout: 0,
      isQrcodeAlert: false,
      qrcodeAlertMessage: "",
      stateKey: "",

      mfaEnabled: mfaEnabled,
      guardDialogVisible: false,

      typeList:['使用App推送认证','使用安全手机认证','使用安全邮箱认证','使用客户端扫码','使用人脸识别认证'],
      iconIndex:0,  //安全验证方式   0：app 推送；1：安全手机； 2：安全邮箱  3：人脸识别
      safeIcon2:[
                 "\/cas\/themes\/template\/images\/safe\/app2.png",
                 "\/cas\/themes\/template\/images\/safe\/phone2.png",
                 "\/cas\/themes\/template\/images\/safe\/email2.png",
                 "\/cas\/themes\/template\/images\/safe\/qrcode2.png",
                 "\/cas\/themes\/template\/images\/safe\/face2.png"
                ],
      safeIcon:[
                "\/cas\/themes\/template\/images\/safe\/app.png",
                "\/cas\/themes\/template\/images\/safe\/phone.png",
                "\/cas\/themes\/template\/images\/safe\/email.png",
                "\/cas\/themes\/template\/images\/safe\/qrcode.png",
                "\/cas\/themes\/template\/images\/safe\/face.png"
               ],

      showError:false,  //是否显示验证码错误
      typeInfo: [
                 {'type':'apppush', 'enabled': mfaTypeAppPush, 'title':'APP推送', 'info':'使用APP推送验证', 'icon':"\/cas\/themes\/template\/images\/safe\/app.png", 'icon2':"\/cas\/themes\/template\/images\/safe\/app2.png"},
                 {'type':'securephone', 'enabled': mfaTypeSecurePhone, 'title':'安全手机', 'info':'使用安全手机验证', 'icon':"\/cas\/themes\/template\/images\/safe\/phone.png", 'icon2':"\/cas\/themes\/template\/images\/safe\/phone2.png"},
                 {'type':'secureemail', 'enabled': mfaTypeSecureEmail, 'title':'安全邮箱', 'info':'使用安全邮箱验证', 'icon':"\/cas\/themes\/template\/images\/safe\/email.png", 'icon2':"\/cas\/themes\/template\/images\/safe\/email2.png"},
                 {'type':'qrcode', 'enabled': mfaTypeQrCode, 'title':'客户端扫码', 'info':'使用客户端扫码', 'icon':"\/cas\/themes\/classic\/template\/safe\/qrcode.png", 'icon2':"\/cas\/themes\/classic\/images\/safe\/qrcode2.png"},
                 {'type':'faceverify', 'enabled': mfaTypeFaceVerify, 'title':'人脸识别', 'info':'使用人脸识别验证', 'icon':"\/cas\/themes\/template\/images\/safe\/face.png", 'icon2':"\/cas\/themes\/template\/images\/safe\/face2.png"},
                 ],
      typeIndex: defaultTypeIndex,  //安全验证方式   0：app 推送；1：安全手机； 2：安全邮箱  3：客户端扫码  4：人脸识别
      faceType:1,  // 人脸识别认证状态  1  扫描二维码  2 刷新二维码  3 扫描成功
      
      
      attestServerUrl: null,
      gid: null,
      
      appPushSendTimeout: 0,
      appPushSendDisabled: false,
      appPushSendText: "点击发送验证请求",
      appPushSendSeconds: 30,
      appPushStatusTimeout: 0,
      appPushStatusShowAlert: false,
      appPushStatusAlertMessage: null,
      appPushCallbackCode: null,

      securePhone:'',
      securePhoneSendTimeout: 0,
      securePhoneSendDisabled: false,
      securePhoneSendText: "获取验证码",
      securePhoneSendSeconds: 60,
      securePhoneCode:'',
      securePhoneValidShowAlert: false,
      securePhoneValidAlertMessage: null,

      secureEmail:'',
      secureEmailSendTimeout: 0,
      secureEmailSendDisabled: false,
      secureEmailSendText: "获取验证码",
      secureEmailSendSeconds: 60,
      secureEmailCode:'',
      secureEmailValidShowAlert: false,
      secureEmailValidAlertMessage: null,
      
      qrCode:null,
      qrCodeScanTypeNames: "",
      qrCodeScanQrcode: null,
      qrCodeScanSuccess: false,
      qrCodeStatusTimeout: 0,
      qrCodeStatusShowAlert: false,
      qrCodeStatusAlertMessage: null,
      qrCodeCallbackCode: null,
      

      faceVerify:null,
      faceVerifyScanFaceverify: null,
      faceVerifyScanSuccess: false,
      faceVerifyStatusTimeout: 0,
      faceVerifyStatusShowAlert: false,
      faceVerifyStatusAlertMessage: null,
      faceVerifyCallbackCode: null,
      

    };
  },
  mounted: function mounted() {
    if (this.isQrcode) {
      // 显示二维码
      var self = this;
      self.isQrcodeAlert = false;
      self.qrcodeAlertMessage = "";
      self.stateKey = "";
      this.qrcodeImgUrl = "\/cas\/qr\/qrcode"+"?r=" +(new Date()).getTime()+ Math.floor(Math.random()*24) + (isDebug?"&debug=debug":"");
      this.startQrComet();
    }
  },
  methods: {
    changeMenu: function changeMenu(index) {
      this.currentMenu = index;
      
      refreshCaptchaInMenu(this.currentMenu)
    },
    changeCarousel: function changeCarousel(index) {
      this.currentImage = index;
    },
    showErrorMessageUsername: function showErrorMessageUsername() {
      // var message = "Enter your Username" + "\u8BF7\u8F93\u5165\u5B66\u5DE5\u8D26\u53F7\/\u5B89\u5168\u90AE\u7BB1\/\u5B89\u5168\u624B\u673A";
      var message = "\u8BF7\u8F93\u5165\u5B66\u5DE5\u8D26\u53F7\/\u5B89\u5168\u90AE\u7BB1\/\u5B89\u5168\u624B\u673A";
      this.$message.error(message);
    },
    showErrorMessagePassword: function showErrorMessagePassword() {
      // var message = "Enter your Password";
      var message = "Enter your Password";
      this.$message.error(message);
    },
    showErrorMessageCaptcha: function showErrorMessageCaptcha() {
      var message = "Enter the Captcha";
      this.$message.error(message);
    },
    showErrorMessageMobile: function showErrorMessageMobile() {
      var message = "Enter your Mobile";
      this.$message.error(message);
    },
    showErrorMessageDynamicCode: function showErrorMessageDynamicCode() {
      var message = "Enter the Dynamic Code";
      this.$message.error(message);
    },
    showSuccessMessageSendCode: function showSuccessMessageSendCode() {
      var message = "Send success!";
      this.$message.info(message);
    },
    showFailureMessageSendCode: function showFailureMessageSendCode() {
      var message = "Send fail!";
      this.$message.error(message);
    },
    handleClose: function handleClose() {
      this.dialogVisible = false;
    },
    openOrCloseQrCode: function openOrCloseQrCode() {
      var self = this;
      self.isQrcodeAlert = false;
      self.qrcodeAlertMessage = "";
      self.stateKey = "";
      this.isQrcode = !this.isQrcode;

      if (this.isQrcode) {
        this.qrcodeImgUrl = "\/cas\/qr\/qrcode"+"?r=" +(new Date()).getTime()+ Math.floor(Math.random()*24) + (isDebug?"&debug=debug":"");
        this.startQrComet();
      } else {
        window.clearTimeout(self.qrcodeTimeout);
      }
    },
    startQrComet: function startQrComet() {
      var self = this;
      window.clearTimeout(self.qrcodeTimeout); // 开启定时

      function qrComet() {
        var url = "\/cas\/qr\/comet";
        $.ajax({
          url: url,
          type: "POST",
          dataType: "json",
          timeout: 1000,
          success: function success(r) {
            // console.log(r);
            if (r && r.code == 0) {
              self.isQrcodeExpired = false;
              var stateKey = r.data.stateKey;
              var qrCode = r.data.qrCode;

              if (qrCode.status == "1") {
                // 1 创建、未扫码
                self.isQrcodeAlert = false;
                self.qrcodeAlertMessage = "";
                self.stateKey = "";
              } else if (qrCode.status == "2") {
                // 2 已扫码
                self.isQrcodeAlert = true;
                self.qrcodeAlertMessage = "扫码成功";
                self.stateKey = "";
              } else if (qrCode.status == "3") {
                // 3 已授权
                self.isQrcodeAlert = true;
                self.qrcodeAlertMessage = "确认登录";
                self.stateKey = stateKey;
                window.clearTimeout(self.qrcodeTimeout);
                window.setTimeout(function () {
                  $("#fm3").submit();
                }, 500);
              } else if (qrCode.status == "4") {
                // 4 已取消
                self.isQrcodeAlert = true;
                self.qrcodeAlertMessage = "取消登录";
                self.stateKey = "";
                window.clearTimeout(self.qrcodeTimeout);
              }
            } else if (r && r.code == 1) {
              self.isQrcodeAlert = true;
              self.qrcodeAlertMessage = "二维码已失效，点击刷新";
              self.stateKey = "";
              window.clearTimeout(self.qrcodeTimeout);
            } else {
              self.isQrcodeAlert = true;
              self.qrcodeAlertMessage = "出现异常，点击刷新";
              self.stateKey = "";
              window.clearTimeout(self.qrcodeTimeout);
            }
          }
        });
        self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
      }

      self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
    },
    refreshQrCode: function refreshQrCode() {
      var self = this;
      self.isQrcodeAlert = false;
      self.qrcodeAlertMessage = "";
      self.stateKey = "";
      this.qrcodeImgUrl = "\/cas\/qr\/qrcode"+"?r=" +(new Date()).getTime()+ Math.floor(Math.random()*24) + (isDebug?"&debug=debug":"");
      this.startQrComet();
    },

    showGuardDialog: function showGuardDialog() {
      var self = this;
      this.clearAppPushStatus();
      this.clearSecurePhone();
      this.clearSecureEmail();
      this.clearQrCode();
      
      this.typeIndex = defaultTypeIndex;
      this.guardDialogVisible = true;
      
      this.changeGuard(defaultTypeIndex);
    },
    hideGuardDialog: function hideGuardDialog() {
      var self = this;
      this.clearAppPushStatus();
      this.clearSecurePhone();
      this.clearSecureEmail();
      this.clearQrCode();

      this.typeIndex = defaultTypeIndex;
      this.guardDialogVisible = false;
      
      $("#fm1").find('[name="mfaState"]').val('');
    },
    
    changeGuard: function changeGuard(index) {
      var self = this;
      this.clearAppPushStatus();
      this.clearSecurePhone();
      this.clearSecureEmail();
      this.clearQrCode();
      this.clearFaceVerify();

      this.typeIndex = index;
      
      this.initGuard();
    },
    
    initGuard: function initGuard() {
      var self = this;
      
      var type = this.typeInfo[this.typeIndex].type;
      var state = $("#fm1").find('[name="mfaState"]').val();
      
      var url = "\/cas\/mfa\/initByType"+"/"+type;
      url += "?state=" + state;
      $.ajax({
        type: "GET",
        url: url,
        dataType: "json",
        success: function success(r) {
          console.log(url, r);
          if (r && r.code == 0) {
            self.attestServerUrl = r.data.attestServerUrl;
            self.gid = r.data.gid;

            if (type == "apppush") {
              
            } else if (type == "securephone") {
              self.securePhone = r.data.securePhone;
            } else if (type == "secureemail") {
              self.secureEmail = r.data.secureEmail;
            } else if (type == "qrcode") {
              self.qrCode = r.data.qrCode;
              self.qrCodeInit();
            } else if (type == "faceverify") {
              self.faceVerifyInit();
            }
          } else {
            self.attestServerUrl = null;
            self.gid = null;

            self.securePhone = null;
            self.secureEmail = null;
            
            self.qrCode = null;
          }
        },
        error: function error(err) {
          self.attestServerUrl = null;
          self.gid = null;

          self.securePhone = null;
          self.secureEmail = null;
          
          self.qrCode = null
        }
      });
    },
    
    appPushSend: function appPushSend() {
      var self = this;

      function appPushSendCountDown() {
        self.appPushSendSeconds --;
        
        self.appPushSendDisabled = true;
        self.appPushSendText = "点击发送验证请求" + "("+self.appPushSendSeconds+")";
        
        self.appPushSendTimeout = window.setTimeout(appPushSendCountDown, 1000);
        
        if (self.appPushSendSeconds <= 0) {
          window.clearTimeout(self.appPushSendTimeout);
          
          self.appPushSendDisabled = false;
          self.appPushSendText = "点击发送验证请求";
          self.appPushSendSeconds = 30;
        }
      }

      self.appPushSendDisabled = true;

      var url = self.attestServerUrl + '/api/guard/apppush/send';
      var postdata = { "gid": self.gid };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          self.appPushSendDisabled = false;

          if (r && r.code == 0 && r.data.callbackCode) {
            self.appPushStatusShowAlert = false;
            self.appPushStatusAlertMessage = "";

            self.appPushCallbackCode = r.data.callbackCode;

            self.startAppPushStatus();
            
            appPushSendCountDown();
          } else {
            
            self.startAppPushStatus();
          }
        },
        error: function error(err) {
          console.log(err);

          self.appPushSendDisabled = false;
        }
      });
    },
    startAppPushStatus: function startAppPushStatus() {
      var self = this;

      window.clearTimeout(self.appPushStatusTimeout); // 定时
      
      /*
       * status 
       * 0 init 新建、初始化, 
       * 1 sent 已发送、已扫码等, 
       * 2 valid 验证通过, 
       * 3 fail 验证失败, 
       * 5 cancel 取消, 
       * 9 expired 已过期、不存在
       */
      function appPushStatus() {
        var url = self.attestServerUrl + '/api/guard/apppush/status';
        var postdata = { "gid": self.gid };
        
        $.ajax({
          type: "POST",
          url: url,
          contentType: 'application/json; charset=UTF-8',
          data: JSON.stringify(postdata),
          dataType: "json",
          timeout: 1000,
          success: function success(r) {
            // console.log(url, r);
            if (r && r.code == 0) {
              var status = r.data.status;
              
              if (status == 0) {
                
                self.appPushStatusShowAlert = false;
                self.appPushStatusAlertMessage = "";
              } else if (status == 1) {
                
                self.appPushStatusShowAlert = true;
                self.appPushStatusAlertMessage = "等待确认";
              } else if (status == 2) {
                
                self.appPushStatusShowAlert = true;
                self.appPushStatusAlertMessage = "已确认";

                window.clearTimeout(self.appPushStatusTimeout);
                window.setTimeout(function () {
                  submitFm1();
                }, 500);
              } else if (status == 3) {
                
                self.appPushStatusShowAlert = true;
                self.appPushStatusAlertMessage = "确认失败";
                
                window.clearTimeout(self.appPushStatusTimeout);
              } else if (status == 5) {
                
                self.appPushStatusShowAlert = true;
                self.appPushStatusAlertMessage = "已取消";
                
                window.clearTimeout(self.appPushStatusTimeout);
              } else if (status == 9) {
                
                self.appPushStatusShowAlert = true;
                self.appPushStatusAlertMessage = "已失效，请重新发送";
                
                self.appPushCallbackCode = null;
                
                window.clearTimeout(self.appPushStatusTimeout);
                
                window.setTimeout(function () {
                  self.initGuard();
                }, 500);
                
              }
              
            } else {
              window.clearTimeout(self.appPushStatusTimeout);
            }
          },
          error: function error(err) {
            console.log(err);
            window.clearTimeout(self.appPushStatusTimeout);
          }
        });
        
        self.appPushStatusTimeout = window.setTimeout(appPushStatus, 2000);
      }
      
      self.appPushStatusTimeout = window.setTimeout(appPushStatus, 100);
    },
    
    clearAppPushStatus: function clearAppPushStatus() {
      var self = this;

      window.clearTimeout(self.appPushSendTimeout);
      
      self.appPushSendDisabled = false;
      self.appPushSendText = "点击发送验证请求";
      self.appPushSendSeconds = 30;

      window.clearTimeout(self.appPushStatusTimeout);
      self.appPushStatusShowAlert = false;
      self.appPushStatusAlertMessage = "";
      
      self.appPushCallbackCode = null;
    },
    
    
    securePhoneSend: function securePhoneSend() {
      var self = this;
      
      function securePhoneSendCountDown() {
        self.securePhoneSendSeconds --;
        
        self.securePhoneSendDisabled = true;
        self.securePhoneSendText = "获取验证码" + "("+self.securePhoneSendSeconds+")";
        
        self.securePhoneSendTimeout = window.setTimeout(securePhoneSendCountDown, 1000);
        
        if (self.securePhoneSendSeconds <= 0) {
          window.clearTimeout(self.securePhoneSendTimeout);
          
          self.securePhoneSendDisabled = false;
          self.securePhoneSendText = "获取验证码";
          self.securePhoneSendSeconds = 60;
        }
      }

      self.securePhoneSendDisabled = true;

      var url = self.attestServerUrl + '/api/guard/securephone/send';
      var postdata = { "gid": self.gid };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          self.securePhoneSendDisabled = false;

          if (r && r.code == 0) {
            self.securePhoneValidShowAlert = true;
            self.securePhoneValidAlertMessage = "已发送";
            
            securePhoneSendCountDown();
          } else if (r && r.code != 0 && r.data.result == 'expired') {
            self.securePhoneValidShowAlert = true;
            self.securePhoneValidAlertMessage = "发送失败，已过期，请重新获取验证码";
            
            window.setTimeout(function () {
              self.initGuard();
            }, 500);
          } else {
            self.securePhoneValidShowAlert = true;
            self.securePhoneValidAlertMessage = "发送失败";
          }
        },
        error: function error(err) {
          console.log(err);

          self.securePhoneSendDisabled = false;

          self.securePhoneValidShowAlert = true;
          self.securePhoneValidAlertMessage = "发送失败";
        }
      });
    },
    securePhoneValid: function securePhoneValid() {
      var self = this;
      
      var url = self.attestServerUrl + '/api/guard/securephone/valid';
      var postdata = { "gid": self.gid, "code": self.securePhoneCode };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);
          
          if (r && r.code == 0) {
            var status = r.data.status;
          	
            if (status == 2) {
              // self.clearSecurePhone();

              window.setTimeout(function () {
                submitFm1();
              }, 500);
            } else {
              self.securePhoneValidShowAlert = true;
              self.securePhoneValidAlertMessage = "验证失败";
            }
          }

        },
        error: function error(err) {
          console.log(err);
        }
      });
    },

    clearSecurePhone: function clearSecurePhone() {
      var self = this;
      
      window.clearTimeout(self.securePhoneSendTimeout);
      
      self.securePhoneSendDisabled = false;
      self.securePhoneSendText = "获取验证码";
      self.securePhoneSendSeconds = 60;

      self.securePhoneCode = '';
      self.securePhoneValidShowAlert = false;
      self.securePhoneValidAlertMessage = "";
    },


    secureEmailSend: function secureEmailSend() {
      var self = this;
      
      function secureEmailSendCountDown() {
        self.secureEmailSendSeconds --;
        
        self.secureEmailSendDisabled = true;
        self.secureEmailSendText = "获取验证码" + "("+self.secureEmailSendSeconds+")";
        
        self.secureEmailSendTimeout = window.setTimeout(secureEmailSendCountDown, 1000);
        
        if (self.secureEmailSendSeconds <= 0) {
          window.clearTimeout(self.secureEmailSendTimeout);
          
          self.secureEmailSendDisabled = false;
          self.secureEmailSendText = "获取验证码";
          self.secureEmailSendSeconds = 60;
        }
      }
      
      self.secureEmailSendDisabled = true;

      var url = self.attestServerUrl + '/api/guard/secureemail/send';
      var postdata = { "gid": self.gid };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          self.secureEmailSendDisabled = false;

          if (r && r.code == 0) {
            self.secureEmailValidShowAlert = true;
            self.secureEmailValidAlertMessage = "已发送";
            
            secureEmailSendCountDown();
          } else if (r && r.code != 0 && r.data.result == 'expired') {
            self.securePhoneValidShowAlert = true;
            self.securePhoneValidAlertMessage = "发送失败，已过期，请重新获取验证码";
            
            window.setTimeout(function () {
              self.initGuard();
            }, 500);
          } else {
            self.secureEmailValidShowAlert = true;
            self.secureEmailValidAlertMessage = "发送失败";
          }
        },
        error: function error(err) {
          console.log(err);

          self.secureEmailSendDisabled = false;
          
          self.secureEmailValidShowAlert = true;
          self.secureEmailValidAlertMessage = "发送失败";
        }
      });
    },
    secureEmailValid: function secureEmailValid() {
      var self = this;
      
      var url = self.attestServerUrl + '/api/guard/secureemail/valid';
      var postdata = { "gid": self.gid, "code": self.secureEmailCode };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          if (r && r.code == 0) {
            var status = r.data.status;
          	
            if (status == 2) {
              // self.clearSecureEmail();

              window.setTimeout(function () {
                submitFm1();
              }, 500);
            } else {
              self.secureEmailValidShowAlert = true;
              self.secureEmailValidAlertMessage = "验证失败";
            }
          }
        },
        error: function error(err) {
          console.log(err);
        }
      });
    },

    clearSecureEmail: function clearSecureEmail() {
      var self = this;

      window.clearTimeout(self.secureEmailSendTimeout);
      
      self.secureEmailSendDisabled = false;
      self.secureEmailSendText = "获取验证码";
      self.secureEmailSendSeconds = 60;

      self.secureEmailCode = '';
      self.secureEmailValidShowAlert = false;
      self.secureEmailValidAlertMessage = "";
    },
    
    qrCodeInit: function qrCodeInit() {
      var self = this;
      
      if (self.qrCode == null || self.qrCode.scanTypes == null || self.qrCode.scanTypes.length == 0) {
        return;
      }
      
      var scanTypeNames = "";
      for (var i=0; i<self.qrCode.scanTypes.length; i++) {
        var scanType = self.qrCode.scanTypes[i];
        if (scanType == "superapp") {
          scanTypeNames += "、"+superappName;
        } else if (scanType == "qq") {
          scanTypeNames += "、QQ";
        } else if (scanType == "weixinmp") {
          scanTypeNames += "、微信";
        } else if (scanType == "workweixinh5") {
          scanTypeNames += "、企业微信";
        } else if (scanType == "dingtalkh5") {
          scanTypeNames += "、钉钉";
        }
      }
      if (scanTypeNames!="") {
        scanTypeNames = scanTypeNames.substring(1);
      }
      
      self.qrCodeScanTypeNames = scanTypeNames;
      
      self.qrCodeSend();
    },
    
    qrCodeSend: function qrCodeSend() {
      var self = this;

      var url = self.attestServerUrl + '/api/guard/qrcode/send';
      var postdata = { "gid": self.gid };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          if (r && r.code == 0 && r.data.scanQrcode) {
            self.qrCodeStatusShowAlert = false;
            self.qrCodeStatusAlertMessage = "";

            self.qrCodeScanQrcode = r.data.scanQrcode;
            self.qrCodeCallbackCode = r.data.callbackCode;

            self.startQrCodeStatus();
          } else {
            
            self.startQrCodeStatus();
          }
        },
        error: function error(err) {
          console.log(err);
        }
      });
    },
    
    qrCodeRefresh: function qrCodeRefresh() {
      var self = this;
      
      self.clearQrCode();
      self.initGuard();
    },

    startQrCodeStatus: function startQrCodeStatus() {
      var self = this;

      window.clearTimeout(self.appPushStatusTimeout); // 定时
      
      /*
       * status 
       * 0 init 新建、初始化, 
       * 1 sent 已发送、已扫码等, 
       * 2 valid 验证通过, 
       * 3 fail 验证失败, 
       * 5 cancel 取消, 
       * 8 scaned 已扫码
       * 9 expired 已过期、不存在
       */
      function qrCodeStatus() {
        var url = self.attestServerUrl + '/api/guard/qrcode/status';
        var postdata = { "gid": self.gid };
        
        $.ajax({
          type: "POST",
          url: url,
          contentType: 'application/json; charset=UTF-8',
          data: JSON.stringify(postdata),
          dataType: "json",
          timeout: 1000,
          success: function success(r) {
            // console.log(url, r);
            if (r && r.code == 0) {
              var status = r.data.status;
              
              if (status == 0) {
                
                self.qrCodeScanSuccess = false;
                self.qrCodeStatusShowAlert = false;
                self.qrCodeStatusAlertMessage = "";
              } else if (status == 1) {
                
                self.qrCodeScanSuccess = false;
                self.qrCodeStatusShowAlert = false;
                self.qrCodeStatusAlertMessage = "";
              } else if (status == 2) {
                
                self.qrCodeScanSuccess = true;
                self.qrCodeStatusShowAlert = true;
                self.qrCodeStatusAlertMessage = "已确认";

                window.clearTimeout(self.qrCodeStatusTimeout);
                window.setTimeout(function () {
                  submitFm1();
                }, 500);
              } else if (status == 3) {
                
                self.qrCodeScanSuccess = false;
                self.qrCodeStatusShowAlert = true;
                self.qrCodeStatusAlertMessage = "确认失败";
                
                window.clearTimeout(self.qrCodeStatusTimeout);
              } else if (status == 5) {
                
                self.qrCodeScanSuccess = false;
                self.qrCodeStatusShowAlert = true;
                self.qrCodeStatusAlertMessage = "已拒绝";
                
                window.clearTimeout(self.qrCodeStatusTimeout);
              } else if (status == 8) {
                
                self.qrCodeScanSuccess = true;
                self.qrCodeStatusShowAlert = true;
                self.qrCodeStatusAlertMessage = "已扫码，等待确认";
              } else if (status == 9) {
                
                self.qrCodeScanSuccess = false;
                self.qrCodeStatusShowAlert = true;
                self.qrCodeStatusAlertMessage = "已失效，请重新发送";
                
                self.qrCodeCallbackCode = null;
                
                window.clearTimeout(self.qrCodeStatusTimeout);
                
                /* window.setTimeout(function () {
                  self.initGuard();
                }, 500); */
                
              }
              
            } else {
              window.clearTimeout(self.qrCodeStatusTimeout);
            }
          },
          error: function error(err) {
            console.log(err);
            window.clearTimeout(self.qrCodeStatusTimeout);
          }
        });
        
        self.qrCodeStatusTimeout = window.setTimeout(qrCodeStatus, 2000);
      }
      
      self.qrCodeStatusTimeout = window.setTimeout(qrCodeStatus, 100);
    },
    
    clearQrCode: function clearQrCode() {
      var self = this;
      
      window.clearTimeout(self.qrCodeStatusTimeout);
      
      self.qrCodeScanQrcode = null;
      self.qrCodeScanSuccess = false;
      self.qrCodeStatusShowAlert = false;
      self.qrCodeStatusAlertMessage = "";

      self.qrCodeCallbackCode = null;
    },
    

    faceVerifyInit: function faceVerifyInit() {
      var self = this;
      
      self.faceVerifySend();
    },
    
    faceVerifySend: function faceVerifySend() {
      var self = this;

      var url = self.attestServerUrl + '/api/guard/faceverify/send';
      var postdata = { "gid": self.gid };
      
      $.ajax({
        type: "POST",
        url: url,
        contentType: 'application/json; charset=UTF-8',
        data: JSON.stringify(postdata),
        dataType: "json",
        success: function success(r) {
          console.log(url, r);

          if (r && r.code == 0 && r.data.scanFaceverify) {
            self.faceVerifyStatusShowAlert = false;
            self.faceVerifyStatusAlertMessage = "";

            self.faceVerifyScanFaceverify = r.data.scanFaceverify;
            self.faceVerifyCallbackCode = r.data.callbackCode;

            self.startFaceVerifyStatus();
          } else {
            
            self.startFaceVerifyStatus();
          }
        },
        error: function error(err) {
          console.log(err);
        }
      });
    },
    
    faceVerifyRefresh: function faceVerifyRefresh() {
      var self = this;
      
      self.clearFaceVerify();
      self.initGuard();
    },

    startFaceVerifyStatus: function startFaceVerifyStatus() {
      var self = this;

      window.clearTimeout(self.appPushStatusTimeout); // 定时
      
      /*
       * status 
       * 0 init 新建、初始化, 
       * 1 sent 已发送、已扫码等, 
       * 2 valid 验证通过, 
       * 3 fail 验证失败, 
       * 5 cancel 取消, 
       * 8 scaned 已扫码
       * 9 expired 已过期、不存在
       */
      function faceVerifyStatus() {
        var url = self.attestServerUrl + '/api/guard/faceverify/status';
        var postdata = { "gid": self.gid };
        
        $.ajax({
          type: "POST",
          url: url,
          contentType: 'application/json; charset=UTF-8',
          data: JSON.stringify(postdata),
          dataType: "json",
          timeout: 1000,
          success: function success(r) {
            // console.log(url, r);
            if (r && r.code == 0) {
              var status = r.data.status;
              
              if (status == 0) {
                
                self.faceVerifyScanSuccess = false;
                self.faceVerifyStatusShowAlert = false;
                self.faceVerifyStatusAlertMessage = "";
              } else if (status == 1) {
                
                self.faceVerifyScanSuccess = false;
                self.faceVerifyStatusShowAlert = false;
                self.faceVerifyStatusAlertMessage = "";
              } else if (status == 2) {
                
                self.faceVerifyScanSuccess = true;
                self.faceVerifyStatusShowAlert = true;
                self.faceVerifyStatusAlertMessage = "人脸识别成功";

                window.clearTimeout(self.faceVerifyStatusTimeout);
                window.setTimeout(function () {
                  submitFm1();
                }, 500);
              } else if (status == 3) {
                
                self.faceVerifyScanSuccess = false;
                self.faceVerifyStatusShowAlert = true;
                self.faceVerifyStatusAlertMessage = "人脸识别失败";
                
                window.clearTimeout(self.faceVerifyStatusTimeout);
              
              } else if (status == 11) {
                
                self.faceVerifyScanSuccess = true;
                self.faceVerifyStatusShowAlert = true;
                self.faceVerifyStatusAlertMessage = "人脸识别中…";
              } else if (status == 9) {
                
                self.faceVerifyScanSuccess = false;
                self.faceVerifyStatusShowAlert = true;
                self.faceVerifyStatusAlertMessage = "已失效，请刷新二维码";
                
                self.faceVerifyCallbackCode = null;
                
                window.clearTimeout(self.faceVerifyStatusTimeout);
                
                /* window.setTimeout(function () {
                  self.initGuard();
                }, 500); */
                
              }
              
            } else {
              window.clearTimeout(self.faceVerifyStatusTimeout);
            }
          },
          error: function error(err) {
            console.log(err);
            window.clearTimeout(self.faceVerifyStatusTimeout);
          }
        });
        
        self.faceVerifyStatusTimeout = window.setTimeout(faceVerifyStatus, 2000);
      }
      
      self.faceVerifyStatusTimeout = window.setTimeout(faceVerifyStatus, 100);
    },
    
    clearFaceVerify: function clearFaceVerify() {
      var self = this;
      
      window.clearTimeout(self.faceVerifyStatusTimeout);
      
      self.faceVerifyScanQrcode = null;
      self.faceVerifyScanSuccess = false;
      self.faceVerifyStatusShowAlert = false;
      self.faceVerifyStatusAlertMessage = "";

      self.faceVerifyCallbackCode = null;
    },
    

    
  }
});
</script>

<script type="text/javascript">

function submitFm1() {
  // $("#fm1").submit();
  $("#fm1").find(":submit").click();
}
function submitFm2() {
  // $("#fm2").submit();
  $("#fm2").find(":submit").click();
}
  document.onkeydown = function(event){
		if(event.keyCode==13){
			// 事件
			console.log("按下了回车键")
			if(currentMenu == 1){
				submitFm1();
			}else if(currentMenu == 2){
				submitFm2();
			}
			
		}
	}

</script>

<script type="text/javascript">
function mfaDetect() {
  var username = $("#fm1Input").find("#username").val();
  var password = $("#fm1Input").find("#password").val();

  if (encryptEnabled && password.indexOf('__RSA__') < 0) {
    var encodedPassword = "__RSA__"+encrypt.encrypt(password);
    password = encodedPassword;
  }

  var url = "\/cas\/mfa\/detect";
//  url += "?username=" + username;
  $.ajax({
    url: url,
    type: "POST",
    dataType: "json",
    data: "username=" + encodeURIComponent(username)+"&password=" + encodeURIComponent(password),
    success: function success(r) {
      console.log(url, r);
      if (r && r.code == 0) {
        var state = r.data.state;
        $("#fm1").find('[name="mfaState"]').val(state);

        var need = r.data.need;
        if (need == true) {
          $("#showGuardDialog").click();
        } else {
          submitFm1();
        }
      } else {
        console.log(r);
        // submitFm1();
      }
    },
    error: function error(err) {
      console.log(err);
      // submitFm1();
    }
  });

}
</script>

                    <script type="text/javascript">
                        var mobilePattern = new RegExp("^1[0-9]{10}$", 'i');

                        var i_login = "One moment please...";
                        $( document ).ready(function() {
                            console.log("fm1Input button", $("#fm1Input").find('[name="button"]'));
                          	$("#fm1Input").find('[name="button"]').click(function(){
                          	  console.log("submit button click");
                              var username = $("#fm1Input").find("#username").val();
                              var password = $("#fm1Input").find("#password").val();
                              if (username == null || username == '') {
                                $("#showErrorMessageUsername").click();
                                return false;
                              }

                              if (password == null || password == '') {
                                $("#showErrorMessagePassword").click();
                                return false;
                              }

                              var captcha = $("#fm1Input").find("#captcha").val();
                              if (casServerCaptchaEnabled && casServerCaptchaShow ) {
                                if (captcha == null || captcha == '') {
                                  $("#showErrorMessageCaptcha").click();
                                  return false;
                                }
                              }

                              window.setTimeout(function () {
                                if (mfaEnabled) {
                                  mfaDetect();
                                  return;
                                }
                                
                                submitFm1();
                              }, 500);

                          	  return false;
                          	});
                          	console.log("fm1", $("#fm1"));
                            $("#fm1").submit(function () {
                              var username = $("#fm1Input").find("#username").val();
                              var password = $("#fm1Input").find("#password").val();
                              if (username == null || username == '') {
                                $("#showErrorMessageUsername").click();
                                return false;
                              }

                              if (password == null || password == '') {
                                $("#showErrorMessagePassword").click();
                                return false;
                              }

                              var captcha = $("#fm1Input").find("#captcha").val();
                              if (casServerCaptchaEnabled && casServerCaptchaShow ) {
                                if (captcha == null || captcha == '') {
                                  $("#showErrorMessageCaptcha").click();
                                  return false;
                                }
                              }

                              if (mfaEnabled) {
                                var mfaState = $("#fm1").find('[name="mfaState"]').val();
                                if (mfaState == null || mfaState == '') {
                                  mfaDetect();
                                  return false;
                                }
                              }

                              $("#fm1").find('[name="username"]').val(username);
                              $("#fm1").find('[name="password"]').val(password);

                              if (casServerCaptchaEnabled && (typeof $("#fm1Input").find("#captcha") != 'undefined') ) {
                                $("#fm1").find('[name="captcha"]').val(captcha);
                              }

                              // 前端密码加密
                              if (encryptEnabled && password.indexOf('__RSA__') < 0) {
                                var encodedPassword = "__RSA__"+encrypt.encrypt(password);
                                $("#fm1").find('[name="password"]').val(encodedPassword);
                              }

                                //$("#fm1").find(":submit").attr("disabled", true);
                                //$("#fm1").find(":submit").attr("value", i_login);
                                //console.log(i_login);
                                
                                doLogin();
                                return true;
                            });
                            console.log("fm2Input button", $("#fm2Input").find('[name="button"]'));
                            $("#fm2Input").find('[name="button"]').click(function(){
                              var mobile = $("#fm2Input").find("#mobile").val();
                              var dynamiccode = $("#fm2Input").find("#dynamiccode").val();
                              if (mobile == null || mobile == '') {
                                $("#showErrorMessageMobile").click();
                                return false;
                              }
                              if (!mobilePattern.test(mobile)) {
                                $("#showErrorMessageMobile").click();
                                return false;
                              }

                              if (dynamiccode == null || dynamiccode == '') {
                                $("#showErrorMessageDynamicCode").click();
                                return false;
                              }
                              
                              window.setTimeout(function () {
                                submitFm2();
                              }, 500);
                              
                              return false;
                            });
                            console.log("fm2", $("#fm2"));
                            $("#fm2").submit(function () {
                              var mobile = $("#fm2Input").find("#mobile").val();
                              var dynamiccode = $("#fm2Input").find("#dynamiccode").val();
                              if (mobile == null || mobile == '') {
                                $("#showErrorMessageMobile").click();
                                return false;
                              }
                              if (!mobilePattern.test(mobile)) {
                                $("#showErrorMessageMobile").click();
                                return false;
                              }

                              if (dynamiccode == null || dynamiccode == '') {
                                $("#showErrorMessageDynamicCode").click();
                                return false;
                              }

                              $("#fm2").find('[name="username"]').val(mobile);
                              $("#fm2").find('[name="password"]').val(dynamiccode);

                                //$("#fm2").find(":submit").attr("disabled", true);
                                //$("#fm2").find(":submit").attr("value", i_login);
                                //console.log(i_login);
                                
                                doLogin();
                                return true;
                            });
                        });
                    </script>
                    
                    <script type="text/javascript">
                        function refreshCaptchaInMenu(currentMenu) {
                          refreshCaptcha($("#fm"+currentMenu+"Input").find("#captcha_img"));
                        }
                        function refreshCaptcha(obj) { // console.log(obj);
                          var captcha_img = $(obj);
                          var captcha_container = captcha_img.parents("div.el-form-item");
                          captcha_container.find("#captcha_img").attr("src", "\/cas\/captcha.jpg"+"?r=" + (new Date()).getTime() + Math.floor(Math.random()*24));
                          captcha_container.find("#captcha").val("");
                          captcha_container.find("#captcha").focus();
                        }
                        function togglePassword(obj) {
                          var $obj = $(obj);
                          
                          var $password = $(obj).parents('.sw-input').find("#password");
                          
                          if ($password.attr('type') == 'password') {
                            $password.attr('type', 'text');
                            $obj.removeClass('su-icon-hide').addClass('su-icon-display');
                          } else {
                            $password.attr('type', 'password');
                            $obj.removeClass('su-icon-display').addClass('su-icon-hide');
                          }
                        }
                    </script>
                    <script type="text/javascript">
                	  var i_sendToken = "Send"
                	  var i_sending = "Sending..."
                	  var i_send = "Sended"
                	  var disableSendToken = false;
                        function sendToken(obj) {
                          if (disableSendToken) {
                            return;
                          }
                          
                          var mobile = $("#fm2Input").find("#mobile").val();
                          if (mobile == null || mobile == '') {
                            $("#showErrorMessageMobile").click();
                            return;
                          }
                          if (!mobilePattern.test(mobile)) {
                            $("#showErrorMessageMobile").click();
                            return;
                          }
                          
                          var sendButton = $(obj);
                          
                          disableSendToken = true;
                      	  sendButton.attr("disabled", true);
                      	  sendButton.find('span').text(i_sending);
                      	  
                      	  var time = 60;
                      	  var setSended = function() {
                      	    sendButton.find('span').text(i_send + '('+time+')');
                      	    
                      	    time --;
                      	    if (time > 0) {
                      	      setTimeout(setSended, 1000);
                      	    } else {
                      	      disableSendToken = false;
                      	      sendButton.attr("disabled", false);
                      	      sendButton.find('span').text(i_sendToken);
                      	    }
                      	    
                      	  }
                          
                          $.ajax({
                            url: "\/cas\/passwordlessTokenSend",
                            type: "POST",
                            data: {"username": mobile},
                          	dataType: "json",
                          	success: function(r) {
                          	  console.log(r);
                          	  
                          	  if (r.data.success) {
                            	  // 提示信息
                            	  //alert(r.data.success);
                                  $("#showSuccessMessageSendCode").click();
                            	  // 倒计时 60s
                            	  time = 60;
                            	  setSended();
                          	  }
                          	  
                          	  if (r.data.error) {
                          	    //alert(r.data.error);
                          	    $("#showFailureMessageSendCode").click();
                          	    time = 0;
                          	    setSended();
                          	  }
                          	}
                          });
                          
                        }
                    </script>

                    <script type="text/javascript">
                        function forgotYourPassword() {
                          window.location.href="\/cas\/personal\/forgotYourPassword";
                        }
                    </script>

                    <script type="text/javascript">
                        function activeYourAccount() {
                          window.location.href="\/cas\/personal\/activeYourAccount";
                        }
                    </script>

  <script type="text/javascript">
  function processLoginError(containerFormInput, containerForm, originalUsername, hasErrors, errors) {
    console.log(containerForm);
    console.log(originalUsername);
    console.log(hasErrors);
    console.log(errors);
    
    doLoginFailN(containerFormInput, containerForm, originalUsername, hasErrors, errors);
  }
  
  var casServerCaptchaEnabled = null;
  var casServerCaptchaSkipN = null;
  var captchaSkipN = "3";
  
  var casServerCaptchaShow = false;
  
  function doLogin() {
    var loginN = (localStorage.loginN || "0");
    if (loginN == null) {
      loginN = "0";
    }
    
    loginN = parseInt(loginN) +1;
    localStorage.loginN = loginN;

    var nowTimestamp = new Date().getTime();
    localStorage.loginNTimestamp = nowTimestamp;
  }
  
  function doLoginFailN(containerFormInput, containerForm, originalUsername, hasErrors, errors) {

    var failN = (localStorage.failN || "0");
    if (failN == null) {
      failN = "0";
    }

    if (hasErrors) {
      failN = parseInt(failN) +1;
      localStorage.failN = failN;
      
      var nowTimestamp = new Date().getTime();
      localStorage.failNTimestamp = nowTimestamp;
    }

    doCaptchaShow(containerFormInput, containerForm, failN);
  }
  
  function doCaptchaShow(containerFormInput, containerForm, failN) {
    console.log('show captcha, failN='+failN+", captchaSkipN="+captchaSkipN);

    var fialNInput = containerForm.find('[name="failN"]');
    fialNInput.val(failN);

    var captchaInput = containerFormInput.find('[name="captcha"]');  // console.log(captchaInput.parents("div.el-form-item"));
    if (captchaInput.length <= 0) {
      return;
    }
    
    captchaInput.parents("div.captcha-input-container").hide();
    casServerCaptchaShow = false;

    if (failN < 0) {
      captchaInput.parents("div.captcha-input-container").show();
      casServerCaptchaShow = true;
    } else if (failN >= captchaSkipN) {
      captchaInput.parents("div.captcha-input-container").show();
      casServerCaptchaShow = true;
    }
  }
  
  function initCaptchaShow(containerFormInput, containerForm) {
    if (casServerCaptchaEnabled) {
      if (casServerCaptchaSkipN) {
        var loginN = (localStorage.loginN || "0");
        if (loginN == null) {
          loginN = "0";
        }
        loginN = parseInt(loginN);
        
        var failN = (localStorage.failN || "0");
        if (failN == null) {
          failN = "0";
        }
        failN = parseInt(failN);
        
        var failNTimestamp = (localStorage.failNTimestamp || "0");
        if (failNTimestamp == null) {
          failNTimestamp = "0";
        }
        
        var nowTimestamp = new Date().getTime();
        console.log('init captcha, failNTimestamp='+failNTimestamp+", nowTimestamp="+nowTimestamp);
        if (failNTimestamp < (nowTimestamp - (1000 * 60 * 60 * 1))) { // FIXME: 如果 1小时后，再登录，则清空 failN
          loginN = 0; 
          localStorage.loginN = loginN;
          failN = 0;
          localStorage.failN = failN;
        }
        
        if (failN < loginN) {
          loginN = 0; 
          localStorage.loginN = loginN;
          failN = 0; 
          localStorage.failN = failN;
        }
        
        doCaptchaShow(containerFormInput, containerForm, failN); // 显示
      } else {
        doCaptchaShow(containerFormInput, containerForm, -1); // 始终显示
      }
    }
  }
  $( document ).ready(function() {
    console.log("trigger initCaptchaShow");
  	initCaptchaShow($("#fm1Input"), $("#fm1"));
  });
  </script>

  
  <script type="text/javascript">
  $( document ).ready(function() {
    var location = self.document.location;
    var hash = decodeURIComponent(location.hash);
    
    if (hash != undefined && hash != '' && hash.indexOf('#') === -1) {
        hash = '#' + hash;
    }
    
    var action = location.href;
  
    /* var action = $('#fm1').attr('action');
    if (action == undefined) {
        action = location.href;
    } else {
        var qidx = location.href.indexOf('?');
        if (qidx != -1) {
            var queryParams = location.href.substring(qidx);
            action += queryParams;
        }
    } */
    action += hash;
    
    $('#fm1').attr('action', action);
    $('#fm2').attr('action', action);
    $('#fm3').attr('action', action);

  });
  </script>

  <script type="text/javascript">
  $( document ).ready(function() {
    $(".el-carousel__container").css({"max-height":"1080px", "min-height":"660px"});
    $("#vue_main").show();
  });
  </script>

    </div>
</main>





<script src="/cas/deps/js/fingerprintjs/v3/iife.min.js"></script>
<script>
$( document ).ready(function() {
  var fpVisitorId = (localStorage.fpVisitorId || "");
  if (fpVisitorId == "") {
    var fpPromise = FingerprintJS.load();
    fpPromise
      .then(function (fp) { return fp.get() })
      .then(function (result) {
        // Handle the result
        //console.log(result)
        localStorage.fpVisitorId = result.visitorId;
        $('[name="fpVisitorId"]').val(result.visitorId);
      });
  } else {
    $('[name="fpVisitorId"]').val(fpVisitorId);
  }
});
</script>

</body>
</html>
