微信小程序nfc指令异常记录

小程序nfc相关代码:

javascript 复制代码
readEvent(){
    
    wx.getNFCAdapter().startDiscovery({
      success:(res)=>{
        console.log('--------------start--------')
        console.log(res);
        wx.getNFCAdapter().onDiscovered(
          callback=>{
            console.log('------------onDiscovered----------')
            console.log(callback);
            console.log(Array.from(new Uint8Array(callback.id)))
            console.log('------------getNfcA----------')
            console.log('------------connect----------')
            wx.getNFCAdapter().getNfcA().connect({
              success:(res)=>{
                console.info(res)
                console.log('------------transceive----------')
                wx.getNFCAdapter().getNfcA().transceive({
                  data: new Uint8Array([0x30, 0x04]).buffer, // 必须要传入 ArrayBuffer
                  success: (res) => {
                      // res.data 是 ArrayBuffer,转成数组方便查看
                      console.log(Array.from(new Uint8Array(res.data)));
                  },
                  fail:(err)=>{
                    console.log(err)
                  }
              })
              
              },
              fail:(err)=>{
                console.error(err);
              }
            })
          }
        );
      },
      fail:(err)=>{

      }
    });
    
  },

connect 成功但是指令报错,报错信息:

transceive:fail:system internal error:tag was lost

解决方式,替换NfcA

javascript 复制代码
readEvent(){
    
    wx.getNFCAdapter().startDiscovery({
      success:(res)=>{
        console.log('--------------start--------')
        console.log(res);
        wx.getNFCAdapter().onDiscovered(
          callback=>{
            console.log('------------onDiscovered----------')
            console.log(callback);
            console.log(Array.from(new Uint8Array(callback.id)))
            console.log('------------getNfcA----------')
            console.log('------------connect----------')
            wx.getNFCAdapter().getIsoDep().connect({
              success:(res)=>{
                console.info(res)
                console.log('------------transceive----------')
                wx.getNFCAdapter().getIsoDep().transceive({
                  data: new Uint8Array([0x30, 0x04]).buffer, // 必须要传入 ArrayBuffer
                  success: (res) => {
                      // res.data 是 ArrayBuffer,转成数组方便查看
                      console.log(Array.from(new Uint8Array(res.data)));
                  },
                  fail:(err)=>{
                    console.log(err)
                  }
              })
              
              },
              fail:(err)=>{
                console.error(err);
              }
            })
          }
        );
      },
      fail:(err)=>{

      }
    });
    
  },
相关推荐
Kika写代码2 小时前
【微信小程序】页面跳转基础 | 我的咖啡店-综合实训
服务器·微信小程序·小程序
源码哥_博纳软云3 小时前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码
java·开发语言·微信小程序·小程序·微信公众平台
禾高网络3 小时前
租赁小程序成品|租赁系统搭建核心功能
java·人工智能·小程序
YUJIAN。5 小时前
使用uniapp开发微信小程序-框架搭建
微信小程序·小程序·uni-app
关你西红柿子6 小时前
小程序app封装公用顶部筛选区uv-drop-down
前端·javascript·vue.js·小程序·uv
V+zmm101346 小时前
基于小程序宿舍报修系统的设计与实现ssm+论文源码调试讲解
java·小程序·毕业设计·mvc·ssm
V+zmm1013413 小时前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
还这么多错误?!13 小时前
uniapp微信小程序,使用fastadmin完成一个一键获取微信手机号的功能
微信小程序·小程序·uni-app
_院长大人_13 小时前
微信小程序用户信息解密 AES/CBC/NoPadding 解密失败问题
微信小程序·小程序
web1350858863514 小时前
uniapp小程序使用webview 嵌套 vue 项目
vue.js·小程序·uni-app