Cookie 的存储
import { Message } from 'element-ui'
import throttle from '../utils/debounce'
const setCookie = function(name, value, expiredays) {
let exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = name + '=' + value + (expiredays == null ? '' : ';expires=' + exdate.toGMTString())
document.cookie = name + '=' + value + (expiredays == null ? ';SameSite=None;Secure=true' : ';SameSite=None;Secure=true;expires=' + exdate.toGMTString())
}
const getCookie = function(name) {
let nameData = name + '='
let allcookies = document.cookie.split(';')
for (let i = 0; i < allcookies.length; i++) {
let c = allcookies[i].trim()
if (c.indexOf(nameData) == 0) {
return c.substring(nameData.length, c.length)
}
}
return ''
}
const delCookie = function(name, type) {
var exp = new Date()
exp.setTime(exp.getTime() - 1)
if (type != 'noCoo') {
throttle(() => {
Message.error('信息过期,请重新登录!')
}, 200)
}
var cval = getCookie(name)
if (cval !== null) {
document.cookie = name + '=;expires=' + exp.toGMTString()
}
}
const clearAllCookie = function() {
let date = new Date()
date.setTime(date.getTime() - 10000)
let keys = document.cookie.match(/[^ =;]+(?=\=)/g)
if (keys) {
for (let i = keys.length; i--; ) {
document.cookie = keys[i] + '=0;path=/;expire=' + date.toGMTString()
}
}
}
const deleteCookies = function() {
let keys = document.cookie.match(/[^ =;]+(?==)/g)
if (keys) {
for (var i = keys.length; i--; ) {
if (keys[i] !== 'userData') {
document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString()
}
}
}
}
export { setCookie, getCookie, delCookie, clearAllCookie, deleteCookies }
localStorage 存储
export const localStorage={
getItem(key){
try{
let value=window.localStorage.getItem(key);
if(!value||value===''){
return null;
}
return JSON.parse(value);
}
catch(e){
return null
}
},
setItem(key,value){
window.localStorage.setItem(key,JSON.stringify(value));
},
removeItem(key){
window.localStorage.removeItem(key);
},
clear(){
window.localStorage.clear()
},
length(){
return window.localStorage.length;
}
sessionStorage 存储
export const sessionStorage={
getItem(key){
try{
let value=window.sessionStorage.getItem(key);
if(value===null||value===undefined||value===''){
return null;
}
return JSON.parse(value);
}
catch(e){
return null
}
},
setItem(key, value) {
window.sessionStorage.setItem(key,JSON.stringify(value));
},
removeItem(key) {
window.sessionStorage.removeItem(key);
},
clear(){
window.sessionStorage.clear();
},
length(){
return window.localStorage.length;
}
}