UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

61 lines (54 loc) 1.41 kB
import localforage from "localforage"; export function get(name, defaultValue) { let ret; try { ret = localStorage.getItem(name); } catch (e) { console.warn(e, name, defaultValue); } return ret || defaultValue; } export function getObject(name, defaultValue = {}) { let ret, json; try { json = get(name, JSON.stringify(defaultValue)); ret = JSON.parse(json); } catch (e) { console.warn(e, name, defaultValue); } return ret || defaultValue; } export async function getAsync(name, defaultValue) { let ret; try { ret = await localforage.getItem(name); } catch (e) { console.warn(e, name, defaultValue); } return ret || defaultValue; } export async function getObjectAsync(name, defaultValue = {}) { let ret, json; try { json = await getAsync(name, JSON.stringify(defaultValue)); ret = JSON.parse(json); } catch (e) { console.warn(e, name, defaultValue); } return ret || defaultValue; } export function set(name, value, isAsync = true) { try { if (isAsync) localforage.setItem(name, value); else localStorage.setItem(name, value); } catch (e) { console.warn("localStorage缓存失败!", name, value, e); } } export function setObject(name, value, isAsync = true) { try { set(name, JSON.stringify(value), isAsync); } catch (e) { console.warn("localStorage缓存失败!", name, value, e); } }