微信小程序nfc读取M1卡数据

本文介绍如何使用微信小程序的NFC功能读取M1卡数据,强调了解密指令和扇区的重要性,提供了读取不同扇区的代码示例,并提及了解码过程可能遇到的问题与解决资源。
摘要由CSDN通过智能技术生成

   如果没看过我另一篇nfc读卡数据的可以去看一下,里面有一些描述可以帮助到大家。

刚通过测试代码还没有优化,有什么问题大家也可以提出来。

本次是nfc读取m1卡数据的,m1卡数据是有密钥分扇区的所以大家一定要问清楚写入卡数据的同学他吧数据写入到了那个扇区以及提供卡的第三方密钥也要问清楚,哪怕错了一个字节都会影响。

 nfcRead() {

        var that = this;

        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)) { //如果影响你nfc可以去掉

                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);

                                wx.showToast({

                                    title: 'nfc失败!',

                                    icon:'error'

                                })

                            }

                        })

                    }

                

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值