vue 设置cookie,记住用户名、密码

mac2024-05-10  7

一般如果登录频繁,想要记住用户名密码的话,可设置cookie,以下是登录方法与设置cookie,认真阅读哦,希望对你有帮助。 1、先献上一个简单的页面

<form class="form-signin" role="form" method="post" action=""> <div class="input-group" style="display: inline-block;"> <input type="text" class="srk" id="j_UserName" placeholder="用户名" required=""> </div> <div class="input-group has-feedback" style="display: inline-block;"> <input type="Password" class="srk ui-keyboard-input ui-corner-all" id="j_Password" aria-haspopup="true" role="textbox"> </div> <div class="btnDiv" style="display: inline-block;position: absolute\9;padding-left: 1px;"> <button id="form-ok" class="btndl" type="button" @click="login">&nbsp;&nbsp;</button> <button id="form-ok1" class="btndl" type="button" @click="register">&nbsp;&nbsp;</button> </div> <div style="margin: 20px 3px 10px 3px;"> <input type="checkbox" value="remember-me-nm" name="savenm" id="savenm" class="check"> <span class="song">记住用户名</span> <input type="checkbox" value="remember-me-pw" name="savepw" id="savepw" class="check"> <span class="song">记住密码</span> <span class="song" style="color: red;padding-left: 12%;">{{message}}</span> </div> </form>

2、具体方法

methods:{ //登录方法 login(){ //判断是否勾选记住密码的选项 if (document.getElementById("savepw").checked == true) { //记住密码 //传入账号名,密码,和保存天数3个参数 this.setCookie($("#j_UserName").val(), $("#j_Password").val(), 7, true, true); } else { if (document.getElementById("savenm").checked == true) { //记住用户名 this.setCookie($("#j_UserName").val(), "", 7, false, true); } else { console.log("清空Cookie"); //清空Cookie this.clearCookie(); } } let data = { 'UserName': $("#j_UserName").val(), //用户名 'Password': $("#j_Password").val() //密码 } /*接口请求*/ this.$http.post(this.GLOBAL.serverSrc + '/api/Login/LoginOn', data, { header: {}, emulateJSON: true }).then((res) => { console.info(res); }).catch(err => { console.info(res); }) } //设置cookie setCookie(c_name, c_pwd, exdays, check, checkNm) { var exdate = new Date(); //获取时间 exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); //保存的天数 //字符串拼接cookie window.document.cookie = "UserName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString(); if (document.getElementById("savenm").checked == true && document.getElementById("savepw").checked == false) { window.document.cookie = "Password" + "=" + "" + ";path=/;expires=" + exdate.toGMTString(); } if (document.getElementById("savepw").checked == true) { window.document.cookie = "Password" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString(); } window.document.cookie = "checked" + "=" + check + ";path=/;expires=" + exdate.toGMTString(); window.document.cookie = "checkedNm" + "=" + checkNm + ";path=/;expires=" + exdate.toGMTString(); }, //读取cookie getCookie: function() { if (document.cookie.length > 0) { var arr = document.cookie.split('; '); //这里显示的格式需要切割一下自己可输出看下 for (var i = 0; i < arr.length; i++) { var arr2 = arr[i].split('='); //再次切割 //判断查找相对应的值 if (arr2[0] == 'UserName') { $("#j_UserName").val(arr2[1]); //保存到保存数据的地方 } else if (arr2[0] == 'Password') { $("#j_Password").val(arr2[1]); } else if (arr2[0] == 'checked') { if (arr2[1] == "false") { document.getElementById("savepw").checked = false; } else { document.getElementById("savepw").checked = arr2[1]; } } else if (arr2[0] == 'checkedNm') { document.getElementById("savenm").checked = arr2[1]; } } } }, //清除cookie clearCookie: function() { this.setCookie("", "", "", "", -1); //修改4值都为空,天数为负1天就好了 } }
最新回复(0)