微信小程序读取写入NFC文本,以及NFC直接启动小程序指定页面

一、微信小程序读取NFC文本(yyy优译小程序实现),网上有很多通过wx.getNFCAdapter方法来监听读取NFC卡信息,但怎么处理读取的message文本比较难找,现用下面方法来实现,同时还解决几个问题,1、在回调方法中this.setData不更新信息,因为this的指向问题,2、在退出页面时,使用offDiscovered无效,无法关停监听问题,因为要传入onDiscovered同一个callback,

// pages/nfc/nfc.js
let mythis = null;
// 获取应用实例
const app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        isRead: false,
        typeList: ['打卡', '记录'],
        typeIndex: 0,
        // infoData: '标签编码【CZ00001】;MAC地址【30-9C-23-5A-6F-52】;资产属性【零购】;投运时间【2017.12】;使用部门【信息通信分公司】;使用地点【调度大楼】;设备属性【内网】;设备类别【台式计算机】',
        infoArray:[],
        showModel:false,
        NFCAdapter: null,
    },
    changeType(e) {
        let index = e.currentTarget.dataset.index
        this.setData({
            typeIndex: index
        })
    },
    openShow:function(){
        this.setData({
          showModel:true,
        })
      },
    closeShow:function(){
        this.setData({
          showModel:false,
        })
      },
      //关停NFC监听和对象
      closeNFC() {
        var NFCAdapter = this.data.NFCAdapter
        NFCAdapter.offDiscovered(this.discoverHandler);
        NFCAdapter.stopDiscovery()

      },

    //初始化NFC对象和开始监听  
    openNFC(){      
      let nfc = wx.getNFCAdapter()
        this.setData({
            NFCAdapter: nfc,
          })
          this.data.NFCAdapter.startDiscovery({
            fail(err) {
                console.log('failed to discover:', err)
            }
        })
        this.data.NFCAdapter.onDiscovered(this.discoverHandler)
       
    },
    //监听回调方法
    discoverHandler(res) {
      var that = this  
      console.log('discoverHandler')
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值