前端缓存处理
1. 何时使用
用于处理sessionStorage和localStorage的前端缓存数据。 重新登录时,业务缓存的数据会全部清空。
2. 如何使用
import { viewModel } from 'nc-lightapp-front';let { setGlobalStorage, getGlobalStorage, removeGlobalStorage } = viewModel;
3. 示例
localStorage
//1.若存储对象,必须先转为字符串
setGlobalStorage('localStorage', 'ncc', JSON.stringify(obj), ()=>{
//存储缓存失败的处理函数
//联查需要处理缓存存储失败的情况,失败时,把缓存信息转后台存放
});
//2.同样获取时,需要parse为对象
JSON.parse(getGlobalStorage('localStorage', 'ncc'))
//3.删除缓存,联查场景,缓存不用时,建议立马删除
removeGlobalStorage('localStorage', 'ncc')
//4.若存储值是字符串,可以直接存储
setGlobalStorage('localStorage', 'ncc1', nccColor, ()=>{
//存储失败的处理函数
});
getGlobalStorage('localStorage', 'ncc1')
removeGlobalStorage('localStorage', 'ncc1')
sessionStorage
//1.若存储对象,必须先转为字符串
setGlobalStorage('sessionStorage', 'ncc', JSON.stringify(obj), ()=>{
//存储缓存失败的处理函数
//联查需要处理缓存存储失败的情况,失败时,把缓存信息转后台存放
});
//2.同样获取时,需要parse为对象
JSON.parse(getGlobalStorage('sessionStorage', 'ncc'))
//3.删除缓存,联查场景,缓存不用时,建议立马删除
removeGlobalStorage('sessionStorage', 'ncc')
//4.若存储值是字符串,可以直接存储
setGlobalStorage('sessionStorage', 'ncc1', nccColor, ()=>{
//存储失败的处理函数
});
getGlobalStorage('sessionStorage', 'ncc1')
removeGlobalStorage('sessionStorage', 'ncc1')
sessionStorage
//1.若存储对象,必须先转为字符串
setGlobalStorage('sessionStorage', 'ncc', JSON.stringify(obj), ()=>{
//存储缓存失败的处理函数
//联查需要处理缓存存储失败的情况,失败时,把缓存信息转后台存放
});
//2.同样获取时,需要parse为对象
JSON.parse(getGlobalStorage('sessionStorage', 'ncc'))
//3.删除缓存,联查场景,缓存不用时,建议立马删除
removeGlobalStorage('sessionStorage', 'ncc')
//4.若存储值是字符串,可以直接存储
setGlobalStorage('sessionStorage', 'ncc1', nccColor, ()=>{
//存储失败的处理函数
});
getGlobalStorage('sessionStorage', 'ncc1')
removeGlobalStorage('sessionStorage', 'ncc1')
4. API
| 方法 | 说明 | 参数: 说明-类型-默认值 | 返回值 | 备注 |
|---|---|---|---|---|
| setGlobalStorage(store, key, value, error) | 设置某条缓存数据 | store缓存存储位置-string-‘localStorage’ key缓存key-string-无 value缓存值-string-无 error设置缓存出现异常(存储失败)时的处理函数-function-无 |
| 无 | 如:setGlobalStorage(‘localStorage’,’NCCFlag’, ‘1’),注意在error中一定处理好存储失败的适配 |
| getGlobalStorage(store, key) | 获取某条缓存数据 | store缓存存储位置-string-‘localStorage’
key缓存key-string-无 | string | getGlobalStorage(‘sessionStorage’,’NCCFlag1’) |
| removeGlobalStorage(store, key) | 删除某条缓存数据 | store缓存存储位置-string-‘localStorage’
key缓存key-string-无 | 无 | removeGlobalStorage(‘localStorage’,’NCCFlag’) |
5. 注意事项
5.1 使用 GlobalStorage 跨页签传递少量数据
一定要注意
