| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>自动仓储 - 管理系统</title> |
| | | <link rel="icon" type="image/x-icon" href="../static/image/log.png" /> |
| | | <link rel="stylesheet" href="../static/layui/css/layui.css" media="all"> |
| | | <script type="text/javascript" src="../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <title>中扬 │ login of zoneyung wms</title> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1"> |
| | | <meta name="description" content="study of Instancing with three.js"> |
| | | <meta name="keywords" content="undefined, Yoichi Kobayashi, WebGL, three.js"> |
| | | <meta name="theme-color" content="#111111"> |
| | | <meta name="msapplication-TileImage" content="/sketch-threejs/img/common/ms_tileimage.png"> |
| | | <meta name="msapplication-TileColor" content="#111111"> |
| | | <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" /> |
| | | <link rel="stylesheet" href="../static/css/font/font-awesome-4.7.0/css/font-awesome.css"> |
| | | <link rel="stylesheet" href="../static/css/main.min.css"> |
| | | <link rel="stylesheet" href="../static/css/login.css"> |
| | | <style> |
| | | html{ |
| | | height: 100%; |
| | | } |
| | | body.login-bg { |
| | | color: #777; |
| | | height: 100%; |
| | | /*background-image: url("../static/image/bg-imgage.jpg");*/ |
| | | background-image: url("../static/image/login_bg.jpg"); |
| | | background-repeat: no-repeat; |
| | | background-size: cover; |
| | | background-position: top center; |
| | | } |
| | | #sidebar{ |
| | | /*定位*/ |
| | | position: absolute; |
| | | top: 50%; |
| | | right: 1%; |
| | | transform: translateY(-50%); |
| | | width: 20%; |
| | | height: 95%; |
| | | /*特效*/ |
| | | background: rgba(255,255,255,0.6); |
| | | border-radius: 5px; |
| | | color: #ffffff; |
| | | z-index: 99; |
| | | box-shadow: 3px 3px 6px 3px rgba(0, 0, 0, .3); |
| | | } |
| | | |
| | | #login-wrapper { |
| | | /*color: #fff;*/ |
| | | box-sizing:border-box; |
| | | /*background: #576669;*/ |
| | | background: #fff; |
| | | position: absolute; |
| | | top: 45%; |
| | | left: 50%; |
| | | margin-top: -210px; |
| | | margin-left: -220px; |
| | | width: 440px; |
| | | min-height: 420px; |
| | | padding: 50px; |
| | | text-align: center; |
| | | border-radius: 5px; |
| | | .login-contain { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .login-box { |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | width: 100%; |
| | | text-align: center; |
| | | } |
| | | |
| | | transform-origin: 50% 50%; |
| | | animation: loading 1s 0s forwards; |
| | | transform: rotateX(0deg); |
| | | } |
| | | |
| | | #login-wrapper h2 { |
| | | letter-spacing: 3px; |
| | | font-size: 26px; |
| | | margin-bottom: 30px; |
| | | } |
| | | |
| | | .layadmin-user-login-body .layui-form-item { |
| | | margin-bottom: 20px; |
| | | position: relative; |
| | | } |
| | | .layadmin-user-login-body .layui-form-item .layui-input { |
| | | height: 42px; |
| | | padding-left: 40px; |
| | | font-size: 16px; |
| | | border: 1px solid #c8cccf; |
| | | color: inherit; |
| | | } |
| | | .login-submit { |
| | | margin-top: 30px; |
| | | } |
| | | .layadmin-user-login-icon { |
| | | position: absolute; |
| | | left: 1px; |
| | | top: 1px; |
| | | width: 38px; |
| | | line-height: 40px; |
| | | text-align: center; |
| | | color: #B2B2B2; |
| | | font-size: 18px; |
| | | } |
| | | .layui-btn-normal { |
| | | background-color: #0767aa; |
| | | font-size: 20px; |
| | | border-radius: 4px; |
| | | height: 52px; |
| | | } |
| | | .layui-form-checked[lay-skin=primary] i { |
| | | border-color: #0767aa!important; |
| | | background-color: #0767aa; |
| | | color: #fff; |
| | | } |
| | | .layui-form-checkbox[lay-skin=primary]:hover i { |
| | | border-color: #0767aa; |
| | | color: #fff; |
| | | } |
| | | #code-box { |
| | | position: relative; |
| | | height: 42px; |
| | | } |
| | | #code-label { |
| | | z-index: 999; |
| | | } |
| | | #code { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | display: inline-block; |
| | | width: 60%; |
| | | } |
| | | #codeImg { |
| | | border: 1px solid rgba(0,0,0,0.1); |
| | | position: absolute; |
| | | right: 5%; |
| | | top: 0; |
| | | width: 30%; |
| | | height: 90%; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body class="login-bg"> |
| | | |
| | | <div id="login-wrapper"> |
| | | <header> |
| | | <h2>系统登录</h2> |
| | | </header> |
| | | <div class="layui-form layadmin-user-login-body"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-icon layui-icon-username layadmin-user-login-icon"></label> |
| | | <input id="mobile" class="layui-input" type="text" name="mobile" lay-verify="mobile" placeholder="账号"> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-icon layui-icon-password layadmin-user-login-icon"></label> |
| | | <input id="password" class="layui-input" type="password" name="password" lay-verify="password" placeholder="密码"> |
| | | </div> |
| | | <div id="code-box" class="layui-form-item" style=""> |
| | | <label id="code-label" class="layui-icon layui-icon-vercode layadmin-user-login-icon"></label> |
| | | <input id="code" class="layui-input" type="text" name="password" lay-verify="code" placeholder="验证码"> |
| | | <img id="codeImg" title="看不清?点击换一张。"> |
| | | </div> |
| | | <div class="layui-form-item" style="text-align: left;padding-left: 3px;"> |
| | | <input id="rememberPwd" style="vertical-align: middle" type="checkbox" lay-skin='primary' lay-filter="remPwd" title="记住密码" checked="checked"> |
| | | </div> |
| | | </head> |
| | | <body> |
| | | <div class="l-page l-page--white" data-id="instancing"> |
| | | <div style="position: fixed; |
| | | z-index: 100; |
| | | top: 22px; |
| | | left: 20px;"> |
| | | <img src="../static/image/logo.png" alt="" style="width: 20%"> |
| | | </div> |
| | | <div class="p-sketch-outline"> |
| | | <h2 class="p-sketch-outline__title">Automatic Storage and Retrieval System</h2> |
| | | <p class="p-sketch-outline__date">posted: 2018.01.01 / update: 2022.03.18 |
| | | </p> |
| | | <p class="p-sketch-outline__description">wms made with various simple objects.</p> |
| | | </div> |
| | | <canvas class="p-canvas-webgl" id="canvas-webgl"></canvas> |
| | | </div> |
| | | <div class="layui-form-item login-submit"> |
| | | <button id="login-button" class="layui-btn layui-btn-fluid layui-btn-normal" lay-submit="" lay-filter="login">登 录</button> |
| | | <!-- 侧边栏 --> |
| | | <div id="sidebar"> |
| | | <div class="login-contain"> |
| | | <div class="login-box"> |
| | | <img src="../static/image/logo.png" alt="" style="width: 80%"> |
| | | <span class="login100-form-title p-t-20 p-b-45">中扬立库</span> |
| | | <span class="login100-form-title p-t-20 p-b-45" style="margin: 15px 0;color: #868686;font-size: 24px">WMS</span> |
| | | <div class="wrap-input100 validate-input m-b-10" data-validate="请输入用户名"> |
| | | <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off"> |
| | | <span class="focus-input100"></span> |
| | | <span class="symbol-input100"> |
| | | <i class="fa fa-user"></i> |
| | | </span> |
| | | </div> |
| | | <div class="wrap-input100 validate-input m-b-10" data-validate="请输入密码"> |
| | | <input id="password" class="input100" type="password" name="pass" placeholder="password"> |
| | | <span class="focus-input100"></span> |
| | | <span class="symbol-input100"> |
| | | <i class="fa fa-lock"></i> |
| | | </span> |
| | | </div> |
| | | <div class="container-login100-form-btn p-t-10"> |
| | | <button class="login100-form-btn login-btn">Login</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </body> |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript"> |
| | | |
| | | $(function () { |
| | | <script type="text/javascript" src="../static/js/tools/main.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../static/layer/layer.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script> |
| | | // remember pwd |
| | | $(function () { |
| | | var oldUserName = localStorage.getItem('oldUserName'); |
| | | var oldPass = localStorage.getItem('oldPass'); |
| | | if(oldUserName){ |
| | | $('#mobile').val(oldUserName); |
| | | $('#username').val(oldUserName); |
| | | } |
| | | if(oldPass){ |
| | | $('#password').val(oldPass); |
| | | $('#password').val(oldPass); |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | // 验证码开关 |
| | | var codeSwitch = 'Y'; |
| | | $.ajax({ |
| | | url: baseUrl+"/code/switch.action", |
| | | async: false, |
| | | success: function (res) { |
| | | if (res.data === 'N'){ |
| | | codeSwitch = res.data; |
| | | $('#code-box').css("display", "none"); |
| | | } |
| | | window.onload = function(){document.getElementById("username").focus();} |
| | | |
| | | $(document).on('click','.login-btn', function () { |
| | | let username = $("#username").val(); |
| | | if (username === "") { |
| | | layer.tips('请输入登录账号', '#username', {tips: [4, '#ff0000']}); |
| | | return; |
| | | } |
| | | }); |
| | | |
| | | // 初始化验证码 |
| | | initCode(); |
| | | $('#codeImg').click(function () { |
| | | initCode(); |
| | | }); |
| | | function initCode() { |
| | | var random = Math.random(); |
| | | $('#codeImg').attr("src", baseUrl+"/code.action?sd="+random); |
| | | setTimeout(function () { |
| | | $.ajax({ |
| | | url: baseUrl+"/code.do", |
| | | data: {sd: random}, |
| | | method: 'POST', |
| | | async: false, |
| | | success: function (code) { |
| | | sessionStorage.setItem("code", code); |
| | | } |
| | | }); |
| | | }, 100); |
| | | } |
| | | |
| | | layui.use(['form','layer'],function () { |
| | | var form = layui.form, |
| | | layer = layui.layer, |
| | | $ = layui.jquery; |
| | | |
| | | form.on('submit(login)', function (data) { |
| | | var mobile = $("#mobile").val(); |
| | | if (mobile === "") { |
| | | layer.msg("请输入手机号", {offset: '150px'}); |
| | | return; |
| | | let password = $("#password").val(); |
| | | if (password === "") { |
| | | layer.tips('请输入密码', '#password', {tips: [4, '#ff0000']}); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: baseUrl+"/login.action", |
| | | data: { |
| | | username: username, |
| | | password: hex_md5(password) |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | localStorage.setItem("token", res.data.token); |
| | | localStorage.setItem("username", res.data.username); |
| | | window.location.href = "index.html"; |
| | | } else if (res.code === 10001) { |
| | | layer.tips(res.msg, '#username', {tips: [4, '#ff0000']}); |
| | | } else if (res.code === 10002) { |
| | | layer.tips(res.msg, '#username', {tips: [4, '#ff0000']}); |
| | | } else if (res.code === 10003) { |
| | | layer.tips(res.msg, '#password', {tips: [4, '#ff0000']}); |
| | | } else { |
| | | layer.tips(res.msg, '.login-btn', {tips: [3, '#ff0000']}); |
| | | } |
| | | var password = $("#password").val(); |
| | | if (password === "") { |
| | | layer.msg("请输入密码", {offset: '150px'}); |
| | | return; |
| | | } |
| | | var code = $("#code").val(); |
| | | if (code === "" && codeSwitch === 'Y') { |
| | | layer.msg("请输入验证码", {offset: '150px'}); |
| | | return; |
| | | } |
| | | if (sessionStorage.getItem("code").toUpperCase() !== code.toUpperCase()&&codeSwitch==='Y'){ |
| | | layer.msg("验证码错误", {offset: '150px'}); |
| | | return; |
| | | } |
| | | |
| | | var user = { |
| | | mobile: mobile, |
| | | password: hex_md5(password) |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/login.action", |
| | | data: user, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | // 记住密码 |
| | | if($('#rememberPwd').is(':checked')){ |
| | | localStorage.setItem('oldUserName',user.mobile); |
| | | localStorage.setItem('oldPass',password); |
| | | } else { |
| | | localStorage.removeItem('oldUserName'); |
| | | localStorage.removeItem('oldPass'); |
| | | } |
| | | localStorage.setItem("token", res.data.token); |
| | | localStorage.setItem("username", res.data.username); |
| | | window.location.href = "index.html"; |
| | | } else { |
| | | layer.msg(res.msg, {offset: '150px'}); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | $('body').keydown(function () { |
| | | if (event.keyCode === 13) { |
| | | $("#login-button").click(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | </script> |
| | | </html> |
| | | $('body').keydown(function () { |
| | | if (event.keyCode === 13) { |
| | | $(".login-btn").click(); |
| | | } |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |