关于微信小程序NFC发送指令功能

本文介绍了如何在微信小程序中利用NFC功能进行ISO-DEP标准的读写操作。首先通过wx.getNFCAdapter获取实例,然后使用getIsoDep进行特定芯片的指令交互。接着启动发现并监听onDiscovered事件。在连接、复位后,可以发送指令并解析返回的ArrayBuffer为十六进制,如需处理中文数据则需转为GBK,图片数据则转为Base64。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先获取使用wx.getNFCAdapter获取实例

IsoDep支持ISO-DEP (ISO 14443-4)标准的读写(有不同的芯片,文档有支持其他的),刚好对应我所发指令的卡片,获取实例的getIsoDep

开始startDiscovery->监听onDiscovered,传入要监听的函数

根据文档IsoDep的操作

连接->复位->发送指令-》获取到ArrayBuffer转成十六制,再根据具体需求转换,如果读取的是中文要转gbk,图片直接十六进制转base64

代码如下

	getNFC() {
				let that = this
				const nfc = wx.getNFCAdapter()
				this.nfc = nfc
				let isoDep = nfc.getIsoDep()
				this.isoDep = isoDep
				nfc.startDiscovery({
					success(res) {
						nfc.onDiscovered(discoverHandler)
					},
					fail(err) {
						if (!err.errCode) {
							wx.showToast({
								title: '请检查NFC功能是否正常!',
								icon: 'none'
							})
							return
						}
						switch (err.errCode) {
							case 13000:
								wx.showToast({
									title: '设备不支持NFC!',
									icon: 'none'
								})
								break;
							case 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值