Rokato. TlvNdef

标准TLV-NDEF数据处理接口对象

Constructor

new TlvNdef(plug)

构造TlvNdef操作对象

Parameters:
NameTypeDescription
plugRktPlug

插件通讯对象

Members

(static, readonly) DataType :number

Ndef负载数据类型

Type:
  • number
Properties
NameTypeDescription
EMPTYnumber

空白负载

ASCIInumber

ASCII负载

DATAnumber

数据负载

URInumber

URI负载

TEXTnumber

文本负载

NDEFnumber

NDEF负载

(static, readonly) TNF_VALUE :number

Ndef可选TNF值

Type:
  • number
Properties
NameTypeDescription
EMPTYnumber

空记录

WELL_KNOWNnumber

常用RTD记录

MIME_MEDIAnumber

MIME类型记录

ABSOLUTE_URInumber

绝对URI记录

EXTERNAL_TYPEnumber

外部RTD记录

UNKNOWNnumber

未知的有效记录

UNCHANGEDnumber

未变的分块记录

RESERVEDnumber

未定义预留

(static, readonly) TlvType :number

TLV特殊类型

Type:
  • number
Properties
NameTypeDescription
NULLnumber

填充占位符

LOCKnumber

描述动态锁控制

RESERVEnumber

描述保留数据区

NDEFnumber

核心NDEF消息

FILEnumber

描述文件控制

PRIVATEnumber

自定义专有信息

EOFnumber

TLV终止符

Methods

addAbsoluteURL(uri, str) → {this}

添加一条绝对链接记录

Parameters:
NameTypeDescription
uristring

特殊URI链接

strstring

附加参数字符 默认空

Returns:
Type: 
this

addAction(action) → {this}

添加一条Action记录

Parameters:
NameTypeDescription
actionnumber

0=打开,1=保存,2=编辑

Returns:
Type: 
this

addData(hexData, mime) → {this}

添加一条MIME数据记录

Parameters:
NameTypeDefaultDescription
hexDatastring

十六进制数据

mimestringapplication/octet-stream

MIME类型

Returns:
Type: 
this

addEmpty() → {this}

添加一条空记录

Returns:
Type: 
this

addExternal(str, type) → {this}

添加一条外部扩展记录

Parameters:
NameTypeDefaultDescription
strstring

记录负载字符 例如APK包名

typestringandroid.com:pkg

记录类型 默认类型=安卓APK包应用启动

Returns:
Type: 
this

addSmartPoster(ndefs) → {this}

添加一条SmartPoster记录

Parameters:
NameTypeDescription
ndefsArray

参考getNdefs返回的NDEF简易数组对象

Returns:
Type: 
this

addText(text, lang, utf16) → {this}

添加一条文本记录

Parameters:
NameTypeDefaultDescription
textstring

文本内容

langstringen

语言代码 例如en,zh 默认=en

utf16booleanfalse

是否存储为UTF16编码(适合宽字符节省空间) 默认false存储为UTF8

Returns:
Type: 
this

addUrl(url) → {this}

添加一条链接记录

Parameters:
NameTypeDescription
urlstring

完整链接

Returns:
Type: 
this

build(tlvs) → {Array}

构建当前所有简易NDEF记录为dump支持的详细数组对象

Parameters:
NameTypeDefaultDescription
tlvsArraytrue

false=返回详细ndefs数组对象 默认true=返回dump参数支持的tlvs数组对象

Returns:

返回dump依赖的详细数组对象

Type: 
Array

clear() → {this}

清空所有记录变成NDEF空标签

Returns:
Type: 
this

(async) dump(tlvs) → {Promise}

根据对象结构数据生成十六进制数据

Parameters:
NameTypeDescription
tlvsobject

参考parseTlvNdef返回的tlvs结构数据

Returns:

err/msg + retval/data(十六进制字符串数据)

Type: 
Promise

getNdefs() → {Array}

获取当前NDEF简易数组对象

Returns:

[{tnf,type,data,dataType},{...}]

Type: 
Array

loadNdefs(ndefs) → {this}

加载简易数组对象NDEF记录

Parameters:
NameTypeDescription
ndefsArray

参考getNdefs返回的NDEF简易数组对象

Returns:
Type: 
this

loadTlvs(tlvs) → {number}

加载parse返回的tlvs详细数组对象NDEF记录

Parameters:
NameTypeDescription
tlvsArray

参考parse返回的tlvs

Returns:

返回加载后当前NDEF记录数

Type: 
number

(async) parse(data, strict) → {Promise}

解析TLV-NDEF十六进制数据为对象结构数据

Parameters:
NameTypeDefaultDescription
datastring

十六进制字符串数据

strictbooleantrue

默认true=严格模式(数据异常返回失败) 否则为宽松模式数据异常继续解析

Returns:

err/msg + retval/tlvs(TLV结构数据)

Type: 
Promise