更新记录

2.4.0-1.0.3(2024-03-26)

兼容高通硬件设备

2.4.0-1.0.1(2023-09-25)

新增串口通信

2.4.0-1.0.0(2023-09-20)

1.0 版本发布:

  • 操作系统能力支持,开机自启动,静默安装,禁用导航栏状态栏等
  • 灯光和开门能力
  • 扫码能力
  • 刷卡能力
  • 刷身份证能力
  • 网络管理能力
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.1 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


1、概述

此文档是给基于我们硬件开发自己 uni-app 的开发人员阅读的,描述了 uni-app 硬件 sdk 插件的集成和使用。

2、版本历史

版本号 日期 修订说明 修订人
2.4.0-1.0.0 2023-09-19 初稿 Jimmy
2.4.0-1.0.1 2023-09-20 初稿 Jimmy

3、插件使用

3.1.系统能力插件

3.1.1 系统能力插件:

const systemManagerModule = uni.requireNativePlugin('ES-FaceSdk-SystemManagerModule');

3.1.2 状态栏导航栏

   参数说明:true 表示禁用,false 表示启用
systemManagerModule.disableStatusBarRK(true)

3.1.3 开机自启动和定时监控拉起:

   参数一:表示应用的包名,对应 Android 平台的 application id

参数二:表示需要定时监控应用是否在前台的时间,单位秒 ,不能小于 15

参数三:是否开机自启动,true/false

这个方法在 rk 主板会实现定时监控 app 是否在前台,如果不在前台的话,系统会自动拉起,避免 app 挂掉了系统无法运行。

systemManagerModule.startMonitorAppRK("iot.facereco.smart.terminal",15,true)

3.1.4 取消开机自启动和定时监控

systemManagerModule.cancelMonitorAppRK()

3.1.5 重启系统

systemManagerModule.reboot("重启原因")

3.1.6 打开系统桌面

systemManagerModule.openLauncher()

3.2 开门和灯光控制

3.2.1 开门插件获取

const gpioHelper = uni.requireNativePlugin("ES-FaceSdk-GpioHelperModule")

3.2.2 通行状态

参数说明:

true 一般在识别成功后传入,会亮绿灯并且开门。

false 一般在识别失败后传入,会亮红灯并且关门。

gpioHelper.setPassStatus(true)

3.2.3 单独开门

gpioHelper.openDoor()

3.2.4 单独关门

gpioHelper.closeDoor()

3.2.5 白色灯光

参数说明:true 表示打开,false 表示关闭

gpioHelper.setWhiteLedStatus(true)

3.2.6 关闭所有灯光

参数一:true 表示打开白灯,false 表示不打开白灯

参数二:true 表示操作关门,flase 表示不操作开关门

gpioHelper.ledDismiss(false,true)

3.2.7 息屏

参数说明:true 表示亮屏,false 表示息屏

gpioHelper.setBacklightStatus(true)

3.3 刷卡

3.3.1 插件获取

const readCardModal = uni.requireNativePlugin('ES-FaceSdk-ReadWriteCardModule');

3.3.2 普通读卡,读取物理卡号

参数说明:callback 是实时回传设备读取到的卡号数据,以 JsonObject 响应

readCardModal.startReadCard(callback)

3.3.3 扇区读卡,读取扇区内容

参数一:传入一个 JsonObject,需要以下的 key

isEnable 表示是否启用 true/false

readSector 表示读取的扇区,范围为 0~15

readBlock 表示读取的区块,范围未 0~3

password 表示扇区密码,内容为六位十六进制

参数二:callback 是实时回传设备读取到的卡号数据,以 JsonObject 响应

readCardModal.startReadSector({
                        'isEnable': true,
                        'readSector': 0, //  指定扇区 0 ~ 15
                        'readBlock': 1, //  指定区 块 0 ~  3
                        'password': "FFFFFFFFFFFF" //  十六进制的密码
                    }, ret => {
                        this.$options.methods.refreshResult(this,ret)
                    })

3.3.4 停止读卡。不需要时,或者页面关闭时需要关闭刷卡

readCardModal.stopReadCard()

3.4 读身份证

3.4.1 插件获取

const readIDCardModal = uni.requireNativePlugin('ES-FaceSdk-ReadIDCardModule');

3.4.2 开始读取身份证

响应说明:photo 字段为图片的 base64 内容

readIDCardModal.startReadIDCard(callback)

3.4.3 停止读取身份证,不需要时,或者页面关闭时需要停止

readCardModal.stopReadIDCard()

3.5 扫码

3.5.1 插件获取

const hideModule = uni.requireNativePlugin('ES-FaceSdk-HIDModule');

3.5.2 开始扫码

hideModule.startRead(callback)

3.5.3 停止扫码,不需要时,或者页面关闭时需要停止

hideModule.stopRead()

3.6 网络管理

3.6.1 插件获取

const networkModule = uni.requireNativePlugin('ES-FaceSdk-NetworkModule');

3.6.2 获取网络连接类型

响应参数说明:响应类型为 int

-1 表示网络未连接

1 表示使用 wifi

3 表示使用网线

4 表示使用 4g 卡

const ret = networkModule.getNetworkConnectType()

3.6.3 获取网线 ip 信息

响应参数说明:响应类型为 JsonObject,下面是 data key 的 JsobObject 说明

key ip 表示 ip 地址

key mask 表示 子网掩码

key gateway 表示网关

key dns1 表示 dns1

key dns2 表示 dns2

const ret = networkModule.getEthernetNetworkConfig();

3.6.4 设置网线固定 ip

参数一:ip 地址

参数二:子网掩码

参数三:网关

参数四:dns1

参数五:dns2 非必填

//  最后面一个 dns2 非必填
networkModule.setEthernetStaticIp("192.168.1.123","255.255.255.0","192.168.1.1","192.168.1.1",null)

3.6.5 设置网线动态获取 ip

networkModule.setEthernetStaticDhcp()

3.6.6 获取 wifi 网络信息

3.6.7 设置 wifi 固定 ip

参数一:wifi 名称

参数二:ip 地址

参数三:子网掩码

参数四:网关

参数五:dns1

参数六:dns2 非必填

networkModule.setWifiStaticIp("wifi 名称","192.168.1.123","255.255.255.0","192.168.1.1","192.168.1.1",null)

3.6.8 设置 wifi 动态 ip

参数一:wifi 名称

networkModule.setWifiDhcp("wifi 名称")

3.6.9 跳转系统 wifi 列表

networkModule.openWifiManager()

3.7 串口通信

3.7.1 插件获取

uni.requireNativePlugin('ES-FaceSdk-SerialPortModule')

3.7.2 获取串口路径

//  获取 rs232 串口路径
const rs232 = serialPortModule.getRS232Port();
//  获取 ttl 串口路径
const ttl = serialPortModule.getTTlPort();
//  获取 第二路 ttl 串口路径
const ttlTwo = serialPortModule.getTTlPortTwo();
//  获取 rs485 串口路径
const rs485 = serialPortModule.getRS485Port();

3.7.3 打开串口

参数一 JsonObject

key path 为 string 类型的串口路径

key baud_rate 为 int 类型的波特率

参数二为响应串口数据的 callback

//  获取 rs485 串口路径
const rs485 = serialPortModule.getRS485Port();

serialPortModule.openSerialPort({
                        'path': rs485, //  串口路径
                        'baud_rate': 9600 //  通信波特率
                    }, ret => {
                        // 处理串口数据 
                        this.$options.methods.refreshResult(this,ret)
                    })

3.7.4 发送串口数据

参数为 string 类型的十六进制数据

// 发送数据,需要是十六进制格式,每个十六进制用空格分开
const hexData = "0A 0B 0C 0D";
const isSuccess = serialPortModule.sendData(hexData);
console.log(`数据发送结果 ${isSuccess}`);

3.7.5 关闭串口,不需要使用或者页面退出时要关闭

serialPortModule.closeSerialPort()

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

请参考开源项目地址的开源协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问