登录记住密码
目标:
1.记住密码勾选,点登陆时,将账号和密码保存到cookie,下次登陆自动显示到表单内
2.不勾选,点登陆时候则清空之前保存到cookie的值,下次登陆需要手动输入
方法:
通过存/取/删cookie实现的;每次进入登录页,先去读取cookie,如果浏览器的cookie中有账号信息,就自动填充到登录框中,存cookie是在登录成功之后,判断当前用户是否勾选了记住密码,如果勾选了,则把账号信息存到cookie当中
手机号<input type="tel" placeholder="请输入手机号" v-model="username"> 密码<input type="tel" placeholder="请输入密码" v-model="password"> <input type="checkbox" v-model="isChecked">记住密码 <a @click="login()">登录</a>
export default { data() { return { username: '', // 用户名 password: '', // 密码 isChecked: true // 记住密码 } }, // 页面加载调用获取Cookie值 mounted() { this.getCookie(); }, methods: { // 登录按钮 login() { // 判断复选框是否被勾选; 勾选则调用配置Cookie方法 if (this.isChecked) { // 记住密码 this.setCookie(this.username, this.password, 30); // 保存期限为30天 } else { this.clearCookie(); // 清空 Cookie } }, // 设置Cookie setCookie(username, password, exdays) { // 用户名, 密码, 保存天数 let exdate = new Date(); // 获取时间 exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); // 字符串拼接cookie window.document.cookie = 'userName=' + username + ';path=/;expires=' + exdate.toGMTString(); window.document.cookie = 'userPwd=' + password + ';path=/;expires=' + exdate.toGMTString(); }, // 读取Cookie getCookie() { // console.log(document.cookie); if (document.cookie.length > 0) { let arr = document.cookie.split('; '); // 这里显示的格式需要切割一下自己可输出看下 for (let i = 0; i < arr.length; i++) { let arr2 = arr[i].split('='); // 再次切割 // 判断查找相对应的值 if (arr2[0] == 'userName') { this.usernameText = arr2[1]; // 保存到保存数据的地方 } else if (arr2[0] == 'userPwd') { this.passwordText = arr2[1]; } } } }, // 清除Cookie clearCookie() { this.setCookie('', '', -1); // 修改2值都为空,天数为负1天就好了 } } };