layui登录时,记住密码怎么实现

提问 未结
12 575
Programmer414
悬赏:20飞吻
版本:layui 浏览器:
登录时记住密码如何实现,求代码,谢谢
回帖
  • Jackie
    2018-9-9
    这是我的实现方法,仅供参考,希望对你有帮助。
    <!-- 记住用户名复选框 -->
    <input type="checkbox" name="remember_user" id="remember_user" lay-skin="primary" title="记住用户" />

    /* JS代码 */
    /*记住用户名和密码*/
    $(function() {
    if ($.cookie("remember_user")) {
    $("#remember_user").prop("checked", true);
    $("#user_name").val($.cookie("user_name"));
    $("#user_password").val($.cookie("user_password"));
    }
    });

    function saveUserInfo() {
    if ($("#remember_user").prop("checked") == true) {
    var user_name = $("#user_name").val();
    var user_password = $("#user_password").val();
    $.cookie("remember_user", "true", {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    $.cookie("user_name", user_name, {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    $.cookie("user_password", user_password, {
    expires: 7
    }); // 存储一个带7天期限的 cookie
    } else {
    $.cookie("remember_user", "false", {
    expires: -1
    }); // 删除 cookie
    $.cookie("user_name", '', {
    expires: -1
    });
    $.cookie("user_password", '', {
    expires: -1
    });
    }
    }
    1 回复
  • 厉害厉害······
    0 回复
  • @Jackie 你的写在页面还是js文件里
    0 回复
  • Jackie
    2018-9-10
    @Programmer414 我就写在页面里的
    0 回复
  • 记住密码只靠前端是没用的,前后端都要实现才行,后端建议用token,不建议使用session
    0 回复
  • Elylon
    2018-9-10
    @MoCno 前端cookie一样可以滴哦[嘻嘻]
    0 回复
  • @Ely_lon 前端的cookie和后台的session是对应关系的,你把cookie存起来有什么用,后台的session过期了你这个cookie还有什么用
    0 回复
  • Elylon
    2018-9-10
    @MoCno 这里只是记住密码,在浏览器端把用户名和密码存储一个cookie,在访问登录页面的时候从浏览器本地cookie中读取用户名密码即可,你所说的cookie和后台session的确是对应起来的,后台从session中取数据时是通过浏览器向后台发送一个cookie请求头,这个cookie请求头中包含了一个jsessionid,后台从session中取值主要也是通过这个sessionid去取值,如果我们只是在页面上单纯的记住用户名和密码,这其实是不需要到后台去取值的,所以前端的cookie完全可以实现
    0 回复
  • Elylon
    2018-9-10
    仅供参考
    0 回复
  • Elylon
    2018-9-10
    getCookie: function(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if(arr = document.cookie.match(reg)) {
    return unescape(arr[2]);
    } else {
    return null;
    }
    }
    /**
    * 设置cookie
    * @param {Object} name: cookie名称
    * @param {Object} value: cookie值 ,每个值之间用“,”隔开,如:“123,456,123” 三个值
    * @param {Object} time: s20是代表20秒 h是指小时,如12小时则是:h12 d是天数,30天则:d30
    */
    ,setCookie: function(name, value, time) {
    var strsec = '';
    var str1 = time.substring(1, time.length) * 1;
    var str2 = time.substring(0, 1);
    if(str2 == "s") {
    strsec = str1 * 1000;
    } else if(str2 == "h") {
    strsec = str1 * 60 * 60 * 1000;
    } else if(str2 == "d") {
    strsec = str1 * 24 * 60 * 60 * 1000;
    }
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec * 1);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
    }
    ,delCookie: function(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = mcfish.getCookie(name);
    if(cval != null) {
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
    }
    }
    0 回复
  • 及她
    2018-9-11
    存 cookie

    $(function () {

    //页面初始化时,如果帐号密码cookie存在则填充
    if(getCookie('username') && getCookie('pwd')){
    $("#user").val(getCookie('username'));
    $("#pswd").val(getCookie('pwd'));
    $("input[type='checkbox']").attr('checked',true);
    }

    /* 背景缩放 */
    $('body').isize();
    /* loginDemo垂直居中*/
    $('.login-right').divFlex();
    });

    layui.use('layer', function(){
    var layer = layui.layer;
    $(".subInput").click(function(){
    var obj=$(this);
    var username=$('#user').val();
    var pwd=$('#pswd').val();

    if(!username){
    layer.msg('请输入用户名',{icon:5,time:1000});return;
    }
    if(!pwd){
    layer.msg('请输入密码',{icon:5,time:1000});return;
    }
    $.post(obj.data('login'),$("#loginForm").serialize(),function (res) {
    let{status,data,detail}=res;
    if(status==1){
    layer.msg('登录成功',{icon:6,time:1000},function () {
    window.location.href = obj.data('jump');
    if($("input[type='checkbox']").is(':checked')){
    setCookie('username',username,7);
    setCookie('pwd',pwd,7);
    }else{
    delCookie('username');
    }
    });

    }else{
    refreshToken();
    layer.msg(res.detail,{icon:5,time:1000});return;
    }
    })

    });
    });

    /**
    * 设置cookie
    */

    function setCookie(name,value,day){
    var date = new Date();
    date.setDate(date.getDate() + day);
    document.cookie = name + '=' + value + ';expires='+ date;
    }
    /**
    * 获取cookie
    */
    function getCookie(name){
    var reg = RegExp(name+'=([^;]+)');
    var arr = document.cookie.match(reg);
    if(arr){
    return arr[1];
    }else{
    return '';
    }
    }

    /**
    * 删除cookie
    */

    function delCookie(name){
    setCookie(name,null,-1);
    }
    0 回复
  • @Jackie 不知道是不是我写的不对,但不能记住密码
    0 回复