支持过期时间的本地存储封装。
import { createStorage } from '@/utils/storage'
// 创建 localStorage 实例
const localStore = createStorage({
prefixKey: 'app_',
storage: localStorage
})
// 创建 sessionStorage 实例
const sessionStore = createStorage({
prefixKey: 'app_',
storage: sessionStorage
})
存储数据,支持设置过期时间(秒)。
// 永久存储
localStore.set('token', 'xxx')
// 设置过期时间(秒)
localStore.set('userInfo', { name: '张三' }, 3600) // 1 小时后过期
获取数据,自动处理过期。
const token = localStore.get('token')
获取完整数据(包含时间信息)。
const { value, time } = localStore.getItem('userInfo')
删除数据。
localStore.remove('token')
清空所有数据。
localStore.clear()
// 封装 Token 存储
const tokenStore = createStorage({
prefixKey: 'auth_',
storage: localStorage
})
// 存储 Token
export function setToken(token) {
tokenStore.set('token', token, 86400) // 1 天过期
}
// 获取 Token
export function getToken() {
return tokenStore.get('token')
}
// 清除 Token
export function clearToken() {
tokenStore.remove('token')
}