@sinosun/lib
Version:
sinosun jsbridge and net toolkit
91 lines (72 loc) • 2.51 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
require("core-js/modules/es.date.to-string.js");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.string.split.js");
var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
(0, _defineProperty["default"])(exports, "__esModule", {
value: true
});
var cache = {
set: function set(key, val) {
var value;
function setCookie(key, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = key + "=" + encodeURI(value) + (expiredays == null ? "" : ";expires=" + exdate.toGMTString() + ";path=/");
}
try {
value = (0, _stringify["default"])(val);
} catch (e) {
value = val;
}
if (window.sessionStorage) {
sessionStorage.setItem(key, value);
} else {
setCookie(key, value);
}
},
get: function get(key) {
var value;
if (window.sessionStorage) {
value = sessionStorage.getItem(key);
} else {
var getCookie = function getCookie(key) {
var str = document.cookie; // 获取Cookie字符串
if (!str || (0, _indexOf["default"])(str).call(str, key + "=") < 0) {
// 寻找name=
return;
}
var cookies = str.split("; "); // 用;将所有的Cookie分隔开
for (var i = 0; i < cookies.length; i++) {
// 遍历每个Cookie
var cookie = cookies[i]; // 当前Cookie
if ((0, _indexOf["default"])(cookie).call(cookie, key + "=") == 0) {
// 如果名字为name
var value = cookie.substring(key.length + 1); // 获取value
return decodeURI(value); // 将value解码,并返回
}
}
};
value = getCookie(key);
}
try {
return JSON.parse(value);
} catch (e) {
return value;
}
},
remove: function remove(key) {
if (window.sessionStorage) {
sessionStorage.removeItem(key);
}
},
clear: function clear() {
if (window.sessionStorage) {
sessionStorage.clear();
}
}
};
exports["default"] = cache;