diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 55aecae..5208a56 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -49,7 +49,7 @@ public class SysLoginController extends BaseController
mmap.put("isRemembered", rememberMe);
// 是否开启用户注册
mmap.put("isAllowRegister", Convert.toBool(configService.getKey("sys.account.registerUser"), false));
- return "login";
+ return "login_v1";
}
@PostMapping("/login")
diff --git a/ruoyi-admin/src/main/resources/static/css/login.css b/ruoyi-admin/src/main/resources/static/css/login.css
index 63a9b01..8b59e39 100644
--- a/ruoyi-admin/src/main/resources/static/css/login.css
+++ b/ruoyi-admin/src/main/resources/static/css/login.css
@@ -1,89 +1,113 @@
html {
- height:100%
+ height: 100%
}
+
body.signin {
- height:auto;
- background:url(../img/login-background.jpg) no-repeat center fixed;
- -webkit-background-size:cover;
- -moz-background-size:cover;
- -o-background-size:cover;
- background-size:cover
+ height: auto;
+ background: url(../img/login-background.jpg) no-repeat center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover
}
+
+/*
.signinpanel {
- width:750px;
- margin:10% auto 0;
- color:rgba(255,255,255,.95)
+
+ width: 750px;
+ margin: 10% auto 0;
+ !*color: rgba(255, 255, 255, .95)*!
}
+
.signinpanel .logopanel {
- float:none;
- width:auto;
- padding:0;
- background:0 0
+ float: none;
+ width: auto;
+ padding: 0;
+ background: 0 0
}
+
.signinpanel .signin-info ul {
- list-style:none;
- padding:0;
- margin:20px 0
+ list-style: none;
+ padding: 0;
+ margin: 20px 0
}
+
.signinpanel .form-control {
- display:block;
- margin-top:15px
+ display: block;
+ margin-top: 15px
}
+
.signinpanel .uname {
- background:#fff url(../img/user.png) no-repeat 95% center;
- color:#333
+ background: #fff url(../img/user.png) no-repeat 95% center;
+ color: #333
}
+
.signinpanel .pword {
- background:#fff url(../img/locked.png) no-repeat 95% center;
- color:#333
+ background: #fff url(../img/locked.png) no-repeat 95% center;
+ color: #333
}
+
.signinpanel .code {
- background: #fff no-repeat 95% center;color:#333; margin:0 0 15px 0;
+ background: #fff no-repeat 95% center;
+ color: #333;
+ margin: 0 0 15px 0;
}
+
.signinpanel .btn {
- margin-top:15px
+ margin-top: 15px
}
+
.signinpanel form {
- background:rgba(255,255,255,.2);
- border:1px solid rgba(255,255,255,.3);
- -moz-box-shadow:0 3px 0 rgba(12,12,12,.03);
- -webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);
- box-shadow:0 3px 0 rgba(12,12,12,.03);
- -moz-border-radius:3px;
- -webkit-border-radius:3px;
- border-radius:3px;
- padding:30px
+ background:rgba(255,255,255,.2);
+ border:1px solid rgba(255,255,255,.3);
+ -moz-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
+ -webkit-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
+ box-shadow: 0 3px 0 rgba(12, 12, 12, .03);
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ padding: 30px
}
+*/
+
.signup-footer {
- border-top:solid 1px rgba(255,255,255,.3);
- margin:20px 0;
- padding-top:15px
-}
-@media screen and (max-width:768px) {
- .signinpanel,.signuppanel {
- margin:0 auto;
- width:380px!important;
- padding:20px
-}
-.signinpanel form {
- margin-top:20px
-}
-.signup-footer,.signuppanel .form-control {
- margin-bottom:10px
-}
-.signup-footer .pull-left,.signup-footer .pull-right {
- float:none!important;
- text-align:center
-}
-.signinpanel .signin-info ul {
- display:none
-}
-}@media screen and (max-width:320px) {
- .signinpanel,.signuppanel {
- margin:0 20px;
- width:auto
+ border-top: solid 1px rgba(255, 255, 255, .3);
+ margin: 20px 0;
+ padding-top: 15px
}
+
+@media screen and (max-width: 750px) {
+/* .signinpanel, .signuppanel {*/
+/* margin: 0 auto;*/
+/* width: 380px !important;*/
+/* padding: 20px*/
+/* }*/
+
+ /*.signinpanel form {*/
+ /* margin-top: 40px*/
+ /*}*/
+
+ .signup-footer, .signuppanel .form-control {
+ margin-bottom: 10px
+ }
+
+ .signup-footer .pull-left, .signup-footer .pull-right {
+ float: none !important;
+ text-align: center
+ }
+
+ /*.signinpanel .signin-info ul {*/
+ /* display: none*/
+ /*}*/
}
+
+/*@media screen and (max-width: 320px) {*/
+/* .signinpanel, .signuppanel {*/
+/* margin: 0 20px;*/
+/* width: auto*/
+/* }*/
+/*}*/
+
/*
登录界面check样式
*/
@@ -93,6 +117,7 @@ body.signin {
margin-bottom: 7px;
display: inline-block;
}
+
/*
将初始的checkbox的样式改变
*/
@@ -105,6 +130,7 @@ body.signin {
top: 50%;
left: 3px;
}
+
/*
设计新的checkbox,位置
*/
@@ -121,10 +147,11 @@ body.signin {
border: 1px solid #bbb;
background: #fff;
}
+
/*
点击初始的checkbox,将新的checkbox关联起来
*/
-.checkbox-custom input[type="checkbox"]:checked +label:after {
+.checkbox-custom input[type="checkbox"]:checked + label:after {
position: absolute;
display: inline-block;
font-family: 'Glyphicons Halflings';
@@ -138,6 +165,7 @@ body.signin {
height: 16px;
color: #333;
}
+
.checkbox-custom label {
cursor: pointer;
line-height: 1.2;
@@ -146,16 +174,16 @@ body.signin {
text-align: left;
}
-.form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar {
+.form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar {
box-shadow: none;
}
-.form-control{
- border-radius: 1px!important;
- padding: 6px 12px!important;
- height: 34px!important;
+.form-control {
+ border-radius: 1px !important;
+ padding: 6px 12px !important;
+ height: 34px !important;
}
-.form-control:focus{
+.form-control:focus {
border-color: #1ab394 !important;
}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/static/css/login.min.css b/ruoyi-admin/src/main/resources/static/css/login.min.css
index 48f32c0..473b7aa 100644
--- a/ruoyi-admin/src/main/resources/static/css/login.min.css
+++ b/ruoyi-admin/src/main/resources/static/css/login.min.css
@@ -1 +1,216 @@
-html{height:100%}body.signin{height:auto;background:url(../img/login-background.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.signinpanel{width:750px;margin:10% auto 0;color:rgba(255,255,255,.95)}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:380px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left}.form-control,.form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus,.has-warning .form-control:focus,.navbar-collapse,.navbar-form,.navbar-form-custom .form-control:focus,.navbar-form-custom .form-control:hover,.open .btn.dropdown-toggle,.panel,.popover,.progress,.progress-bar{box-shadow:none}.form-control{border-radius:1px!important;padding:6px 12px!important;height:34px!important}.form-control:focus{border-color:#1ab394!important}
\ No newline at end of file
+html {
+ height: 100%
+}
+
+@keyframes rotate {
+ 0% {
+ transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
+ }
+ 100% {
+ transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
+ }
+}
+
+.stars {
+ transform: perspective(100px);
+ transform-style: preserve-3d;
+ position: absolute;
+ bottom: 0;
+ perspective-origin: 50% 100%;
+ left: 50%;
+ animation: rotate 90s infinite linear;
+}
+
+.star {
+ width: 2px;
+ height: 2px;
+ background: #F7F7B6;
+ position: absolute;
+ top: 0;
+ left: 0;
+ transform-origin: 0 0 -300px;
+ transform: translate3d(0, 0, -300px);
+ backface-visibility: hidden;
+}
+
+body.signin {
+ height: auto;
+ /*background: url(../img/login-background.jpg) no-repeat center fixed;*/
+ background: url(../img/login.jpg) no-repeat center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+ background-attachment: fixed;
+ overflow: hidden;
+}
+/*.btn-success {*/
+/* color: #fff;*/
+/* background-color: #5cb85c;*/
+/* border-color: #4cae4c*/
+/*}*/
+
+.signinpanel {
+ width: 750px;
+ margin: 10% auto 0;
+ color: rgba(255, 255, 255, .95)
+}
+
+.signinpanel .logopanel {
+ float: none;
+ width: auto;
+ padding: 0;
+ background: 0
+}
+
+.signinpanel .signin-info ul {
+ list-style: none;
+ padding: 0;
+ margin: 20px 0
+}
+
+.signinpanel .form-control {
+ display: block;
+ margin-top: 15px
+}
+
+.signinpanel .uname {
+ background: #fff url(../img/user.png) no-repeat 95% center;
+
+
+ color: #333
+}
+
+.signinpanel .pword {
+ background: #fff url(../img/locked.png) no-repeat 95% center;
+ color: #333
+}
+
+.signinpanel .code {
+ background: #fff no-repeat 95% center;
+ color: #333;
+ margin: 0 0 15px 0
+}
+
+.signinpanel .btn {
+ margin-top: 15px
+}
+
+/*.signinpanel form {*/
+/* background: rgba(255, 255, 255, .2);*/
+/* border: 1px solid rgba(255, 255, 255, .3);*/
+/* -moz-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);*/
+/* -webkit-box-shadow: 0 3px 0 rgba(12, 12, 12, .03);*/
+/* box-shadow: 0 3px 0 rgba(12, 12, 12, .03);*/
+/* -moz-border-radius: 3px;*/
+/* -webkit-border-radius: 3px;*/
+/* border-radius: 3px;*/
+/* padding: 30px*/
+/*}*/
+
+.signup-footer {
+ border-top: solid 1px rgba(255, 255, 255, .3);
+ margin: 20px 0;
+ padding-top: 15px
+}
+
+@media screen and (max-width: 768px) {
+ .signinpanel, .signuppanel {
+ margin: 0 auto;
+ width: 380px !important;
+ padding: 20px
+ }
+
+ .signinpanel form {
+ margin-top: 20px
+ }
+
+ .signup-footer, .signuppanel .form-control {
+ margin-bottom: 10px
+ }
+
+ .signup-footer .pull-left, .signup-footer .pull-right {
+ float: none !important;
+ text-align: center
+ }
+
+ .signinpanel .signin-info ul {
+ display: none
+ }
+}
+
+@media screen and (max-width: 320px) {
+ .signinpanel, .signuppanel {
+ margin: 0 20px;
+ width: auto
+ }
+}
+
+.checkbox-custom {
+ position: relative;
+ padding: 0 15px 0 25px;
+ margin-bottom: 7px;
+ display: inline-block
+}
+
+.checkbox-custom input[type="checkbox"] {
+ opacity: 0;
+ position: absolute;
+ cursor: pointer;
+ z-index: 2;
+ margin: -6px 0 0 0;
+ top: 50%;
+ left: 3px
+}
+
+.checkbox-custom label:before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 0;
+ margin-top: -9px;
+ width: 18px;
+ height: 17px;
+ display: inline-block;
+ border-radius: 2px;
+ border: 1px solid #bbb;
+ background: #fff
+}
+
+.checkbox-custom input[type="checkbox"]:checked + label:after {
+ position: absolute;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ content: "\e013";
+ top: 42%;
+ left: 3px;
+ margin-top: -5px;
+ font-size: 11px;
+ line-height: 1;
+ width: 16px;
+ height: 16px;
+ color: #333
+}
+
+.checkbox-custom label {
+ cursor: pointer;
+ line-height: 1.2;
+ font-weight: normal;
+ margin-bottom: 0;
+ text-align: left
+}
+
+.form-control, .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .navbar-collapse, .navbar-form, .navbar-form-custom .form-control:focus, .navbar-form-custom .form-control:hover, .open .btn.dropdown-toggle, .panel, .popover, .progress, .progress-bar {
+ box-shadow: none
+
+}
+
+.form-control {
+ border-radius: 8px !important;
+ padding: 6px 12px !important;
+ height: 34px !important
+}
+
+.form-control:focus {
+ border-color: #1ab394 !important
+}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/static/img/login-container.png b/ruoyi-admin/src/main/resources/static/img/login-container.png
new file mode 100644
index 0000000..77e719a
Binary files /dev/null and b/ruoyi-admin/src/main/resources/static/img/login-container.png differ
diff --git a/ruoyi-admin/src/main/resources/static/img/login.jpg b/ruoyi-admin/src/main/resources/static/img/login.jpg
new file mode 100644
index 0000000..160ac30
Binary files /dev/null and b/ruoyi-admin/src/main/resources/static/img/login.jpg differ
diff --git a/ruoyi-admin/src/main/resources/static/ruoyi/login_v1.js b/ruoyi-admin/src/main/resources/static/ruoyi/login_v1.js
new file mode 100644
index 0000000..9349793
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/static/ruoyi/login_v1.js
@@ -0,0 +1,112 @@
+$(function() {
+ validateKickout();
+ validateRule();
+ $('.imgcode').click(function() {
+ var url = ctx + "captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
+ $(".imgcode").attr("src", url);
+ });
+});
+
+$.validator.setDefaults({
+ submitHandler: function() {
+ login();
+ }
+});
+
+function login() {
+ $.modal.loading($("#btnSubmit").data("loading"));
+ var username = $.common.trim($("input[name='username']").val());
+ var password = $.common.trim($("input[name='password']").val());
+ var validateCode = $("input[name='validateCode']").val();
+ var rememberMe = $("input[name='rememberme']").is(':checked');
+ $.ajax({
+ type: "post",
+ url: ctx + "login",
+ data: {
+ "username": username,
+ "password": password,
+ "validateCode": validateCode,
+ "rememberMe": rememberMe
+ },
+ success: function(r) {
+ if (r.code == 0) {
+ location.href = ctx + 'index';
+ } else {
+ $.modal.closeLoading();
+ $('.imgcode').click();
+ $(".code").val("");
+ $.modal.msg(r.msg);
+ }
+ }
+ });
+}
+$(document).ready(function(){
+ var stars=1000; /*星星的密集程度,数字越大越多*/
+ var $stars=$(".stars");
+ var r=800; /*星星的看起来的距离,值越大越远,可自行调制到自己满意的样子*/
+ for(var i=0;i