layui 实现登录

好文章需要耐心阅读…茶凡—Matrix

请添加图片描述

在做前端登录的时候需要先理解数据提交的原理,账户和密码框实际就是一个表单数据。

🍕 输入数据后,需要获取输入表单的数据,封装好

🍕 把从表单获取的数据提交给后台,提交成功后就跳转到后台管理系统的主页面。

1、login.html

注意

本文中采用的是 thymeleaf + springboot + java + layui 来创建的项目,如果单纯写html可能会有一些区别。

这里需要引用layui.jquery 来做 ajax请求。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" th:href="@{//unpkg.com/layui@2.6.8/dist/css/layui.css}">
    <script type="text/javascript" th:src="@{//unpkg.com/layui@2.6.8/dist/layui.js}"></script>

    <style type="text/css">
        .container{
            width: 420px;
            height: 320px;
            min-height: 320px;
            max-height: 320px;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
            padding: 20px;
            z-index: 130;
            border-radius: 8px;
            background-color: #fff;
            box-shadow: 0 3px 18px rgba(100, 0, 0, .5);
            font-size: 16px;
        }

        .close{
            background-color: white;
            border: none;
            font-size: 18px;
            margin-left: 410px;
            margin-top: -10px;
        }

        .layui-input{
            border-radius: 5px;
            width: 300px;
            height: 40px;
            font-size: 15px;
        }

        .layui-form-item{
            margin-left: -20px;
        }

        #logoid{
            margin-top: -16px;
            padding-left:150px;
            padding-bottom: 15px;
        }

        .layui-btn{
            margin-left: -50px;
            border-radius: 5px;
            width: 350px;
            height: 40px;
            font-size: 15px;
        }

        .verity{
            width: 120px;
        }

        .font-set{
            font-size: 13px;
            text-decoration: none;
            margin-left: 120px;
        }

        a:hover{
            text-decoration: underline;
        }

    </style>
</head>

<body background="https://cn.bing.com/th?id=OHR.BigHole_ZH-CN2671071218_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp">
<form class="layui-form" >
    <div class="container">

        <button class="close" title="关闭">X</button>

        <div class="layui-form-mid layui-word-aux">
            <img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg" class="layui-nav-img">
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">用户名</label>
            <div class="layui-input-block">
                <input type="text" name="username" id="username"required  lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">&nbsp;&nbsp;</label>
            <div class="layui-input-inline">
                <input type="password" name="password" id="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="login" name="login" id="login">
                    登陆
                </button>
            </div>
        </div>

    </div>
</form>

<script type="text/javascript"  src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>

<script>
    layui.use(['form','jquery', 'layedit', 'laydate'], function(){
        var form = layui.form
            ,layer = layui.layer
            ,layedit = layui.layedit
            ,$= layui.jquery
            ,laydate = layui.laydate;

        //监听提交
        form.on('submit(login)', function(data){
            var $1 = $.trim($("#username").val());
            var $2 = $.trim($("#password").val());

            if($1 == ''){
                layer.msg('用户名不能为空',function() {time:2000});
                return false;
            }

            if($2 == ''){
                layer.msg('密码不能为空',function() {time:2000});
                return false;
            }

            $.ajax({
                url:'/sys-admin/login',//发出请求
                type:'post',
                data:{"id":$1,"password":$2},
                success:function (data)  {
                    console.log(data)
                    if(data.code==1){//返回1说明登录成功
                        window.parent.frames.location.href="/about"
                    }
                    if(data.code==0){
                        layer.msg('登录失败')
                        window.parent.frames.location.href="/login"
                    }
                }
            });

            return false;
        });
    });
</script>
</body>
</html>
2、后台接口数据格式

后台的就不贴代码了,文章末尾可以获取
在做前端登录的时候需要先理解数据提交的原理,账户和密码框实际就是一个表单数据。

🍕 输入数据后,需要获取输入表单的数据,封装好

🍕 把从表单获取的数据提交给后台,提交成功后就跳转到后台管理系统的主页面。

1、login.html

注意

本文中采用的是 thymeleaf + springboot + java + layui 来创建的项目,如果单纯写html可能会有一些区别。

这里需要引用layui.jquery 来做 ajax请求。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" th:href="@{//unpkg.com/layui@2.6.8/dist/css/layui.css}">
    <script type="text/javascript" th:src="@{//unpkg.com/layui@2.6.8/dist/layui.js}"></script>

    <style type="text/css">
        .container{
            width: 420px;
            height: 320px;
            min-height: 320px;
            max-height: 320px;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
            padding: 20px;
            z-index: 130;
            border-radius: 8px;
            background-color: #fff;
            box-shadow: 0 3px 18px rgba(100, 0, 0, .5);
            font-size: 16px;
        }

        .close{
            background-color: white;
            border: none;
            font-size: 18px;
            margin-left: 410px;
            margin-top: -10px;
        }

        .layui-input{
            border-radius: 5px;
            width: 300px;
            height: 40px;
            font-size: 15px;
        }

        .layui-form-item{
            margin-left: -20px;
        }

        #logoid{
            margin-top: -16px;
            padding-left:150px;
            padding-bottom: 15px;
        }

        .layui-btn{
            margin-left: -50px;
            border-radius: 5px;
            width: 350px;
            height: 40px;
            font-size: 15px;
        }

        .verity{
            width: 120px;
        }

        .font-set{
            font-size: 13px;
            text-decoration: none;
            margin-left: 120px;
        }

        a:hover{
            text-decoration: underline;
        }

    </style>
</head>

<body background="https://cn.bing.com/th?id=OHR.BigHole_ZH-CN2671071218_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp">
<form class="layui-form" >
    <div class="container">

        <button class="close" title="关闭">X</button>

        <div class="layui-form-mid layui-word-aux">
            <img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg" class="layui-nav-img">
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">用户名</label>
            <div class="layui-input-block">
                <input type="text" name="username" id="username"required  lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">&nbsp;&nbsp;</label>
            <div class="layui-input-inline">
                <input type="password" name="password" id="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="login" name="login" id="login">
                    登陆
                </button>
            </div>
        </div>

    </div>
</form>

<script type="text/javascript"  src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>

<script>
    layui.use(['form','jquery', 'layedit', 'laydate'], function(){
        var form = layui.form
            ,layer = layui.layer
            ,layedit = layui.layedit
            ,$= layui.jquery
            ,laydate = layui.laydate;

        //监听提交
        form.on('submit(login)', function(data){
            var $1 = $.trim($("#username").val());
            var $2 = $.trim($("#password").val());

            if($1 == ''){
                layer.msg('用户名不能为空',function() {time:2000});
                return false;
            }

            if($2 == ''){
                layer.msg('密码不能为空',function() {time:2000});
                return false;
            }

            $.ajax({
                url:'/sys-admin/login',//发出请求
                type:'post',
                data:{"id":$1,"password":$2},
                success:function (data)  {
                    console.log(data)
                    if(data.code==1){//返回1说明登录成功
                        window.parent.frames.location.href="/about"
                    }
                    if(data.code==0){
                        layer.msg('登录失败')
                        window.parent.frames.location.href="/login"
                    }
                }
            });

            return false;
        });
    });
</script>
</body>
</html>
2、后台接口数据格式

后台的就不贴代码了,文章末尾可以获取

请添加图片描述

茶凡_Matrix仓亏地址:(CommuteRate: 通勤率后台初版 (gitee.com))

posted @ 2022-05-29 18:55  茶凡_Matrix  阅读(95)  评论(0编辑  收藏  举报  来源