文档章节

使用layui实现登陆功能

一个yuanbeth
 一个yuanbeth
发布于 2017/09/03 09:27
字数 697
阅读 399
收藏 1

因为coloradmin太过于庞大,感觉不适合前端入门,而layui一眼看上去就很清爽,看了官网上的案例,做的也不错。所以选择layui。下面会记录一些自认为有价值的知识点。

一、layui框架的文件结构如下:

输入图片说明

1、layui的使用有模块化和非模块法两种用法。所以要了解一下什么是模块化,

参考博客:http://www.jb51.net/article/107245.htm

2、内置方法config的使用

可以在使用模块之前,全局化配置一些参数,如下:

layui.config(
{
    dir : '/res/layui/' //layui.js 所在路径(注意,如果是script单独引入layui.js,无需设定该参数。),一般情况下可以无视
,
    version : false //一般用于更新模块缓存,默认不开启。设为true即让浏览器不缓存。也可以设为一个固定的值,如:201610
,
    debug : false //用于开启调试模式,默认false,如果设为true,则JS模块的节点会保留在页面
,
    base : '' //设定扩展的Layui模块的所在目录,一般用于外部模块扩展
}
);
//这里我主要来理解下base参数,当我自定义了一个模块,如user.js,放在/static/js/目录下,即不是layui里有的,那么我可以通过如下方法使用自定义模块里的方法:
layui.config(
{
    base : "/static/js/"
}
).use(['user'], function ()
{
    var user = layui.user;
    user.findUsrByUserName(username);
}
);
]

3登录页面的实现

(1)登陆,我主要用了layui的轮播和提交功能,语言太惨白i,直接贴代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8" />
  <title>登录</title>
  <link rel="stylesheet" href="/resource/plugins/layui/css/layui.css" type="text/css" />
  <link rel="stylesheet" href="/resource/css/login.css" type="text/css" />
  <script type="text/javascript" src="/resource/plugins/layui/layui.js">
</script>
</head>
<body>
  <div class="layui-carousel video_mask" id="login_carousel">
    <div carousel-item="">
      <div class="carousel_div1"></div>

      <div class="carousel_div2"></div>

      <div class="carousel_div3"></div>

      <div class="carousel_div4"></div>

      <div class="carousel_div5"></div>
    </div>

    <div class="login layui-anim layui-anim-up">
      <h1>登录</h1>

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

        <div class="layui-form-item">
          <input type="password" name="password" lay-verify="required" placeholder="请输入密码" autocomplete="off" value="" class="layui-input" />
        </div><button class="layui-btn layui-btn-normal login_btn" lay-submit="" lay-filter="login">登陆系统</button>
      </form>
    </div>
  </div>
</body>
</html>![输入图片说明](https://static.oschina.net/uploads/img/201709/03092118_VUPK.png "在这里输入图片标题")

 < script type = "text/javascript" >
    //<![CDATA[
    layui.use(['form', 'layer', 'jquery', 'carousel'], function ()
    {
        var $ = layui.jquery,
        form = layui.form,
        carousel = layui.carousel;
        
        /**背景图片轮播*/
        carousel.render(
        {
            elem : '#login_carousel',
            width : '100%',
            height : '100%',
            interval : 2000,
            arrow : 'none',
            anim : 'fade',
            indicator : 'none'
        }
        );
        
        /**监听登陆提交*/
        form.on('submit(login)', function (data)
        {
            //弹出loading
            var loginLoading = top.layer.msg('登陆中,请稍候',
                {
                    icon : 16,
                    time : false,
                    shade : 0.8
                }
                );
            //记录ajax请求返回值
            var ajaxReturnData;
            
            //登陆验证
            $.ajax(
            {
                url : '/login/login',
                type : 'post',
                async : false,
                data : data.field,
                success : function (data)
                {
                    ajaxReturnData = data;
                }
            }
            );
            
            //登陆成功
            if (ajaxReturnData.rendercode == 0)
            {
                window.location.href = "/";
                top.layer.close(loginLoading);
                return false;
            }
            else
            {
                top.layer.close(loginLoading);
                top.layer.msg(ajaxReturnData.errmsg,
                {
                    icon : 5
                }
                );
                return false;
            }
        }
        );
    }
    );
//]]>
<  / script >

© 著作权归作者所有

共有 人打赏支持
一个yuanbeth
粉丝 81
博文 114
码字总数 71130
作品 0
深圳
程序员
私信 提问
荔枝后台管理系统 - lychee

lychee 后台管理系统基于 Layui 1.0.9 实现,lychee 取 Layui 中的 ly,恰好荔枝(lychee)含 ly 开头,那就叫 lychee 后台管理系统模板咯。 lychee 后端使用 Jboot+Beetl+MySQL ,前端 Layu...

IT小香猪
2018/05/11
0
0
轻量级工单和资产管理系统

【业务需求】 - 客服可以自己添加功能 和 通过API 接口 提交功能 - 客服可以认领工单 - 管理员可以配置工单通知工作流,基于工作流通知相应人员 - 资产管理员录入资产、管理资产 - 资产可以被...

fmxzhou
2017/06/10
9
7
荔枝(lychee)后台管理系统 5 月 11 日正式发布

荔枝(lychee)后台管理系统基于 Layui 1.0.9 实现,lychee 取 Layui 中的 ly,恰好荔枝(lychee)含 ly 开头,那就叫 lychee 后台管理系统模板咯。 lychee 后端使用 Jboot+Beetl+MySQL,前端...

IT小香猪
2018/05/11
2.3K
11
轻量级工单和资产管理系统

【业务需求】 - 客服可以自己添加功能 和 通过API 接口 提交功能 - 客服可以认领工单 - 管理员可以配置工单通知工作流,基于工作流通知相应人员 - 资产管理员录入资产、管理资产 - 资产可以被...

fmxzhou
2017/06/10
1
0
springboot + shiro之登录人数限制、登录判断重定向、session时间设置

springboot + shiro之登录人数控制 项目 前篇:spring boot + mybatis + layui + shiro后台权限管理系统 本文是基于spring boot + mybatis + layui + shiro后台权限管理系统开发的,新增功能...

wyait
2018/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
4
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部