vue-simple
Version:
Use Vue in the simplest and easiest way, contain more than one of plugins and other to do that, i hope you will like it.
57 lines (54 loc) • 1.83 kB
JavaScript
import STORAGE_TYPE from '../storageType';
/**
* cookie 存储引擎
*/
export default {
type: STORAGE_TYPE.cookie,
storage: document.cookie,
getItem(key) {
let arr;
let reg = new RegExp('(^| )' + key + '=([^;]*)(;|$)');
if (key.indexOf('setLogInfo') > -1) {
reg = new RegExp('(^| )token=([^;]*)(;|$)');
}
else {
reg = new RegExp('(^| )' + key + '=([^;]*)(;|$)');
}
if (arr = document.cookie.match(reg)) {
return JSON.parse(unescape(arr[2]));
}
return null;
},
setItem(key, value, domain = 'blibao.com') {
let selfvalue = JSON.stringify(value);
let Days = 30;
let exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
if (key.indexOf('setLogInfo') > -1) {
// document.cookie = "token=" + escape (selfvalue) + ";expires=" + exp.toGMTString() + ';';
document.cookie = `token=${escape(selfvalue)};expires=${exp['toGMTString']()};domain=${domain};`;
}
else {
document.cookie = `${key}=${escape(selfvalue)};expires=${exp['toGMTString']()};`;
}
},
removeItem(key) {
const exp = new Date();
exp.setTime(exp.getTime() - 1);
const cval = this.getItem(key);
// let reg = new RegExp('(^| )' + key + '=([^;]*)(;|$)');
if (cval != null) {
if (key.indexOf('setLogInfo') > -1) {
// reg = new RegExp('(^| )token=([^;]*)(;|$)');
// document.cookie = "token=" + JSON.stringify(cval) + ";expires="+exp.toGMTString();
document.cookie = `token=${JSON.stringify(cval)};expires=${exp['toGMTString']()};domain=blibao.com;`;
}
else {
document.cookie = `${key}=${JSON.stringify(cval)};expires=${exp['toGMTString']()};`;
}
}
},
clear() {
document.cookie['clear']();
}
};