微信小程序中使用nfc

时间:2024-10-22 10:12:35
import fnNfc from '../nfc/nfcopen'// nfc内容引入 onLoad() { this.nfcRead() // onload中进行数据读取 }, // 进行使用nfc功能 nfcRead() { const nfc = wx.getNFCAdapter() this.nfc = fnNfc let _this = this function discoverHandler(res) { console.log('discoverHandler', res) // 发现者 const data = new Uint8Array(res.id) let str = "" data.forEach(e => { let item = e.toString(16) if (item.length == 1) { item = '0' + item } item = item.toUpperCase() console.log(item) str += item }) _this.setData({ newCardCode: str }) // (str) wx.showToast({ title: '读取成功!', icon: 'none' }) wx.navigateTo({ url: `../recorcentent/recorcentent?cardid=${str}&mac1=${data[0]}`, }) // (); return _this.data.newCardCode } nfc.startDiscovery({ success(res) { console.log(res) wx.showToast({ title: 'NFC读取功能已开启!', icon: 'none' }) nfc.onDiscovered(discoverHandler) }, fail(err) { console.log('failed to discover:', err) if (!err.errCode) { wx.showToast({ title: '请检查NFC功能是否正常!', icon: 'none' }) return } switch (err.errCode) { case 13000: wx.showToast({ title: '设备不支持NFC!', icon: 'none' }) break; case 13001: wx.showToast({ title: '系统NFC开关未打开!', icon: 'none' }) break; case 13019: wx.showToast({ title: '用户未授权!', icon: 'none' }) break; case 13010: wx.showToast({ title: '未知错误!', icon: 'none' }) break; } } }) },