关于微信小程序调用NFC BUG!!!!
发布于 6 年前 作者 xiuyinglai 14801 次浏览 来自 问答

我想利用NFC模块给卡片发一条指令

官方提供的示例代码:

wx.startHCE({
  success: function(res) {

   wx.onHCEMessage(function(res) {      

     if (res.messageType === 1) {

        wx.sendHCEMessage({data: buffer})      }    })  }

})

第一个问题:这个示例代码是先初始化NFC模块 调用wx.startHCE({})这个方法的实例参数不是要求有个aid_list参数 而且是必填

       这示例代码上并没有这个参数

第二个问题:我在一个带有NFC功能的 并在5以上的android系统上去跑这段代码 为什么进不到

         wx.onHCEMessage()这个方法里呢

10 回复

扫码成功的回调方法是可以发送网络请求的,你还是贴下代码看看是哪里出错了

非常感谢,我原本也是想用手机读卡,原来不能当读卡设备!!!

域名添加后,重启开发工具就立即生效了,如果不添加域名,是会报错的

请问你wx.onHCEMessage()这个方法调通了吗?

你可以在手机上打开调试,看看打印什么错误

问题就在于域名没添加并没有报错啊 你看我请求失败的函数有弹框 完成也有弹框 都没显示出来 感觉请求都没走

看下小程序后台是否添加了域名白名单

getResidengMsg:function(){

    wx.scanCode({

        onlyFromCamera:false,

        scanType: [‘qrCode’,‘barCode’],

        success:function(res){

            wx.showToast({

                title: res.result,

            })

            wx.request({

                url: http://zjjzz.eastcompeace.com/test-rc/das/appctrl/rcQrCodeAuth,

                data: {

                    ‘auth’: {

                    ‘keyIndex’: ‘0’,

                    ‘randomNum’: ‘2f8d3cb321d046ac’,

                    ‘randomNumEnc’: ‘2E1E933814508B38’

                    },

                ‘data’: {

                    ‘fromCompany’: ‘guangxin’,

                    ‘areaCode’: ‘330604’,

                    ‘devID’: ‘WeChatXCX000001’,

                    ‘merchantCode’: ‘’,

                    ‘qrCode’: res.result,

                    ‘requestTime’: this.getTime(new Date())

                    }

                },

                header: {

                ‘content-type’: ‘application/json’ // 默认值

                },

                method: “POST”,

                success: function (res) {

                    wx.showToast({

                        title: res.data.message

                    })

                },

                fail: function (res) {

                    wx.showModal({

                        title: ‘失败’,

                        content: res.errMsg,

                        })

                },

            complete:function(res){

                wx.showModal({

                    title: ‘完成’,

                    content: res.errMsg,

                })

            }

        })

       }

    })

 }

在开发者工具上这个url可以请求到,但是在真机上预览这个url可能请求不到 但是请求里应该会进到失败的回调里吧 但是预览 什么都没有弹出来

我稍前已经添加了 但是应该要24小时才能生效 如果没添加域名白名单 那是不是应该会报错啊老铁

如果我不把情求放在 wx.scanCode()的成功的回调里  请求是正常的 放在wx.scanCode()的成功的回调里请求里什么都不报,我怀疑扫描成功回调里不能发送请求,老铁有空可以做个试验

回到顶部