一、保存cookie
// 保存cookie
function setCookie (cName, value, expiredays) {
let exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = `${cName}=${decodeURIComponent(value)}${expiredays ? ';expires=' + exdate.toGMTString() : ''}`;
}
二、获取cookie
// 获取cookie
function getCookie (key) {
if (document.cookie.length > 0) {
let start = document.cookie.indexOf(key + '=')
if (start !== -1) {
start = start + key.length + 1
let end = document.cookie.indexOf(';', start)
if (end === -1) end = document.cookie.length
return unescape(document.cookie.substring(start, end))
}
}
return ''
}
三、使用
//设置
setCookie('username', 'admin');
setCookie('password', '123456');
//获取
getCookie('username');
getCookie('password');
//清除
setCookie('username', '');
setCookie('password', '');
四、补充:密码加密
密码直接存入cookie,有一定的隐患,虽然cookie一直被诟病。但还是加一层包含,较为妥当。这里使用 Base64。
1、vue项目中安装
npm i js-base64 -S
2、结合cookie使用
//加载编码
let Base64 = require('js-base64').Base64;
//加密报错
setCookie('password', Base64.encode('123456'));
//解密获取
let password = Base64.decode(getCookie("password"));