初始化
This commit is contained in:
98
src/plugins/cache/index.js
vendored
Normal file
98
src/plugins/cache/index.js
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
import router from '@/router'
|
||||
import { name as appName } from '../../../../package.json'
|
||||
|
||||
let name = `${appName}-${import.meta.env.VITE_APP_ENV}`
|
||||
|
||||
const sessionCache = {
|
||||
set(key, value) {
|
||||
if (!sessionStorage) {
|
||||
return
|
||||
}
|
||||
if (key != null && value != null) {
|
||||
let storageStr = sessionStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
Reflect.set(storage, key, value)
|
||||
sessionStorage.setItem(name, JSON.stringify(storage))
|
||||
}
|
||||
},
|
||||
get(key) {
|
||||
if (!sessionStorage) {
|
||||
return null
|
||||
}
|
||||
if (key == null) {
|
||||
return null
|
||||
}
|
||||
let storageStr = sessionStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
return storage[key]
|
||||
},
|
||||
remove(key) {
|
||||
if (!sessionStorage) {
|
||||
return null
|
||||
}
|
||||
if (key == null) {
|
||||
return null
|
||||
}
|
||||
let storageStr = sessionStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
delete storage[key]
|
||||
sessionStorage.setItem(name, JSON.stringify(storage))
|
||||
}
|
||||
}
|
||||
const localCache = {
|
||||
set(key, value) {
|
||||
if (!localStorage) {
|
||||
return
|
||||
}
|
||||
if (key != null && value != null) {
|
||||
let storageStr = localStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
Reflect.set(storage, key, value)
|
||||
localStorage.setItem(name, JSON.stringify(storage))
|
||||
}
|
||||
},
|
||||
get(key) {
|
||||
if (!localStorage) {
|
||||
return null
|
||||
}
|
||||
if (key == null) {
|
||||
return null
|
||||
}
|
||||
let storageStr = localStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
return storage[key]
|
||||
},
|
||||
remove(key) {
|
||||
if (!localStorage) {
|
||||
return null
|
||||
}
|
||||
if (key == null) {
|
||||
return null
|
||||
}
|
||||
let storageStr = localStorage.getItem(name)
|
||||
let storage = storageStr ? JSON.parse(storageStr) : {}
|
||||
delete storage[key]
|
||||
localStorage.setItem(name, JSON.stringify(storage))
|
||||
}
|
||||
}
|
||||
|
||||
function setParams(params) {
|
||||
sessionCache.set(`${router.currentRoute.value.name}-search`, params)
|
||||
}
|
||||
|
||||
function getParams() {
|
||||
return sessionCache.get(`${router.currentRoute.value.name}-search`)
|
||||
}
|
||||
|
||||
export default {
|
||||
/**
|
||||
* 会话级缓存
|
||||
*/
|
||||
session: sessionCache,
|
||||
/**
|
||||
* 本地缓存
|
||||
*/
|
||||
local: localCache,
|
||||
setParams,
|
||||
getParams
|
||||
}
|
||||
Reference in New Issue
Block a user