小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
onLoad: function () { //调用wx.getNFCAdapter()获取NFC适配器实例 const adapter = wx.getNFCAdapter(); console.log("获取NFC实例", adapter) adapter.onDiscovered(res => { console.log("读取到卡片了", res); let tagId = res.id; console.log("获取到tagID:", tagId); if (res.techs.includes(adapter.tech.mifareClassic)) { console.log('发现' + adapter.tech.mifareClassic + '卡'); let mifareClassic = adapter.getMifareClassic(); mifareClassic.connect({ success: res => { console.log("设备已连接", res) console.log("开始拼接验密指令。。。"); var arr = [0x60, 0x04, 0x11, 0x22, 0x33, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]; var arrayBuffer = new Uint8Array(arr).buffer console.log("解密指令为:", arrayBuffer); mifareClassic.transceive({ data: arrayBuffer, success: function (res) { console.log('发送数据并解密成功, 接收数据如下:', res); }, fail: function (err) { console.log('发送数据失败A', err); } }) } }) mifareClassic.isConnected({ success: function (isConnected) { console.log('成功连接', isConnected); var arr02 = [0x30, 0x04]; var arrayBuffer02 = new Uint8Array(arr02).buffer mifareClassic.transceive({ data: arrayBuffer02, success: function (res) { console.log('读取数据:', res); }, fail: function (err) { console.log('失败', err); } }) } }); } }) adapter.startDiscovery({ fail(err) { console.log('failed to discover:', err) } }) }, onHide() { if (this.nfc) { this.nfc.stopDiscovery() } }
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
经验证,水风轻的例子是正确的
这个验密指令是怎么回事?为什么会是这个?
找到解决方法了吗?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
onLoad: function () { //调用wx.getNFCAdapter()获取NFC适配器实例 const adapter = wx.getNFCAdapter(); console.log("获取NFC实例", adapter) adapter.onDiscovered(res => { console.log("读取到卡片了", res); let tagId = res.id; console.log("获取到tagID:", tagId); if (res.techs.includes(adapter.tech.mifareClassic)) { console.log('发现' + adapter.tech.mifareClassic + '卡'); let mifareClassic = adapter.getMifareClassic(); mifareClassic.connect({ success: res => { console.log("设备已连接", res) console.log("开始拼接验密指令。。。"); var arr = [0x60, 0x04, 0x11, 0x22, 0x33, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]; var arrayBuffer = new Uint8Array(arr).buffer console.log("解密指令为:", arrayBuffer); mifareClassic.transceive({ data: arrayBuffer, success: function (res) { console.log('发送数据并解密成功, 接收数据如下:', res); }, fail: function (err) { console.log('发送数据失败A', err); } }) } }) mifareClassic.isConnected({ success: function (isConnected) { console.log('成功连接', isConnected); var arr02 = [0x30, 0x04]; var arrayBuffer02 = new Uint8Array(arr02).buffer mifareClassic.transceive({ data: arrayBuffer02, success: function (res) { console.log('读取数据:', res); }, fail: function (err) { console.log('失败', err); } }) } }); } }) adapter.startDiscovery({ fail(err) { console.log('failed to discover:', err) } }) }, onHide() { if (this.nfc) { this.nfc.stopDiscovery() } }
var arrayBuffer02 = new Uint8Array(arr02).buffer
mifareClassic.transceive({
data: arrayBuffer02,
success: function (res) {
console.log('读取数据:', res);
},
fail: function (err) {
console.log('失败', err);
}
})
在执行这个的时候,失败,返回 13017 ,改成var arr02 = [0x30, 0x04,0x01 ]; 返回的数据[0XB2 开头的16字节的 数据,但数据不对。
经验证,水风轻的例子是正确的
经验证,水风轻的例子是正确的
找到解决方法了吗?