- PC Web端
- 移动 Web端
- expires机制
- 内容过滤
- 数据加密、解密
- 提供配置选项(设置超时时间)
- 对数据进行加密
- 在单独调用的时候可进行单独配置
- 提供清除所有数据的方法
- 提供清除所有超时数据的方法
- 浏览器兼容性判断
- 添加数据
- 更新数据超时时间
- 更新数据值
- 删除数据
- 删除超时数据
- 删除所有数据
- 获取数据(获取超时数据时,返回的为超时提示并移除该数据)
- 获取所有数据(获取超时数据时,返回的为超时提示并移除该数据)
参照web-storage-cache的存储方式
{'key', {'c': 123, 'e': 123, 'v': 'value'}}
'c'
:该数据创建的时间'e'
:该数据超时的时间'v'
:该数据具体的值
<script type="text/javascript" src="src/extend-storage/extend-storage.js"></script>
设置单独项
- key:必填项;key值
- value:必填项;要存储的数据
- opt:非必填;配置项,
{exp: 1000}
- exp: 超时时间,number 型
- baseTime:设置基准时间
- crypt: 加密方式;默认及目前仅支持为"base64",值为“null”则不加密
获取项
- key:必填项;key值
获取全部存储的数据,只返回数据的具体值,不返回创建时间和超时时间
更新某一项
- key:必填项;key值
- value:必填项;要存储的数据
- opt:非必填;配置项,
{exp: 1000}
- exp: 超时时间,number 型
更新超时时间
- key:必填项;key值
- exp:必填项;超时时间
删除某一项
- key:必填项;key值
删除全部超时项
删除全部数据
// 设置基准时间
var baseTime = function(){
return new Date().valueOf();
}
// 实例化对象
var exStorage = new ExtendStorage({baseTime: baseTime}); // 设置全局的基准时间
// 设置项
exStorage.setItem('test', {'name':'www','array': [1,2,3,"a"]},{baseTime: baseTime});
exStorage.setItem('test2', {'name':'www','array': [1,2,3,"abc"]},{exp: 1000});
// 获取某一项
console.log(exStorage.getItem('test2'));
// 获取全部项
console.log(exStorage.getAll());
// 更新超时时间
exStorage.updateExp('test', 1000);
// 更新某一项
exStorage.mergeItem('test', {name:'ccc',age:12})
// 删除某一项
exStorage.removeItem('test');
// 删除超时项
exStorage.clearAllExp();
// 删除全部
exStorage.clear();
- 添加项、删除项、更新项、更新超时时间、删除单个项、删除超时项、获取单个项的功能开发
- 增加字符串、json互相转换的单元测试
- 增加base64加解密
- 增加异常处理
- 将delete重命名为clear
- 更改AMD、CMD兼容写法
- updateItem重命名为mergeItem
- 全局名ExtendStorage重命名为extendStorage
- 将加解密的异常处理移动至,_crypt 中
- 更换base64插件(原插件无法加密字符串过长的数据)
- 为保持与原localstorage的方法相同,将clearItem修改为removeItem,将clearAll修改为clear