微信小程序 NFC 读写

读取

获取NFC适配器实例

let adapter = wx.getNFCAdapter()

开始监听贴卡

adapter.startDiscovery()

贴卡监听回调

adapter.onDiscovered(res => {
	console.log(res, '读取到了')
})

注销NFC适配器实例

// 取消监听 NFC Tag
adapter.offDiscovered(() => {})
// 停止监听贴卡
adapter.stopDiscovery()
// 重置 NFC 实例
adapter = null

写入

获取NFC适配器实例

let adapter = wx.getNFCAdapter()

开始监听贴卡

adapter.startDiscovery()

贴卡监听回调

adapter.onDiscovered(res => {
	console.log(res, '读取到了')
	let { techs } = res
	// techs用于匹配 NFC卡片具体可以使用什么标准(NfcA等实例)处理
})

以 Ndef 为例
获取 Ndef实例

let NFCTab = adapter.getNdef()

连接 NFC 标签

NFCTab.connect({
	success: () => {
		wx.showToast({
			title: '连接设备成功'
		})
	},
	fail: error => {
		wx.showToast({
			title: '连接设备失败',
			icon: 'error'
		})
		// 注销NFC适配器实例
		// 取消监听 NFC Tag
		adapter.offDiscovered(() => {})
		// 停止监听贴卡
		adapter.stopDiscovery()
		// 重置 NFC 实例
		adapter = null
	}
})

重写 Ndef 标签内容
以写入uri为例,其它类型可查询官方文档

NFCTab.writeNdefMessage({
	uris: ['https://www.baidu.com'],
	success: () => {
		console.log('数据写入成功')
	},
	fail: () => {
		console.log('数据写入失败')
	},
	complete: res => {
		// 读写完毕,断开连接
		NFCTab.close({
			complete: res => {
				console.log('清除标签连接:res', res)
				// 注销NFC适配器实例
				// 取消监听 NFC Tag
				adapter.offDiscovered(() => {})
				// 停止监听贴卡
				adapter.stopDiscovery()
				// 重置 NFC 实例
				adapter = null
			}
		})
	}
})
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值