NFC读MifareClassic卡 ,验证密码后读卡
验密指令[0x60, 0x04, 0xAE, 0x38, 0x40, 0x39, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
读卡指令[0x30, 0x04] ,返回 {"errMsg":"transceive:fail:system internal error","errCode":13017}
用[0x30, 0x04, 0x0]可以成功返回,但数据是错的
卡没有问题,Android原生程序可以读写
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | NFC MifareClassic.transceive | 微信安卓客户端 | 7.0.20 | 2.14.0 |
4 个回答
你好,
请先参考:https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/wx.getNFCAdapter.html
mc.connect({
success: function(res){
console.log('mc连卡成功:'+JSON.stringify(res));
var arr = [0x30, 0x01];
var arrayBuffer = new Int8Array(arr).buffer;
mc.transceive({
data: arrayBuffer,
success(res) {
console.log('mifareClassic-s卡号信息:', JSON.stringify(res))
},
fail(res) {
console.log('mifareClassic-f卡号信息:'+JSON.stringify(res))
},
complete(res){
mc.close();
adapter.stopDiscovery()
}
})
}
});
返回 {"errMsg":"transceive:fail:system internal error","errCode":13017}
请求transceive时data的数据格式该如何写?
问题解决了么,我也是同样的问题,安卓读出来的数据 和小程度读出来的是错的,我先验证
验密指令【0x61,0x01,卡片id,密钥】,读取【0x30,0x01】,读出来和安卓差几位,并且,不管哪个区读出来的数据都一样,读取指令也改了区好,0-63 十六进制区好
问题解决了吗?
问题解决木有?可以分享一下吗?