文章目录
一、百度智能云
1、注册登录
百度智能云地址
在该网站完成注册登录
2、创建应用
3、完成认证领取免费测试资源
完成实名认证即可领取免费资源
二、springboot集成
1、pom
<!--百度AI-->
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>5.0.0-alpha.10</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
2、配置application.yml
baidu:
ai:
appId: 百度平台中创建的应用的AppID
apiKey: 百度平台中创建的应用的API Key
secretKey: 百度平台中创建的应用的Secret key
imageType: BASE64
3、官方文档
参考官方网站说明文档
1)将官方说明中对应的工具类下载到自己的工程中
2)AuthService类下载地址
将AuthService类下载到工程
AuthService类下载地址
3)根据官方文档的参数以及返回参数说明封装如下两个类
@Data
public class FaceResultEntity {
private String error_code;
private String error_msg;
private String log_id;
private Integer timestamp;
private Integer cached;
private Map<Object,Object> result;
}
@Data
public class FaceEntity {
private String image;
private String image_type;
private String face_type;
private String quality_control;
private String liveness_control;
}
三、逻辑分析
当用户首次提交自己的人脸模型时逻辑如下:
当用户非首次提交人脸(考勤打卡提交人脸)
四、前端代码
<template>
<view>
<camera device-position="front" flash="off" class="camera" @error="error" v-if="showCamera"></camera>
<image mode="widthFix" class="image" :src="photoPath" v-if="showImage"></image>
<view class="operate-container">
<button type="primary" class="btn" @tap="clickBtn" :disabled="!canCheckin">{
{
btnText}}</button>
</view>
<view class="operate-container">
<button type="primary" class="upload" @tap="upload" :disabled="!canCheckin">upload</button>
</view>
<view class="notice-container">
<text class="notice">注意事项</text>
<text class="desc">拍照签到的时候,必须要拍摄自己的正面照片,侧面照片会导致无法识别。另外,拍照的时候不要戴墨镜或者帽子,避免影响拍照签到的准确度。</text>