diff --git a/ZR.Vue/src/plugins/cache.js b/ZR.Vue/src/plugins/cache.js new file mode 100644 index 0000000..2f04ddd --- /dev/null +++ b/ZR.Vue/src/plugins/cache.js @@ -0,0 +1,77 @@ +const sessionCache = { + set(key, value) { + if (!sessionStorage) { + return + } + if (key != null && value != null) { + sessionStorage.setItem(key, value) + } + }, + get(key) { + if (!sessionStorage) { + return null + } + if (key == null) { + return null + } + return sessionStorage.getItem(key) + }, + setJSON(key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON(key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove(key) { + sessionStorage.removeItem(key); + } +} +const localCache = { + set(key, value) { + if (!localStorage) { + return + } + if (key != null && value != null) { + localStorage.setItem(key, value) + } + }, + get(key) { + if (!localStorage) { + return null + } + if (key == null) { + return null + } + return localStorage.getItem(key) + }, + setJSON(key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON(key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove(key) { + localStorage.removeItem(key); + } +} + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +} \ No newline at end of file diff --git a/ZR.Vue/src/plugins/index.js b/ZR.Vue/src/plugins/index.js index a846d62..5b4e034 100644 --- a/ZR.Vue/src/plugins/index.js +++ b/ZR.Vue/src/plugins/index.js @@ -1,6 +1,6 @@ import tab from './tab' // import auth from './auth' -// import cache from './cache' +import cache from './cache' import modal from './modal' // import download from './download' @@ -11,7 +11,7 @@ export default { // 认证对象 // Vue.prototype.$auth = auth // 缓存对象 - // Vue.prototype.$cache = cache + Vue.prototype.$cache = cache // 模态框对象 Vue.prototype.$modal = modal // 下载文件