一、这是我用TagInfo读出的门禁卡信息,信息上说明支持ISO 14443-3协议
二、微信官方文档:HCE卡模拟能力
n支持的卡协议
ISO 14443、ISO7816
三、如上2点应该能说明我的门禁卡协议与微信HCE支持的协议是兼容的,但当与门禁锁对接时wx.onHCEMessage却怎么也触发不了,如下是简单的测试代码(官方文档提供的):
const buffer = new ArrayBuffer(1)
const dataView = new DataView(buffer)
dataView.setUint8(0, 0)
wx.startHCE({
aid_list: ['F222222222'],
success(res) {
console.log('starthce success.', res); //这个能正常输出,说明手机是支持NFC且已打开配置
wx.onHCEMessage(function (res) {
console.log('onHCEMessage.', res); // 这里却怎么也触发不了
if (res.messageType === 1) {
wx.sendHCEMessage({ data: buffer })
}
})
}
})
四、与多家出租屋的大门锁都对触了下,也没反应,难道大家的门禁锁都不支持ISO14443、ISO7816协议?
真不知道问题出在哪里,想在小程序中做个模拟门禁卡的功能,卡在这儿了。
aid_list要填写正确
我也觉得这个值有疑问,但不知道如何填。
我偿试过我的门禁卡编号(9位的),以F+9位门禁卡号作为AID号,报”注册AID错误”。
直接用9位的门禁号作为AID号,未报注册错误,但还是没有触发onHCEMessage方法。
问题解决了吗
AID确实很重要,现在的问题应该回到如何获取读卡器(在这儿是门禁锁)的AID,有哪位大佬做过类似功能的,提供下线索。