UNPKG

@10yun/cv-js-utils

Version:

常用 js-utils 工具类库

91 lines (90 loc) 2.44 kB
export default { localSet(key, value) { return this.__operationStorage(key, value); }, localGet(key) { return this.__operationStorage(key); }, localGetString(key, def = '') { let value = this.__operationStorage(key); return typeof value === 'string' || typeof value === 'number' ? value : def; }, localGetInt(key, def = 0) { let value = this.__operationStorage(key); return typeof value === 'number' ? value : def; }, localGetBoolean(key, def = false) { let value = this.__operationStorage(key); return typeof value === 'boolean' ? value : def; }, localGetArray(key, def = []) { let value = this.__operationStorage(key); return this.isArray(value) ? value : def; }, localGetJson(key, def = {}) { let value = this.__operationStorage(key); return this.isJson(value) ? value : def; }, /** * 新增&&获取缓存数据 * @param key * @param value * @return {*} */ __operationStorage(key, value) { if (!key) { return; } let keyName = '__state__'; if (key.substring(0, 5) === 'cache') { keyName = '__state:' + key + '__'; } if (typeof value === 'undefined') { return this.__loadFromlLocal(key, '', keyName); } else { this.__savaToLocal(key, value, keyName); } }, /** * 新增&&修改本地缓存 * @param {string} id 唯一id * @param {string} key 标示 * @param value 新增&修改的值 * @param keyName 主键名称 */ __savaToLocal(key, value, keyName) { try { if (typeof keyName === 'undefined') keyName = '__seller__'; let seller = window.localStorage[keyName]; if (!seller) { seller = {}; } else { seller = JSON.parse(seller); } seller[key] = value; window.localStorage[keyName] = JSON.stringify(seller); } catch (e) {} }, /** * 查询本地缓存 * @param {string} key 标示 * @param {mixed} def 如果查询不到显示的值 * @param keyName 主键名称 */ __loadFromlLocal(key, def, keyName) { try { if (typeof keyName === 'undefined') keyName = '__seller__'; let seller = window.localStorage[keyName]; if (!seller) { return def; } seller = JSON.parse(seller); if (!seller || typeof seller[key] === 'undefined') { return def; } return seller[key]; } catch (e) { return def; } } };