vue项目实现表单登录页保存账号和密码到cookie功能


Posted in Javascript onAugust 31, 2018

vue项目实现表单登录页保存账号和密码到cookie功能

实现功能:

1.一周内自动登录勾选时,将账号和密码保存到cookie,下次登陆自动显示到表单内

2.点击忘记密码则清空之前保存到cookie的值,下次登陆需要手动输入

 次要的就不说了直接上主要的代码

html部分

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm loginFrom">
 <h1 style="font-size: 1.5rem;color: #fff;font-weight: bold;padding: 1rem 0;">登陆</h1>
 <el-form-item >
  <el-input placeholder="账号" v-model="ruleForm.userName"></el-input>
 </el-form-item>
 <el-form-item>
  <el-input type="password" v-model="ruleForm.password" placeholder="密码"></el-input>
 </el-form-item>
 <div style="padding: 1rem 0 2rem 0;" class="clear">
  <span class="lf" style="color:#0489cc;">帮助</span>
  <div class="rt">
   <el-checkbox v-model="checked" style="color:#a0a0a0;">一周内自动登录</el-checkbox>
   <span @click="clearCookie" style="cursor: pointer;color: #f19149;font-size: 0.75rem;margin-left: 5px;">忘记密码?</span>
  </div>
 </div>
 <el-button type="primary" @click="submitForm('ruleForm')" style="width: 100%;">登陆</el-button>
</el-form>

js部分

data () {
 return {
   ruleForm: {
    userName: '', //用户名
    password: '' //密码
   },
 }
}
methods: {
  //点击登录调用方法
  submitForm(formName) {
    //保存的账号
    var name=this.ruleForm.userName;
    //保存的密码
    var pass=this.ruleForm.password;
    if(name==''||name==null){
     alert("请输入正确的用户名");
     return
    }else if(pass==''||pass==null) {
     alert("请输入正确的密码");
     return
    }
    //判断复选框是否被勾选 勾选则调用配置cookie方法
    if(this.checked=true){
      //传入账号名,密码,和保存天数3个参数
     this.setCookie(name,pass,7);
    }
    //接口
    var url='myserver/user/login';
    this.$http.post(url,this.ruleForm,{emulateJSON:true})
     .then(res=>{
      if(res.body=="fail"){
       alert("用户名或密码错误,请重新输入");
       this.ruleForm.userName='';
       this.ruleForm.password='';
       return
      } else{
      alert("登陆成功!")
       this.$router.push("/index")
      }
   });
  },
//设置cookie
 setCookie(c_name,c_pwd,exdays) {
  var exdate=new Date();//获取时间
  exdate.setTime(exdate.getTime() + 24*60*60*1000*exdays);//保存的天数
  //字符串拼接cookie
  window.document.cookie="userName"+ "=" +c_name+";path=/;expires="+exdate.toGMTString();
  window.document.cookie="userPwd"+"="+c_pwd+";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'){
     this.ruleForm.userName=arr2[1];//保存到保存数据的地方
    }else if(arr2[0]=='userPwd'){
     this.ruleForm.password=arr2[1];
    }
   }
  }
 },
 //清除cookie
 clearCookie:function () {
  this.setCookie("","",-1);//修改2值都为空,天数为负1天就好了
 }
},
//页面加载调用获取cookie值
mounted(){
    this.getCookie()
    }

vue项目实现表单登录页保存账号和密码到cookie功能 
vue项目实现表单登录页保存账号和密码到cookie功能

总结

以上所述是小编给大家介绍的vue实现表单登录页保存账号和密码到cookie功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
Nov 16 Javascript
javascript中数组中求最大值示例代码
Dec 18 Javascript
iframe里使用JavaScript控制主页转向的方法
Apr 03 Javascript
使用AngularJS对路由进行安全性处理的方法
Jun 18 Javascript
js clearInterval()方法的定义和用法
Nov 11 Javascript
初步使用bootstrap快速创建页面
Mar 03 Javascript
JS动态给对象添加事件的简单方法
Jul 19 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Dec 15 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
vue+moment实现倒计时效果
Aug 26 Javascript
JavaScript隐式类型转换代码实例
May 29 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 Javascript
vue router 跳转后回到顶部的实例
Aug 31 #Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 #Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 #Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 #Javascript
JS实现百度网盘任意文件强制下载功能
Aug 31 #Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 #Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
Aug 31 #Javascript
You might like
在线短消息收发的程序,不用数据库
2006/10/09 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
angular 服务随记小结
2019/05/06 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
Python循环语句之break与continue的用法
2015/10/14 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
英国现代绅士品牌:Hackett
2017/12/17 全球购物
2014新年寄语
2014/01/20 职场文书
教师远程培训感言
2014/03/06 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
cf战队宣传语
2015/07/13 职场文书
Python实现为PDF去除水印的示例代码
2022/04/03 Python
mysql sock文件存储了什么信息
2022/07/15 MySQL