安装:前端项目目录下的终端
npm install vue-cookie --save
配置:main.js
import cookie from 'vue-cookie'
Vue.prototype.$cookie = cookie;
使用:组件的逻辑方法中
created(){
console.log('组件创建成功');
let token = 'asdsdfs.sdfsdf.sdfaefw';
this.$cookie.set('token',token) // 设置cookie,默认过期时间单位是1d(1天)
// this.$cookie.set('token',token,10) 过期时间是10天
},
mounted(){
console.log('组件渲染成功');
let token = this.$cookie.get('token'); // 获取cookie
console.log(token);
},
destroyed(){
console.log('组件销毁成功');
this.$cookie.delete('token') // 删除cookie
}
注:在删除cookie时,执行的两个过程:将cookie值清空,将过期时间往前设置
创建:
this.$配置时候设置的名称.set('cookies的key',value)
获取指定的key:
this.$配置时候设置的名称.get('cookies的key`)
获取所有keys返回为数组的形式:
this.$配置时候设置的名称.keys ('cookies的key`)
删除:
this.$配置时候设置的名称.remove('cookies的key`)
注:这里删除如果没有重启浏览器cookies还在的,不过值为空
1、在删除cookie时,执行的两个过程:将cookie值清空,将过期时间往前设置
2、重启浏览器cookies才消失
检查某个 cookie name是否存在:
this.$配置时候设置的名称.isKey('cookies的key`)
到期时间全局设置
1、全局的设置所有的cookie都会生效
this.$cookies.config('固定时间') //填的值1d为一天,1h为一小时,1min为一分钟,1s为1秒
//指定时间
this.$cookies.config(new Date(2020,12,1))
this.$cookies.config("Sat, 13 Mar 2017 12:25:57 GMT")
//如果是乘法
this.$cookies.config(60*60) //是60s*60s依次类推
//如果是整数
this.$cookies.config(60) //也是60S
2、单个cookie设置
//不写过期时间,默认为1天过期
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX")
// 1天过期,忽略大小写
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX","1d")
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX","1D")
// 以秒为单位,设置1天过去
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX",60 * 60 * 24)
// 填写Date对象,明确指定过期时间
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", new Date(2017, 03, 12))
// 填写一个时间字符串,指定过期时间
this.$cookies.set("user_session","25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", "Sat, 13 Mar 2017 12:25:57 GMT")
//浏览器会话结束时过期
this.$cookies.set("default_unit_second","input_value","0");
//永不过期
this.$cookies.set("default_unit_second","input_value",-1);
3、设置过期时间,输入字符串类型(字符均忽略大小写):
y:year 年
m:month 月
d: day 日
h:hour 小时
min: minute 分
s :second 秒