|
|
|
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
|
|
|
|
}
|