收藏
回答

NFC组件中的 transceive 发送指令无法获取正常数据?

目前在调试NFC读卡和写卡功能,指令都正常发出了,但获取数据异常,代码片段如下:

if (res.techs.includes(nfc.tech.nfcA)) {
        const nfcA = nfc.getNfcA()
        nfcA.connect({
          success:function(res){
            console.log(res)
          }
        })
        nfcA.getAtqa({
          success:function(res){
            console.log(res.atqa)
          }
        })
        nfcA.getMaxTransceiveLength({
          success:function(res){
            console.log(res.length)
          }
        })
        nfcA.getSak({
          success:function(res){
            console.log(res.sak)
          }
        })
        // read 加密卡,用60指令,读第0块
        var arr = [0x600x000xF90xB40xB30x400xFF0xFF0xFF0xFF0xFF0xFF]
        var arrayBuffer = new Uint8Array(arr).buffer
        nfcA.transceive({
          data: arrayBuffer,
          success:function(res){
            console.log('ReadSuccess')
            console.log(res)
          },
          fail:function(res){
            console.log('ReadFail')
            console.log(res)
          }
        })
        // write 写卡,写第4块
        var arr2 = [0xA00x040x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C0x0D0x0E0x0F]
        var arrayBuffer2 = new Uint8Array(arr2).buffer
        nfcA.transceive({
          data: arrayBuffer2,
          success:function(res){
            console.log('WriteSuccess')
            console.log(res)
          },
          fail:function(res){
            console.log('WriteFail')
            console.log(res)
          }
        })


已经试过使用nfcA和MIFARE Classic的组件,获得的结果都相同,以下为调用nfcA组件的输出:

读卡获取的数据都是1组arraybuffer 而且为0;并且无法写卡,提示卡片丢失。

回答关注问题邀请回答
收藏

1 个回答

  • Cjiang
    Cjiang
    2021-07-14

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点(具体到分钟)

    2021-07-14
    有用
    回复 2
    • 谢保泰
      谢保泰
      2021-07-14
      代码为:https://developers.weixin.qq.com/s/S46moNmt7grN
      调试环境机型在图片右上角,最近一次调试在5点03分,微信号:fantasycloud_
      2021-07-14
      回复
    • Cjiang
      Cjiang
      2021-07-15回复谢保泰
      Tag was lost:这个是系统透传错误,字面意思,是卡贴不紧;建议可以关掉真机调试再验证下
      2021-07-15
      回复
登录 后发表内容