微信小程序教程
7.7.14 NFC
阅读(

微信小程序介绍

微信小程序设计指南

微信小程序开发简介

微信小程序开发框架

微信小程序框架视图层

微信小程序框架组件

微信小程序框架 API

概述

网络

媒体

操作文件

本地存储

位置

设备

手机联系人

振动

用户截屏事件

屏幕亮度

iBeacon

蓝牙

剪切板

扫码

拨打电话

罗盘

加速度计

网络状态

系统信息

NFC

暂仅支持 HCE(基于主机的卡模拟)模式,即将安卓手机模拟成实体智能卡。

适用机型:支持 NFC 功能,且系统版本为Android5.0及以上的手机

适用卡范围:符合ISO 14443-4标准的CPU卡

wx.getHCEState(OBJECT)

基础库 1.7.0 开始支持,低版本需做兼容处理

wx.getHCEState(OBJECT)方法判断当前设备是否支持 HCE 能力。

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
errMsg String 错误信息
errCode Number 错误码
wx.getHCEState({
  success: function(res) {
    console.log(res.errCode)
  }
})

wx.startHCE(OBJECT)

基础库 1.7.0 开始支持,低版本需做兼容处理

wx.startHCE(OBJECT)方法初始化 NFC 模块。

OBJECT参数说明:

参数 类型 必填 说明
aid_list Array 需要注册到系统的 AID 列表,每个 AID 为 String 类型
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
errMsg String 错误信息
errCode Number 错误码

示例代码:

wx.startHCE({
  aid_list: ['F222222222']
  success: function(res) {
    console.log(res.errMsg)
  }
})

wx.stopHCE(OBJECT)

基础库 1.7.0 开始支持,低版本需做兼容处理

wx.stopHCE(OBJECT)方法关闭 NFC 模块。仅在安卓系统下有效。

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
errMsg String 错误信息
errCode Number 错误码

示例代码:

wx.stopHCE({
  success: function(res) {
    console.log(res.errMsg)
  }
})

wx.onHCEMessage(CALLBACK)

基础库 1.7.0 开始支持,低版本需做兼容处理

wx.onHCEMessage(CALLBACK)方法监听 NFC 设备的消息回调,并在回调中处理。返回参数中messageType表示消息类型,目前有如下值:

  • 1:消息为HCE Apdu Command类型,小程序需对此指令进行处理,并调用sendHCEMessage接口返回处理指令;
  • 2:消息为设备离场事件

CALLBACK 返回参数说明:

参数 类型 说明
messageType Number 消息类型
data ArrayBuffer 客户端接收到 NFC 设备的指令,此参数当且仅当messageType=1时有效
reason Number 此参数当且仅当messageType=2时有效

wx.sendHCEMessage(OBJECT)

基础库 1.7.0 开始支持,低版本需做兼容处理

wx.sendHCEMessage(OBJECT)方法发送 NFC 消息。仅在安卓系统下有效。

OBJECT参数说明:

参数 类型 必填 说明
data ArrayBuffer 二进制数据
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
errMsg String 错误信息
errCode Number 错误码
const buffer = new ArrayBuffer(1)
const dataView = new DataView(buffer)
dataView.setUint8(0, 0)

wx.startHCE({
  success: function(res) {
    wx.onHCEMessage({
      success: function(res) {
        if (res.messageType === 1) {
          wx.sendHCEMessage({data: buffer})
        }
      }
    })
  }
})

errCode列表

每个接口调用的时候,都会返回errCode字段。

错误码 说明
0 Ok
13000 当前设备不支持 NFC
13001 当前设备支持 NFC,但系统NFC开关未开启
13002 当前设备支持 NFC,但不支持HCE
13003 AID 列表参数格式错误
13004 未设置微信为默认NFC支付应用
13005 返回的指令不合法
13006 注册 AID 失败

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我们提供更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验