You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.1 KiB
71 lines
1.1 KiB
/**
|
|
* 缓存操作
|
|
*
|
|
*/
|
|
|
|
import config from '@/config'
|
|
|
|
/**
|
|
* 获取缓存 key
|
|
*/
|
|
function _key(key) {
|
|
return `${config.prefix}${key}`
|
|
}
|
|
|
|
/**
|
|
* 获取缓存时间 key
|
|
*/
|
|
function _expKey(key) {
|
|
return `${config.prefix}${key}_exptime`
|
|
}
|
|
|
|
/**
|
|
* 获取缓存
|
|
*
|
|
* key 键名
|
|
* def 为空时默认数据
|
|
*/
|
|
export function get(key, def = null) {
|
|
const value = uni.getStorageSync(_key(key))
|
|
const exptime = Number(uni.getStorageSync(_expKey(key)))
|
|
if (!exptime || exptime > new Date().getTime()) {
|
|
return value || def
|
|
}
|
|
return def
|
|
}
|
|
|
|
/**
|
|
* 设置缓存
|
|
*
|
|
* key 键名
|
|
* value 键值
|
|
* sec 缓存时间(秒)
|
|
*/
|
|
export function set(key, value, sec = 0) {
|
|
uni.setStorageSync(_key(key), value)
|
|
if (sec > 0) {
|
|
uni.setStorageSync(_expKey(key), new Date().getTime() + sec * 1000)
|
|
} else {
|
|
uni.removeStorageSync(_expKey(key))
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 移除缓存
|
|
*
|
|
* key 键名
|
|
*/
|
|
export function remove(key) {
|
|
uni.removeStorageSync(_key(key))
|
|
uni.removeStorageSync(_expKey(key))
|
|
}
|
|
|
|
/**
|
|
* 清空缓存
|
|
*/
|
|
export function clear() {
|
|
uni.clearStorageSync()
|
|
}
|
|
|
|
export default { get, set, remove, clear }
|