1 Star 0 Fork 0

从一开始 / local-data-manage

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 3.98 KB
一键复制 编辑 原始数据 按行查看 历史

API

初始化

type 属性控制初始化模式( single 或 multi ), 默认为模式 single ;persistence.isOpen 属性控制是否持久化数据及其标识( 注意:目前仅提供浏览器持久化 ), 默认不开启; persistence.flag 作为标识,防止同名属性相互覆盖。

import ldm from '@in2iot/local-data-manage'

// 单点初始化
var sf = ldm.init()
var sf = ldm.init({ type:'single' })

// 多点初始化
var mf = ldm.init({ type:'multi' })

// 单点持久化
var sf = ldm.init({ type:'single', persistence: { isOpen:true , flag: 'some' } })

// 多点持久化
var mf = ldm.init({ type:'multi', persistence: { isOpen:true , flag: 'some' } })

添加

添加操作根据初始化模式不同具有不同的结果。在 single 模式中,您将得到一个对象;在 multi 模式中,您将得到一个队列。

单点模式

添加一个空对象

sf.add('keyName')

添加一个普通类型的数据并转为对象

sf.add('keyName', 普通类型的数据)

添加复杂对象类型的数据并控制其格式

format = { a:"String" }
sf.add('keyName', 复杂对象类型的数据, format) // format 支持类型有:String, Object, Array, Boolean 等简单 js 类型。 

多点模式

添加一个空队列

mf.add('keyName')

将一个普通类型的数据并转为对象并作为队列的第一项。

mf.add('keyName', 普通类型的数据)

指定队列的控制其格式

format ={ format:{ a:"String" }, length:10, coverTimeby:"a" } 
/* 
format {
  length : 队列的最大长度,默认任意长度
  coverTimeby : 时间覆盖属性
  format : 同单点模式format
}
*/
mf.add('keyName', 普通类型的数据, format)  

更新

在 single 模式中,您将操作对象的数据更新;在 multi 模式中,您可以在队列末尾追加一项,或则修改队列的每一项的控制格式。

单点模式

覆盖整个对象

sf.up('keyName', value, ture)

覆盖整个对象中的一个属性

sf.up('keyName',value, false, 属性)

多点模式

向末尾添加值,如果限制了长度则会同时删除队列头一位

mf.up('keyName', value, false)

更改格式化配置

mf.up('keyName',value, ture, 属性) // 这里的属性指 format 中包含的属性。 

删除

单点模式

删除整个对象

sf.del('keyName', ture)

删除整个对象中的一个属性

sf.del('keyName', false, 属性)

多点模式

删除整个队列

mf.del('keyName', ture)

删除整个队列中每项中的一个属性

mf.del('keyName', false, 属性)

获取

单点模式

得到全值对象

sf.get('keyName')

得到值对象中的属性值

sf.get('keyName', 属性) // 以 . 分隔获取深层属性。 eg: { a:{ b:[ { c: 'c'} ] } }, 获取属性 c, 则为 'a.b.0.c'

得到格式化后的全值对象

sf.get('keyName', undefined, format) // format 同 add() 方法的 format

得到属性格式化后的全值对象

sf.get('keyName', 属性, format) 

多点模式

得到整个队列

mf.get('keyName')

得到格式化后的队列

mf.get('keyName', undefined, format)
/* 
format {
  format: null, // 整个队列中每个对象的格式化
  length: null, // 队列长度
  startIndex: null, // 普通模式:队列起始下标
  endIndex: null, // 普通模式:队列结束下标
  startStamp: null, // 时序模式:队列开始时间戳
  endStamp: null, // 时序模式:队列结束时间戳
  timeInterval: null, // 时序模式:间隔时间,单位ms
  intervalRange: null, // 时序模式:间隔时间模糊匹配范围, 默认1000ms
  prop: null, // 指定存在元素
  opMode: null, // // 返回结构  Object, Map
}
*/

得到每项属性格式化后的队列

mf.get('keyName', 'a.b.c.d', format)

清除持久化的数据

sf.clear()
1
https://gitee.com/onlyMeStyle/local-data-manage.git
git@gitee.com:onlyMeStyle/local-data-manage.git
onlyMeStyle
local-data-manage
local-data-manage
PR-local-data-manage

搜索帮助