login.html 6.2 KB
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta name="renderer" content="webkit"/>
    <meta charset="utf-8"/>
    <title>登录</title>
    <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css"/>

    <style type="text/css">
        html,body{
            background: transparent;
        }

        body {
            overflow: hidden;
        }

        hr {
            margin: 20px 0;
            border: 0;
            border-top: 1px solid #eee;
            border-bottom: 0;
        }

        .uk-form-icon, input {
            width: 100%;
        }

        input {
            height: 48px;
        }

        input:focus{
            box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
        }

        #loginPanel{
            background-image: url(/real_control_v2/electron/imgs/bg1.jpg);
            background-repeat: no-repeat;
            box-shadow: 1px 0px 20px 0 rgb(42, 65, 109), 1px 3px 20px 0 rgb(38, 61, 105);
            background-position: -15px -18px;
            border: 1px solid #4068b0;
            border-radius: 5px;
        }

        .top-tools{
            height:35px;
            position: relative;
        }

        .icon-span{
            padding: 6px 13px 10px 13px;
            cursor: default;
            -webkit-app-region: no-drag;
        }

        .icon-span:hover{
            background: rgba(255, 255, 255, 0.29);
            border-radius: 3px;
        }

        .icon-span.close-icon:hover{
            background: rgb(255, 118, 118);
        }
    </style>
</head>

<body>
<div class="wrapper ng-scope" style="padding: 10px;">
    <div id="loginPanel" class="dialog dialog-shadow">
        <div class="top-tools" style="-webkit-app-region: drag">
            <div style="position: absolute;right: 5px;top: 5px;">
                <span class="icon-span" id="mnavbarIconBtnMIN">
                    <img src="/real_control_v2/electron/imgs/minus.png">
                </span>
                <span class="icon-span close-icon" id="mnavbarIconBtnCLOSE">
                    <img src="/real_control_v2/electron/imgs/remove.png">
                </span>
            </div>
        </div>
        <div class="uk-grid">
            <div class="uk-width-5-10">
            </div>
            <div class="uk-width-5-10">
                <div class="uk-panel" style="padding: 36px 25px 36px 0;">
                    <form class="uk-form">
                        <div class="uk-form-row">
                            <div class="uk-form-icon">
                                <i class="uk-icon-user"></i>
                                <input autofocus class="uk-form-large" name="userName" type="text" placeholder="输入用户名">
                            </div>
                        </div>

                        <div class="uk-form-row">
                            <div class="uk-form-icon">
                                <i class="uk-icon-key"></i>
                                <input class="uk-form-large" name="password" type="password" placeholder="输入密码">
                            </div>
                        </div>
                        <br>
                        <br>
                        <div class="uk-form-row">
                            <button id="loginBtn" class="uk-button uk-button-primary uk-button-large uk-width-1-1"
                            >登录
                            </button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
    delete window.exports;
    delete window.module;
</script>
<!-- jQuery -->
<script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>
<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js"></script>
<script src="/assets/plugins/jsencrypt.min.js"></script>
<script>
    if(typeof(process)=='undefined' || !process){
        alert('不支持当前环境!!');
    }

    const ipcMain = require('electron').ipcRenderer

    !function () {
        var form = $('#loginPanel form')
                , nameInput = $('input[name=userName]', form)
                , pwdInput = $('input[name=password]', form);

        var keys;
        $('#loginBtn').on('click', function (e) {
            e.stopPropagation();
            try {
                var userName = nameInput.val()
                        , pwd = pwdInput.val();

                if(!userName || $.trim(userName)==''){
                    alert('请输入用户名!!');
                    return false;
                }

                if(!pwd || $.trim(pwd)==''){
                    alert('请输入密码!!');
                    return false;
                }

                //获取keys
                $.get('/user/login/jCryptionKey?t=' + Math.random(), function (data) {
                    keys = data.publickey;

                    //RSA加密
                    var encrypt = new JSEncrypt();
                    encrypt.setPublicKey(keys);
                    userName = encrypt.encrypt(userName);
                    pwd = encrypt.encrypt(pwd);
                    //登录
                    login(userName, pwd);
                });
            }
            catch (e) {
                console.log(e);
            }

            return false;
        });


        function login(userName, pwd) {
            var params = {
                userName: userName,
                password: pwd
            };
            $.post('/user/login', params
                    , function (rs) {
                        if (error(rs)) {
                            $('#loginBtn').removeAttr('disabled');
                            alert(rs.msg);
                        }
                        else {
                            ipcMain.send('webPageLoginSuccess');
                        }
                    });
        }

        function error(rs) {
            return rs.status == 'ERROR' || rs.status == 500;
        }

        $('#mnavbarIconBtnMIN').on('click', function () {
            ipcMain.send('webPageLoginWindowMinimize');
        });

        $('#mnavbarIconBtnCLOSE').on('click', function () {
            ipcMain.send('webPageLoginWindowClose');
        });

    }();
</script>
</body>
</html>