vue中cookies的使用方式

vue中cookies的使用

有时候做登录时会有一个记住密码的需求,这个时候可以使用cookies把账号密码存起来,下次再进来就免去了输入账号密码的需求,

  • 如图:

原生cookies操作比较麻烦

这里我们使用js-cookies,先下载:

1
npm install --save js-cookie

安装成功后在需要的地方进行调用:

1
import Cookies from "js-cookie";

先看看在data中定义的表单数据:

1
2
3
4
5
6
7
8
9
10
11
data() {
    return {
      //登录表单
      loginForm: {
        username: "", //用户名
        password: "", //密码
        captcha: "", //验证码的值
        isRemember: false, //是否记住密码
      },
    }
  },

写在methods中的函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
created() {
     //一进页面就先获取cookies里面的参数
     this.getCookie()
   },
   methods: {
     // 获取cookie参数
     getCookie() {
       const username = Cookies.get("username");
       const password = Cookies.get("password");
       const isRemember = Cookies.get("isRemember");
       this.loginForm.username =
         username == undefined ? this.loginForm.username : username;
       this.loginForm.password =
         password == undefined ? this.loginForm.password : decrypt(password);
       this.loginForm.isRemember =
         isRemember == undefined ? false : Boolean(isRemember);
       Cookies.remove('data');
     },
   },
   onLogin() {
     //点击登录函数时,如果勾选记住密码
     if (this.loginForm.isRemember) {
       // 把账号密码等参数存到cookies,设置时间为30天
       Cookies.set("username", this.loginForm.username, {
         expires: 30,
       });
       Cookies.set("password", this.loginForm.password, {
         expires: 30,
       });
       Cookies.set("isRemember", this.loginForm.isRemember, {
         expires: 30,
       });
     } else {
       //如果此时没有勾选记住密码,就把cookies里面的参数移除
       Cookies.remove("username");
       Cookies.remove("password");
       Cookies.remove("isRemember");
     }
     //把登录名和用户名存好后,开始发接口请求数据,此处省略....
   },

cookies的使用方式:储存、获取、删除三种

  • 存:
1
Cookies.set('userName', '嘻嘻嘻', { expires: 3 });
  • 取:
1
JSON.parse(Cookies.get('userName'))
  • 删:
1
Cookies.remove('userName')

总结

大功告成,完结~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/navsub/js/13158.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部