一般如果登录频繁,想要记住用户名密码的话,可设置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">登 录</button>
<button id="form-ok1" class="btndl" type="button" @click="register">注 册</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天就好了
}
}