对 web 端的 storage 操作,自动解析数据类型,支持 storage 过期时间设置,支持 Vue.js
设置参数类型 | localStorage.getItem 获取到的类型 | storage-web 获取到的类型 |
---|---|---|
无 | 😃 Null | 😃 Null |
Number | 😰 String | 😃 Number |
String | 😃 String | 😃 String |
Object | 😰 String | 😃 Object |
Array | 😰 String | 😃 Array |
Boolean | 😰 String | 😃 Boolean |
Undefined | 😰 String | 🤩 Null |
Null | 😰 String | 😃 Null |
yarn add storage-web
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
use | 使用的 storage 类型 | String | l/local/localStorage/s/session/sessionStorage | local |
pre | 前缀 | String | - | - |
expire | 过期时间,从当前开始 | Number | - | - |
import storages from 'storage-web'
storages.set('store', {}, {
use: 'session',
pre: 'pre_',
expire: 24 * 60 * 60 * 1000
})
// 或
storages.set('store', {}, {
use: 'session'
})
import storages from 'storage-web'
// 挂载到原型链上
Vue.prototype.$storage = storages
// Vue 中设置默认参数
this.$storage.defaults['use'] = 'local'
this.$storage.defaults['pre'] = 'pre_'
this.$storage.defaults['expire'] = 24 * 60 * 60 * 1000
// 用 this.$storage 代替 storages 即可,如:
this.$storage.get('store')
获取
import storages from 'storage-web'
storages.get('store') // localStorage
storages.get('store', { // sessionStorage
use: 's'
})
storages.get('store', { // sessionStorage
use: 'session'
})
storages.get('store', { // sessionStorage
use: 'sessionStorage'
})
storages.get('store', { // sessionStorage name: pre_store
use: 's',
pre: 'pre_'
})
获取即销毁
storages.getOnce('store') // 获取即销毁
设置
import storages from 'storage-web'
// 支持类型 String,Number,Boolean,Array,Object,Null,Undefined...
let storeValue = {
store_id: 1,
store_name: 'Tmall'
}
storages.set('store', storeValue, {
use: 's',
pre: 'pre_',
expire: 24 * 60 * 60 * 1000
})
storages.set([
{
key: 'store',
value: storeValue
}
], {
use: 's',
pre: 'pre_',
expire: 24 * 60 * 60 * 1000
})
移除
import storages from 'storage-web'
storages.remove('store')
storages.remove(['store', 'token'])
清空
import storages from 'storage-web'
storages.clear({ // 清空 localStorage 和 sessionStorage 下所有以 'pre_' 开头的
pre: 'pre_'
})
storages.clear() // 清空所有 localStorage 和 sessionStorage