Skip to content

使用方法

安卓百度离线人脸识别UVC人脸识别UTS原生插件,支持设备自带摄像头和外接UVC摄像头识别,支持在线激活,单个人脸注册,批量注册,相机人脸注册,包含多个识别组件,支付模式识别组件,闸机模式识别组件,考勤模式识别组件,金融活检模式识别组件,人证核检组件等,识别结果支持返回当前识别的人脸图片base64格式,插件UTS开发,支持uniapp x

uniappx项目使用说明

插件支持uniappx项目,但需要做一些处理才能正常使用。在导入插件后需要删除以下几个文件才能使用,具体路径如下:

  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\attendance.vue
  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\finance.vue
  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\gateFace.vue
  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\index.vue
  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\payment.vue
  • uni_modules\leven-uts-bdUvcFace\utssdk\app-android\person.vue

注意

仅保留带X的vue文件即可,因为uniappx项目无法使用js,如果不删除这些文件打包会报Unresolved reference: weex;Unresolved reference: JSCallback错误导致打包失败

使用流程

  1. 在线激活
  2. 初始化SDK
  3. 注册人脸
  4. 识别人脸

SDK版本

FaceSDK_8.2_20240308

联系作者

关注微信公众号可联系作者

官方文档

https://ai.baidu.com/ai-doc/FACE/pk37c1mqu

插件地址

https://ext.dcloud.net.cn/plugin?id=24993

权限

  • android.permission.CAMERA
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.READ_EXTERNAL_STORAGE

API用法

用法

在需要使用插件的页面加载以下代码

js
import * as module from "@/uni_modules/leven-uts-bdUvcFace"

示例

vue
<template>
  <view>
    <uni-card title="安卓百度人脸识别UTS原生插件-人脸管理">
      <button type="primary" @click="getDeviceId">获取设备指纹数据</button>
      <button type="primary" @click="getLicenseData">获取激活码信息</button>
      <button type="primary" @click="register">单个人脸注册</button>
      <button type="primary" @click="batchRegister">批量注册</button>
      <button type="primary" @click="deleteFace">删除人脸</button>
      <button type="primary" @click="getAllFace">获取所有的人脸</button>
      <button type="primary" @click="getFaceById">根据ID获取人脸</button>
      <button type="primary" @click="getFaceCount">获取注册的人脸数量</button>
      <button type="primary" @click="clearFace">清空人脸</button>
      <button type="primary" @click="logStr = ''">清空日志</button>
    </uni-card>
    <uni-card class="uni-card-box" title="日志">
      <view><text style="font-size: 14px; flex-wrap: wrap;">{{logStr}}</text></view>
    </uni-card>
  </view>
</template>

<script>
  // 批量注册人脸的文件
  import {
    faceList
  } from "@/utils/face.js"
  import * as module from "@/uni_modules/leven-uts-bdUvcFace"
  import {
    dateFormat
  } from "../../utils";
  export default {
    data() {
      return {
        logStr: "",
      }
    },
    mounted() {
      //初始化sdk
      this.initSdk();
    },
    methods: {
      // 清空人脸
      clearFace() {
        module.clearFace(res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      // 获取注册的人脸数量
      getFaceCount() {
        module.getFaceCount(res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      // 根据ID获取人脸
      getFaceById() {
        module.getFaceById({
          //用户id
          id: "1234"
        }, res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      // 获取所有的人脸
      getAllFace() {
        module.getAllFace(res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      // 删除人脸
      deleteFace() {
        module.deleteFace({
          //用户id
          id: "1234"
        }, res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      //批量注册
      batchRegister() {
        let list = faceList.map(item => {
          let obj = {
            id: item._id,
            name: item.name,
            url: item.pic
          }
          return obj;
        })
        module.batchRegister({
          list: list
        }, res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      //单个注册人脸
      register() {
        module.register({
          //注册地址,支持本地和网络地址
          // url: "http://www.yeyuboke.com/svga/b.jpg",
          url: "/storage/emulated/0/DCIM/Camera/IMG_20241013_150358.jpg",
          //用户id
          id: "1234",
          //用户名称
          name: "leven1"
        }, res => {
          this.writeLog(JSON.stringify(res))
        })
      },
      //获取激活码信息
      getLicenseData() {
        module.getLicenseData(res => {
          this.writeLog(JSON.stringify(res))
        });
      },
      //初始化人脸库
      initSdk() {
        module.initSdk(res => {
          this.writeLog(JSON.stringify(res))
        });
      },
      //在线激活
      activeOnline() {
        module.activeOnline({
          //激活码
          licenseKey: "9XHX-VKLY-3XBT-XVSE"
          // licenseKey: "XWSX-CCFB-47CX-LS9R"
        }, res => {
          this.writeLog(JSON.stringify(res))
        });
      },
      //获取设备的指纹数据,用于离线激活
      getDeviceId() {
        module.getDeviceId(res => {
          this.writeLog("设备的指纹数据:" + JSON.stringify(res))
        });
      },
      // 写日志
      writeLog(str) {
        console.log(str)
        let logStr = dateFormat(null, "yyyy-mm-dd hh:MM:ss") + " " + str + "\n";
        this.logStr = logStr + this.logStr;
      }
    }
  }
</script>

<style>

</style>

组件用法

组件用法请参考各章节的使用方法