UNPKG

nsn-util

Version:

NSN工具辅助组件

199 lines (145 loc) 6.16 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.all = exports.getAutoLogin = exports.setAutoLogin = exports.clear = exports.remove = exports.get = exports.set = exports.configLocalStorage = void 0; var _nsnConst = require("nsn-const"); var NStr = _interopRequireWildcard(require("./NStr")); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var sessionStorage; var getKey = function getKey(k) { var key = k || _nsnConst.NConst.EMPTY; if (key.startsWith(_nsnConst.NConst.ISP_NAME_SHORT)) { return key; } return "".concat(_nsnConst.NConst.ISP_NAME_SHORT, "-").concat(key); }; /** 调用其他方法之前,先调用此方法 */ var configLocalStorage = function configLocalStorage(win) { if (NStr.isBrowser()) { // eslint-disable-next-line prefer-destructuring sessionStorage = window.sessionStorage; } else if (win && win.sessionStorage) { // eslint-disable-next-line prefer-destructuring sessionStorage = win.sessionStorage; } // if (sessionStorage) { // 重写事件,当使用时候,触发 window.dispatchEvent 派发事件 var signSetItem = sessionStorage.setItem; sessionStorage.setItem = function (key, val) { var event = new Event('NStoreSetItemEvent'); event['key'] = getKey(key); event['value'] = val; window.dispatchEvent(event); signSetItem === null || signSetItem === void 0 ? void 0 : signSetItem.apply(this, [getKey(key), val]); }; var signRemoveItem = sessionStorage.removeItem; sessionStorage.removeItem = function (key) { var event = new Event('NStoreRemoveItemEvent'); event['key'] = getKey(key); window.dispatchEvent(event); signRemoveItem.apply(this, [getKey(key)]); }; var signGetItem = sessionStorage.getItem; sessionStorage.getItem = function (key) { var event = new Event('NStoreGetItemEvent'); event['key'] = getKey(key); window.dispatchEvent(event); return signGetItem.apply(this, [getKey(key)]); }; var signClear = sessionStorage.clear; sessionStorage.clear = function () { var event = new Event('NStoreClearEvent'); window.dispatchEvent(event); signClear.apply(this); }; } }; // exports.configLocalStorage = configLocalStorage; configLocalStorage(); var setValue = function setValue(k, v) { var _sessionStorage; return (_sessionStorage = sessionStorage) === null || _sessionStorage === void 0 ? void 0 : _sessionStorage.setItem(k, JSON.stringify(v)); }; /** 设置缓存 */ var set = function set(items) { if (sessionStorage) { if (items instanceof Map) { if (items.size > 0) { items.forEach(function (v, k) { return setValue(k, v); }); } } else { Object.keys(items).forEach(function (k) { return setValue(k, items[k]); }); } } }; /** * 获取缓存 * @param key 键名 * @returns key 或 sessionStorage 不存在时返回 null */ exports.set = set; var get = function get(key) { if (key) { var _sessionStorage2; var value = (_sessionStorage2 = sessionStorage) === null || _sessionStorage2 === void 0 ? void 0 : _sessionStorage2.getItem(key); if (value) { try { value = JSON.parse(value); } catch (e) {// do nothing } } return value; } return null; }; /** 移除缓存 * @param key 键名 */ exports.get = get; var remove = function remove(key) { if (key) { var _sessionStorage3; (_sessionStorage3 = sessionStorage) === null || _sessionStorage3 === void 0 ? void 0 : _sessionStorage3.removeItem(key); } }; /** 清理所有缓存 */ exports.remove = remove; var clear = function clear() { var _sessionStorage4; return (_sessionStorage4 = sessionStorage) === null || _sessionStorage4 === void 0 ? void 0 : _sessionStorage4.clear(); }; /** * @param autoLogin 是否自动登录 */ exports.clear = clear; var AUTO_LOGIN_KEY = 'AutoLogin'; /** 自动登录 */ var setAutoLogin = function setAutoLogin(autoLogin) { return set(_defineProperty({}, AUTO_LOGIN_KEY, autoLogin)); }; /** 自动登录 */ exports.setAutoLogin = setAutoLogin; var getAutoLogin = function getAutoLogin() { return get(AUTO_LOGIN_KEY); }; /** 全部缓存 */ exports.getAutoLogin = getAutoLogin; var all = function all() { var values = new Map(); Object.keys(sessionStorage || {}).forEach(function (k) { if (k.startsWith(_nsnConst.NConst.ISP_NAME_SHORT) || NStr.isEqual(k, 'umi_locale')) { values.set(k, get(k)); } }); return values.size > 0 ? values : undefined; }; /** 缓存管理 */ exports.all = all;