Browse Source

修改短信登录为默认登录页

xieqy 2 years ago
parent
commit
5b1cec3eb8

+ 11 - 10
src/index.html

@@ -8,11 +8,11 @@
     <meta name="description" content="" />
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
     <link rel="apple-touch-icon" href="apple-touch-icon.png" />
-    <link rel="stylesheet" href="http://192.168.2.238:3308/supermap10iSP1/Build/Cesium/Widgets/widgets.css" />
-    <link rel="stylesheet" href="http://192.168.2.238:3308/supermapjs/ol/ol.css" />
-    <link rel="stylesheet" href="http://192.168.2.238:3308/supermapjs/ol/iclient-ol.min.css" />
+    <link rel="stylesheet" href="https://yeepms.yeec.com.cn/gis/supermap10iSP1/Build/Cesium/Widgets/widgets.css" />
+    <link rel="stylesheet" href="https://yeepms.yeec.com.cn/gis/supermapjs/ol/ol.css" />
+    <link rel="stylesheet" href="https://yeepms.yeec.com.cn/gis/supermapjs/ol/iclient-ol.min.css" />
     <link rel="stylesheet" href="./vendor/font-awesome-4.7.0/css/font-awesome.min.css">
-    <link rel="stylesheet" href="http://192.168.2.238:3308/supermap10iSP1/Build/Cesium/Control.MiniMap.css" />
+    <link rel="stylesheet" href="https://yeepms.yeec.com.cn/gis/supermap10iSP1/Build/Cesium/Control.MiniMap.css" />
     <link rel="stylesheet" href="./vendor/bootstrap-4.3.1/css/bootstrap.min.css" />
     <!--bootstrap 开关插件-->
     <link rel="stylesheet" href="./vendor/bootstrap4-toggle/css/bootstrap4-toggle.min.css">
@@ -33,8 +33,8 @@
     <link rel="stylesheet" href="css/animate.min.css" />
     <link rel="stylesheet" href="./vendor/iCheck/build.css" />
     <link rel="stylesheet" href="./vendor/viewerjs-1.6.1/viewer.min.css">
-    <script type="text/javascript" src="http://192.168.2.238:3308/supermapjs/leaflet/leaflet.js"></script>
-    <script type="text/javascript" src="http://192.168.2.238:3308/supermapjs/ol/ol.js"></script>
+    <script type="text/javascript" src="https://yeepms.yeec.com.cn/gis/supermapjs/leaflet/leaflet.js"></script>
+    <script type="text/javascript" src="https://yeepms.yeec.com.cn/gis/supermapjs/ol/ol.js"></script>
     <link rel="stylesheet" href="./vendor/jtoggler/jtoggler.css">
     <link rel="stylesheet" href="./vendor/videojs/video-js.min.css" rel="stylesheet">
     <script src="./vendor/videojs/video.min.js"></script>
@@ -90,7 +90,7 @@
     <script src="./vendor/echarts-4.2.1/js/echarts.min.js"></script>
     <script src="./vendor/echarts-4.2.1/js/echarts-gl.min.js"></script>
     <script type="text/javascript" src="./vendor/turf/turf.min.js"></script>
-    <script type="text/javascript" src="http://192.168.2.238:3308/supermap10iSP1/Build/Cesium/Cesium.js"></script>
+    <script type="text/javascript" src="https://yeepms.yeec.com.cn/gis/supermap10iSP1/Build/Cesium/Cesium.js"></script>
     <script type="text/javascript" src="./vendor/crypto-js-4.0.0/core.js" charset="utf-8"></script>
     <script type="text/javascript" src="./vendor/crypto-js-4.0.0/cipher-core.js" charset="utf-8"></script>
     <script type="text/javascript" src="./vendor/crypto-js-4.0.0/enc-base64.js" charset="utf-8"></script>
@@ -103,9 +103,10 @@
     <script src="./vendor/jspdf/html2canvas-0.4.1.js" type="text/javascript"></script>
     <script language="javascript" type="text/javascript" src="./vendor/my97datepicker/WdatePicker.js"></script>
     <script type="text/javascript"
-        src="http://192.168.2.238:3308/supermap10iSP1/Build/supermap/SuperMap.Include.js"></script>
-    <script type="text/javascript" src="http://192.168.2.238:3308/supermapjs/leaflet/iclient9-leaflet.min.js"></script>
-    <script type="text/javascript" src="http://192.168.2.238:3308/supermapjs/ol/iclient-ol.min.js"></script>
+        src="https://yeepms.yeec.com.cn/gis/supermap10iSP1/Build/supermap/SuperMap.Include.js"></script>
+    <script type="text/javascript"
+        src="https://yeepms.yeec.com.cn/gis/supermapjs/leaflet/iclient9-leaflet.min.js"></script>
+    <script type="text/javascript" src="https://yeepms.yeec.com.cn/gis/supermapjs/ol/iclient-ol.min.js"></script>
     <script type="text/javascript" src="./vendor/jtoggler/jtoggler.js"></script>
     <script type="text/javascript" src="./vendor/jquery-pagination-2.1.5/js/pages.js"></script>
 

File diff suppressed because it is too large
+ 6757 - 0
src/login original/css/bootstrap.css


BIN
src/login original/css/img/bg.png


BIN
src/login original/css/img/error.png


BIN
src/login original/css/img/loading.gif


BIN
src/login original/css/img/login_line.png


BIN
src/login original/css/img/password.png


BIN
src/login original/css/img/username.png


+ 136 - 0
src/login original/css/login.css

@@ -0,0 +1,136 @@
+* {
+    margin: 0;
+    padding: 0;
+}
+html,
+body {
+    height: 100%;
+    width: 100%;
+    /*font-family: 微软雅黑, Verdana, Geneva, Tahoma, sans-serif;*/
+    font-family: "宋体";
+    overflow: hidden;
+}
+#mainContainer {
+    width: 100%;
+    height: 100%;
+    background-image: url(./img/bg.png);
+    background-repeat: no-repeat;
+    background-size: 100% 100%;    
+}
+.username,
+.password {
+    text-align: left;
+    color: #58b0e1;
+    font-size: 20px;
+    padding-left: 55px;
+    padding-top: 5px;
+    height: 44px;
+    /*width: 272px !important;*/
+    /*width: 20% !important;*/
+    border: none; 
+}
+
+.login {
+    border: none;
+    color: white;
+    font-size: 16px;
+    padding: 0px;
+    letter-spacing: 8px;
+    width: 122px;
+    height: 42px;
+    background: #1ed7e5;
+    margin-left: 26px;
+}
+.login .loginLoading{
+   display: none;
+   margin-left: 38px;
+   padding-top: 5px;
+}
+
+.login .loginTxtLoading{    
+    position: absolute;
+    margin-top: -36px;
+    margin-left: 30px;
+}
+.login p{
+    text-align: center;
+    font-size: 24px;
+    font-weight: 600;
+    vertical-align: middle;
+    padding-top: 4px;    
+}
+
+.login:hover {
+  cursor: pointer;
+}
+
+.error {
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+    border: none;
+    border-radius: 0;
+    background-color: transparent;
+    position: absolute;
+    height: 40px;
+    top: calc(71.5% + 110px);
+    left: calc((50% - 330px));
+    text-align: center;
+    font-size: 18px;
+    display: none;
+    color: #ff0000;
+}
+
+
+/*底部信息 */
+.info {
+    width: 100%;
+    height: 30px;
+    position: absolute;
+    bottom: 0;
+}
+
+.info p {
+    margin-left: auto;
+    margin-right: auto;
+    width: 750px;
+    text-align: center;
+}
+
+.info span {
+    margin-left: 30px;
+    color: rgba(255, 255, 255, 0.5);
+    font-size: 12px;
+}
+
+.info span.end {
+    margin-right: 30px;
+}
+.shadow {
+    height: 17.78%;
+    width: calc(48% - 50px);
+    position: absolute;
+    left: calc(26% + 50px);
+    top: 71.5%;
+}
+.shadow .loginimg{
+    position: absolute;
+    left: 10px;
+    height: 44px;
+    text-align: center;
+}
+.shadow .form-inline .form-control{
+ width: auto;
+}
+.usernameContainer,.passwordContainer,.loginContainer{
+    position: absolute;
+}
+.passwordContainer{
+    margin-left:308px;
+}
+
+.loginContainer{
+     margin-left: 600px;
+}
+.shadow .loginimg img:last-child{
+    margin-left: 10px;
+}

+ 66 - 0
src/login original/index.html

@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <title>长江大保护GIS+BIM数字管网系统</title>
+    <link rel=”icon” href=”favicon.ico” mce_href=”/dir/favicon.ico” type=”image/x-icon”>
+    <link type="text/css" rel="stylesheet" href="../vendor/bootstrap-4.0.0/css/bootstrap.min.css">
+    <link type="text/css" rel="stylesheet" href="./css/login.css">
+</head>
+
+<body>
+    <div id='mainContainer'>
+        <div class="shadow form-inline">
+            <div class='loginitem form-inline'>
+                <div class='usernameContainer '>
+                    <div class='loginimg form-inline'>
+                        <img src="./css/img/username.png">
+                        <img src="./css/img/login_line.png">
+                    </div>
+                    <input type="text" class="input-sm form-control title username">
+                </div>
+                <div class='passwordContainer '>
+                    <div class='loginimg form-inline'>
+                        <img src="./css/img/password.png">
+                        <img src="./css/img/login_line.png">
+                    </div>
+                    <input name="password" type="password" class="input-sm form-control title password">
+                </div>
+                <div class='loginContainer'>
+                    <div class="login">
+                        <img class="loginLoading" src="./css/img/loading.gif">
+                        <p class="loginTxt">登录</p>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+        <div class="error">
+            <img src="./css/img/error.png" />
+            <span class="spanbackground">
+                <span class="errorInfoUsername">
+                    <div class="errorInfoUsername1"></div>
+                    <div class="errorInfoUsername2"></div>
+                    <div class="errorInfoUsername3"></div>
+                    <div class="errorInfoUsername4"></div>
+                </span>
+            </span>
+        </div>
+        <!--<div class="info">
+            <p><span>技术支持:成都同飞科技有限责任公司</span>
+            <span>客服电话:(028)8734870</span>
+            <span>建议使用Chrome53以上的浏览器</span>
+            <span class="end">版本号:v1.0</span></p>
+            
+        </div>-->
+    </div>
+</body>
+<script type="text/javascript" src="../vendor/jquery-3.3.1/jquery.min.js"></script>
+<script type="text/javascript" src="../vendor/js-security/sm3.js"></script>
+<script type="text/javascript" src="../vendor/js-security/sha1.js"></script>
+<script type="text/javascript" src="../vendor/js-cookie-2.1.3/cookie.min.js"></script>
+<script type="text/javascript" src="../vendor/require/require.min.js"></script>
+<script type="text/javascript" src="./js/login.js"></script>
+
+</html>

+ 193 - 0
src/login original/js/login.js

@@ -0,0 +1,193 @@
+
+
+/* CONFIGURE START */
+var API_ADDR = "",
+    SYS_ADDR = location.href.replace(/login\/+$/, ""),
+    COOKIE_EXPIRES = 1,
+    COOKIE_PATH = location.pathname.replace(/login\/+$/, "");
+var configurejs = SYS_ADDR + "configure.js";
+//const mydeskUrl="http://10.37.5.54:8080/UAC/sso/login";
+/* CONFIGURE END */
+require([configurejs], function (AppX) {
+    API_ADDR = AppX.appConfig.apiRoot;
+    load();
+})
+function load() {
+    // const search = window.location.search;
+    // if(search){
+    //     const token = getSearchString('token', search);
+    //     console.log(token);
+    // }else{
+    //     window.location.href=mydeskUrl+"?url=http://10.37.9.136:8082/login/";
+    // }
+    var userInput = $(".username");
+    var passwordInput = $('.password');
+    var btnLogin = $('.login');
+    if (Cookies.get(hex_sha1("remember")) == "true") {
+        $(".remember_check").addClass("check");
+        userInput.val(getCookies("username"));
+        passwordInput.val(getCookies("psw"));
+        btnLogin[0].focus();
+    } else
+        userInput[0].focus();
+    $(document).keydown(enterKeyDown.bind(this));
+    btnLogin.on('click', loginCallBack.bind(this));
+    userInput.on('focus', function () {
+        $(".error").hide();
+    }.bind(this));
+    passwordInput.on('focus', function () {
+        $(".error").hide();
+    }.bind(this));
+    $(".remember_check").off("click").on("click", function (e) {
+        if ($(e.currentTarget).hasClass("check")) {
+            $(e.currentTarget).removeClass("check");
+        } else {
+            $(e.currentTarget).addClass("check");
+        }
+    }.bind(this))
+
+    function enterKeyDown() {
+        if (event.keyCode == 13) {
+            showLoading();
+            loginCallBack.bind(this)();
+        }
+    }
+
+    function showLoading() {
+        $(".login").attr("disabled", true);
+        $(".loginLoading").show();
+        $(".loginTxt").addClass("loginTxtLoading");
+    }
+
+
+    function hideLoading() {
+        $(".login").attr("disabled", false);
+        $(".loginLoading").hide();
+        $(".loginTxt").removeClass("loginTxtLoading");
+    }
+
+
+    function loginCallBack(result) {
+        if (userInput.val() == '' && passwordInput.val() != '') {
+            hideLoading();
+            $(".error").show();
+            $(".errorInfoUsername").text("用户名不能为空!");
+        } else if (userInput.val() != '' && passwordInput.val() == '') {
+            hideLoading();
+            $(".error").show();
+            $(".errorInfoUsername").show().text("密码不能为空!");
+        } else if (userInput.val() == '' && passwordInput.val() == '') {
+            hideLoading();
+            $(".error").show();
+            $(".errorInfoUsername").show().text("用户名与密码不能为空!");
+        } else {
+            $.ajax({
+                url: API_ADDR + "/auth/oauth/token?project=8020",
+                data: {
+                    "username": $.trim(userInput.val()),
+                    "password": sm3($.trim(passwordInput.val()))
+                },
+                type: "post",
+                dataType: "json",
+                success: ajaxCallBack.bind(this),
+                error: errorCallBack.bind(this)
+            });
+        }
+    }
+    function getSearchString(key, Url) {
+        var str = Url;
+        str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号)
+        // 以&分隔字符串,获得类似name=xiaoli这样的元素数组
+        var arr = str.split("&");
+        var obj = new Object();
+        // 将每一个数组元素以=分隔并赋给obj对象
+        for (var i = 0; i < arr.length; i++) {
+            var tmp_arr = arr[i].split("=");
+            obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
+        }
+        return obj[key];
+    }
+    /**
+     * 根据mydesk token登录
+     * @param {*} token 
+     */
+    function loginWithTokenCheck(token) {
+        $.ajax({
+            url: API_ADDR + "/auth/oauth/login?project=8020",
+            headers: { "tokenCheck": token },
+            type: "GET",
+            dataType: "json",
+            success: ajaxCallBack.bind(this),
+            error: errorCallBack.bind(this)
+        });
+    }
+    function ajaxCallBack(result) {
+        hideLoading();
+        if ($(".remember_check").hasClass("check")) {
+            var remember = hex_sha1("remember");
+            Cookies.set(remember, "true", {
+                path: SYS_ADDR
+            });
+            Cookies.set(hex_sha1("username"), Secret_Key(userInput.val(), 'encryption'), {
+                path: SYS_ADDR
+            });
+            Cookies.set(hex_sha1("psw"), Secret_Key(passwordInput.val(), 'encryption'), {
+                path: SYS_ADDR
+            });
+        } else {
+            Cookies.remove(hex_sha1("remember"), {
+                path: COOKIE_PATH
+            });
+            Cookies.remove(hex_sha1("username"), {
+                path: COOKIE_PATH
+            });
+            Cookies.remove(hex_sha1("psw"), {
+                path: COOKIE_PATH
+            });
+        }
+
+        if (result.code == 1) {
+            Cookies.set(hex_sha1("username"), Secret_Key(userInput.val(), 'encryption'), {
+                path: COOKIE_PATH
+            });
+            Cookies.set(hex_sha1("token"), Secret_Key(result.result.accessToken, 'encryption'), {
+                path: COOKIE_PATH
+            });
+
+            if (result.result.userLevel == "1") {
+                Cookies.set(hex_sha1("deptname"), Secret_Key("超级管理员", 'encryption'), {
+                    path: COOKIE_PATH
+                });
+            } else {
+                Cookies.set(hex_sha1("deptname"), Secret_Key(result.result.departmentName, 'encryption'), {
+                    path: COOKIE_PATH
+                });
+            }
+
+            Cookies.set(hex_sha1("realname"), Secret_Key(result.result.realName, 'encryption'), {
+                path: COOKIE_PATH
+            });
+            //window.location.href = SYS_ADDR + "controlPanel";
+            window.location.href = SYS_ADDR + "projectSelectPanel/";
+        } else {
+            $(".error").show();
+            $(".errorInfoUsername").text(result.message);
+        }
+    }
+
+    function errorCallBack(mesg) {
+        hideLoading();
+        console.log(mesg);
+    }
+
+    /**
+     * 获取cookies值
+     */
+    function getCookies(name) {
+        var tempName = Cookies.get(hex_sha1(name));
+        if (tempName)
+            return Secret_Key(Cookies.get(hex_sha1(name)), 'decryption');
+        else
+            return "";
+    }
+}

BIN
src/login/css/img/bg.png


BIN
src/login/css/img/msg.png


BIN
src/login/css/img/password.png


BIN
src/login/css/img/password2.png


BIN
src/login/css/img/username.png


BIN
src/login/css/img/username2.png


+ 99 - 37
src/login/css/login.css

@@ -15,53 +15,58 @@ body {
     height: 100%;
     background-image: url(./img/bg.png);
     background-repeat: no-repeat;
-    background-size: 100% 100%;    
+    background-size: 100% 100%;
 }
 .username,
 .password {
     text-align: left;
     color: #58b0e1;
-    font-size: 20px;
+    font-size: 16px;
     padding-left: 55px;
     padding-top: 5px;
     height: 44px;
     /*width: 272px !important;*/
     /*width: 20% !important;*/
-    border: none; 
+    border: none;
+}
+input.username::-webkit-input-placeholder{
+    color:#999999;
+}
+input.password::-webkit-input-placeholder{
+    color:#999999;
 }
-
 .login {
     border: none;
     color: white;
-    font-size: 16px;
     padding: 0px;
     letter-spacing: 8px;
-    width: 122px;
-    height: 42px;
     background: #1ed7e5;
-    margin-left: 26px;
+    text-indent: 8px;
 }
-.login .loginLoading{
-   display: none;
-   margin-left: 38px;
-   padding-top: 5px;
+.login .loginLoading {
+    display: none;
+    margin-left: 52px;
+    padding-top: 5px;
+    height: 44px;
 }
 
-.login .loginTxtLoading{    
+.login .loginTxtLoading {
     position: absolute;
-    margin-top: -36px;
-    margin-left: 30px;
+    margin-top: -44px;
+    margin-left: 44px;
 }
-.login p{
+.login p {
     text-align: center;
-    font-size: 24px;
+    font-size: 20px;
     font-weight: 600;
     vertical-align: middle;
-    padding-top: 4px;    
+    line-height: 44px;
+    height: 44px;
+    font-family: Source Han Sans CN;
 }
 
 .login:hover {
-  cursor: pointer;
+    cursor: pointer;
 }
 
 .error {
@@ -73,13 +78,37 @@ body {
     position: absolute;
     height: 40px;
     top: calc(71.5% + 110px);
-    left: calc((50% - 330px));
+    left: calc(19% + 50px);
     text-align: center;
-    font-size: 18px;
+    font-size: 14px;
     display: none;
     color: #ff0000;
 }
-
+.feedback {
+    position: absolute;
+    top: calc(71.5% + 102px);
+    right: calc(21% + 34px);
+    font-size: 14px;
+    font-family: Source Han Sans CN;
+    font-weight: bold;
+    color: #1cecfc;
+    text-shadow: 0px 0px 2px rgba(7, 61, 104, 0.24);
+    width:157px;
+}
+.feedback span{
+    padding-bottom: 1px;
+    border-bottom:1px solid #1DDDEB;
+    cursor: pointer; 
+}
+.feedback span:hover{
+    color:#3cd5e0ed;
+}
+span.pwspan{
+    float: left;
+}
+span.feedspan{
+    float: right;
+}
 
 /*底部信息 */
 .info {
@@ -106,31 +135,64 @@ body {
     margin-right: 30px;
 }
 .shadow {
-    height: 17.78%;
-    width: calc(48% - 50px);
+    /* height: 17.78%; */
+    height:18.78%;
+    width: calc(59% - 50px);
     position: absolute;
-    left: calc(26% + 50px);
-    top: 71.5%;
+    left: calc(19% + 50px);
+    top: 70.5%;
+}
+.shadow .loginitem{
+    flex-flow: row nowrap;
 }
-.shadow .loginimg{
+.shadow .loginimg {
     position: absolute;
     left: 10px;
     height: 44px;
     text-align: center;
 }
-.shadow .form-inline .form-control{
- width: auto;
+.shadow .form-inline .form-control {
+    width: 100%;
 }
-.usernameContainer,.passwordContainer,.loginContainer{
-    position: absolute;
+.usernameContainer,
+.passwordContainer,
+.loginContainer {
+    position: relative;
 }
-.passwordContainer{
-    margin-left:308px;
+.msginfo {
+    padding-right: 90px;
+}
+.usernameContainer .msgBtn {
+    height: 44px;
+    position: absolute;
+    top: 0;
+    right: 0;
+    width: 90px;
+    font-size: 14px;
+    font-family: Source Han Sans CN;
+    font-weight: 500;
+    color: #555555;
+    border-left: 1px solid #2f83bd;
+}
+.msgBtn:hover {
+    background-color: #f8f9fa;
+}
+.msgBtn span {
+    position: relative;
+    left: 8px;
+    letter-spacing: 1px;
+    cursor: pointer;
+}
+.passwordContainer {
+    /* margin-left:308px; */
 }
 
-.loginContainer{
-     margin-left: 600px;
+.loginContainer {
+    /* margin-left: 600px; */
+    width: 156px;
+    height: 44px;
+    margin-left: 70px;
 }
-.shadow .loginimg img:last-child{
+.shadow .loginimg img:last-child {
     margin-left: 10px;
-}
+}

+ 19 - 4
src/login/index.html

@@ -13,19 +13,30 @@
     <div id='mainContainer'>
         <div class="shadow form-inline">
             <div class='loginitem form-inline'>
-                <div class='usernameContainer '>
+                <div class='usernameContainer'>
                     <div class='loginimg form-inline'>
                         <img src="./css/img/username.png">
                         <img src="./css/img/login_line.png">
                     </div>
-                    <input type="text" class="input-sm form-control title username">
+                    <input type="text" class="input-sm form-control title username" placeholder="用户名/手机号">
                 </div>
-                <div class='passwordContainer '>
+                <div class='passwordContainer' style="margin-left: 30px;">
                     <div class='loginimg form-inline'>
                         <img src="./css/img/password.png">
                         <img src="./css/img/login_line.png">
                     </div>
-                    <input name="password" type="password" class="input-sm form-control title password">
+                    <input type="password" class="input-sm form-control title password" placeholder="密码">
+                </div>
+                <div class='usernameContainer' style="margin-left: 30px;">
+                    <div class='loginimg form-inline'>
+                        <img src="./css/img/msg.png">
+                        <img src="./css/img/login_line.png">
+                    </div>
+                    <input type="text" autocomplete="off" class="input-sm form-control title username msginfo"
+                        placeholder="短信验证码">
+                    <div class="form-inline msgBtn">
+                        <span class="msgcode">获取验证码</span>
+                    </div>
                 </div>
                 <div class='loginContainer'>
                     <div class="login">
@@ -36,6 +47,10 @@
             </div>
 
         </div>
+        <!-- <div class="feedback">
+            <span class="pwspan">忘记密码?</span>
+            <span class="feedspan">问题反馈</span>
+        </div> -->
         <div class="error">
             <img src="./css/img/error.png" />
             <span class="spanbackground">

+ 73 - 5
src/login/js/login.js

@@ -1,6 +1,5 @@
 
 
-/* CONFIGURE START */
 var API_ADDR = "",
     SYS_ADDR = location.href.replace(/login\/+$/, ""),
     COOKIE_EXPIRES = 1,
@@ -12,6 +11,7 @@ require([configurejs], function (AppX) {
     API_ADDR = AppX.appConfig.apiRoot;
     load();
 })
+
 function load() {
     // const search = window.location.search;
     // if(search){
@@ -23,6 +23,8 @@ function load() {
     var userInput = $(".username");
     var passwordInput = $('.password');
     var btnLogin = $('.login');
+    var btnMSG = $('.msgcode');
+    var msgInput = $('.msginfo');
     if (Cookies.get(hex_sha1("remember")) == "true") {
         $(".remember_check").addClass("check");
         userInput.val(getCookies("username"));
@@ -32,6 +34,7 @@ function load() {
         userInput[0].focus();
     $(document).keydown(enterKeyDown.bind(this));
     btnLogin.on('click', loginCallBack.bind(this));
+    btnMSG.on('click', getMsgCode.bind(this));
     userInput.on('focus', function () {
         $(".error").hide();
     }.bind(this));
@@ -58,7 +61,66 @@ function load() {
         $(".loginLoading").show();
         $(".loginTxt").addClass("loginTxtLoading");
     }
-
+    function getMsgCode() {
+        if (userInput.val() == '') {
+            hideLoading();
+            $(".error").show();
+            $(".errorInfoUsername").text("用户名不能为空!");
+        }
+        // var countdown = 60;
+        // var setTime = function (obj) {
+        //     if (countdown == 0) {
+        //         obj.css('pointer-events', 'initial');
+        //         obj.prop('disabled', true);
+        //         obj.text("获取验证码");
+        //         countdown = 60;//60秒过后button上的文字初始化,计时器初始化;
+        //         return;
+        //     } else {
+        //         obj.css('pointer-events', 'none');
+        //         obj.prop('disabled', false);
+        //         obj.text(countdown + "s后重试");
+        //         countdown--;
+        //     }
+        //     setTimeout(function () { setTime(obj) }, 1000) //每1000毫秒执行一次
+        // }
+        //setTime(btnMSG);
+        $.ajax({
+            url: API_ADDR + "/base/authcode/add",
+            data: JSON.stringify({
+                "phoneNumber": $.trim(userInput.val())
+            }),
+            contentType: "application/json;charset=utf-8",
+            type: "post",
+            dataType: "json",
+            success: function (result) {
+                if (result.code === 1 && result.result) {
+                    var countdown = 60;
+                    var setTime = function (obj) {
+                        if (countdown == 0) {
+                            obj.css('pointer-events', 'initial');
+                            obj.prop('disabled', true);
+                            obj.text("获取验证码");
+                            countdown = 60;//60秒过后button上的文字初始化,计时器初始化;
+                            return;
+                        } else {
+                            obj.css('pointer-events', 'none');
+                            obj.prop('disabled', false);
+                            obj.text(countdown + "s后重试");
+                            countdown--;
+                        }
+                        setTimeout(function () { setTime(obj) }, 1000) //每1000毫秒执行一次
+                    }
+                    setTime(btnMSG);
+                } else {
+                    $(".error").show();
+                    $(".errorInfoUsername").text(result.result);
+                }
+            },
+            error: function (err) {
+                console.log(err);
+            }
+        });
+    }
 
     function hideLoading() {
         $(".login").attr("disabled", false);
@@ -80,12 +142,17 @@ function load() {
             hideLoading();
             $(".error").show();
             $(".errorInfoUsername").show().text("用户名与密码不能为空!");
+        } else if (userInput.val() !== '' && passwordInput.val() !== '' && msgInput.val() == '') {
+            hideLoading();
+            $(".error").show();
+            $(".errorInfoUsername").show().text("短信验证码不能为空!");
         } else {
             $.ajax({
                 url: API_ADDR + "/auth/oauth/token?project=8020",
                 data: {
-                    "username": $.trim(userInput.val()),
-                    "password": sm3($.trim(passwordInput.val()))
+                    "username": $.trim(userInput.val()) + "_UNIONLOGIN",
+                    "password": sm3($.trim(passwordInput.val())),
+                    "authCode": $.trim(msgInput.val())
                 },
                 type: "post",
                 dataType: "json",
@@ -177,7 +244,8 @@ function load() {
 
     function errorCallBack(mesg) {
         hideLoading();
-        console.log(mesg);
+        $(".error").show();
+        $(".errorInfoUsername").text(result.message);
     }
 
     /**

+ 6 - 6
src/main.ts

@@ -101,17 +101,17 @@ function loadApp(AppX: AppX) {
                         //判断是否有首页权限
                         let searchindex = AppX.appConfig.menuBarWidgets.findIndex(item => item.id == 'homePageContral');
                         if (searchindex != -1) {
-                                AppX.appConfig.hasHomePage = true;
-                                AppX.appConfig.menuBarWidgets.splice(searchindex, 1);
-                        } 
-                        if(AppX.appConfig.hasHomePage&&getCookies("enterBigScreen")=="true"){
+                            AppX.appConfig.hasHomePage = true;
+                            AppX.appConfig.menuBarWidgets.splice(searchindex, 1);
+                        }
+                        if (AppX.appConfig.hasHomePage && getCookies("enterBigScreen") == "true") {
                             require(AppX.dojoConfig, ['core/LoadManager.class'], function (LoadManager) {
                                 (new LoadManager).load(AppX.appConfig.homePageStartWidgets);
                             });
-                            Cookies.remove(hex_sha1("enterBigScreen"),{
+                            Cookies.remove(hex_sha1("enterBigScreen"), {
                                 path: COOKIE_PATH
                             });
-                        }else {
+                        } else {
                             require(AppX.dojoConfig, ['core/LoadManager.class'], function (LoadManager) {
                                 (new LoadManager).load(AppX.appConfig.loadOnStartWidgets);
                             });