UNPKG

create-iking-admin

Version:

金合技术中台脚手架

32 lines (24 loc) 1.11 kB
import { DEFAULT_CACHE_TIME, enableStorageEncryption } from '@/mainApp/settings/encryptionSetting'; import { getStorageShortName } from '@/mainApp/utils/env'; import { createStorage as create, CreateStorageParams } from './storageCache'; export type Options = Partial<CreateStorageParams>; const createOptions = (storage: Storage, options: Options = {}): Options => { return { // No encryption in debug mode hasEncrypt: enableStorageEncryption, storage, prefixKey: getStorageShortName(), ...options, }; }; export const WebStorage = create(createOptions(sessionStorage)); export const createStorage = (storage: Storage = sessionStorage, options: Options = {}) => { return create(createOptions(storage, options)); }; export const createSessionStorage = (options: Options = {}) => { return createStorage(sessionStorage, { ...options, timeout: DEFAULT_CACHE_TIME }); }; export const createLocalStorage = (options: Options = {}) => { return createStorage(localStorage, { ...options, timeout: DEFAULT_CACHE_TIME }); }; export default WebStorage;