教程 框架 组件 接口 工具 其他

MifareClassic 1100+

方法

MifareClassic.close(OBJECT)

断开连接

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction调用结束

示例:

mifareclassic.close({
  success: function() {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

MifareClassic.connect(OBJECT)

连接 NFC 标签

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction调用结束

示例:

mifareclassic.connect({
  success: function() {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

MifareClassic.getMaxTransceiveLength(OBJECT)

获取最大传输长度

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction调用结束
success 返回值对象参数:
参数名类型说明
lengthnumber最大传输长度

示例:

mifareclassic.getMaxTransceiveLength({
  success: function(data) {
    console.log(`handling success, length = ` + data.length)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

MifareClassic.isConnected(OBJECT)

获取当前标签的连接状态

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction调用结束
success 返回值对象参数:
参数名类型说明
isConnectedBoolean是否已经建立了连接

示例:

mifareclassic.isConnected({
  success: function(data) {
    console.log(`handling success, isConnected = ` + data.isConnected)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

MifareClassic.setTimeout(OBJECT)

设置超时时间

参数:

参数名类型必填说明
timeoutNumber超时时间(ms)
successFunction成功回调
failFunction失败回调
completeFunction调用结束

示例:

mifareclassic.setTimeout({
  timeout: 1000,
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

MifareClassic.transceive(OBJECT)

发送数据

对于MifareClassic的分块读写:

  • 0x30:读取某个块的数据,指令[1位] + 块号[1位]
  • 0xA0:往某个块区写入数据,指令[1位] + 块号[1位] + 数据[16位]
  • 0x60:用密钥A对扇区进行身份验证,指令[1位] + 扇区[1位] + tagID[4位] + 秘钥[6位]
  • 0x61:用密钥B对扇区进行身份验证,指令[1位] + 扇区[1位] + tagID[4位] + 秘钥[6位]
  • 0xC1:递增值块,将结果存储在标记的临时块中,指令[1位] + 块号[1位] + 数据[4位]
  • 0xC0:递减值块,将结果存储在标记的临时块中,指令[1位] + 块号[1位] + 数据[4位]
  • 0xC2:将块区中的数据复制到临时块中,指令[1位] + 块号[1位]
  • 0xB0:将临时块中的数据复制到指定的块区中,指令[1位] + 块号[1位]

参数:

参数名类型必填说明
dataArrayBuffer需要传递的二进制数据
successFunction成功回调
failFunction失败回调
completeFunction调用结束
success 返回值对象参数:
参数名类型说明
dataArrayBuffer标签返回结果

示例:

let arrayBuffer = new ArrayBuffer(2)
let dataView = new DataView(arrayBuffer)
dataView.setUint8(0, 0x30)
dataView.setUint8(0, 0x00)
mifareclassic.transceive({
  data: arrayBuffer,
  success: function(data) {
    console.log(`handling success, result = ` + new Int8Array(data.data))
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  },
  complete: function() {
    console.log(`handling complete`)
  }
})

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容