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.
55 lines (53 loc) • 2.03 kB
JavaScript
import _JSON$stringify from 'babel-runtime/core-js/json/stringify';
import STORAGE_TYPE from '../storageType';
/**
* cookie 存储引擎
*/
export default {
type: STORAGE_TYPE.cookie,
storage: document.cookie,
getItem: function getItem(key) {
var arr = void 0;
var 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: function setItem(key, value) {
var domain = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'blibao.com';
var selfvalue = _JSON$stringify(value);
var Days = 30;
var 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: function removeItem(key) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var 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: function clear() {
document.cookie['clear']();
}
};