【探花交友】day02—完善个人信息(二)

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 【探花交友】day02—完善个人信息(二)

1.1.4、测试

tanhua-app-server加入配置内容,并测试

1. tanhua:  
2.   oss:
3.     accessKey: LTAI4GKgob9vZ53k2SZdyAC7
4.     secret: LHLBvXmILRoyw0niRSBuXBZewQ30la
5.     endpoint: oss-cn-beijing.aliyuncs.com
6.     bucketName: tanhua001
7.     url: https://tanhua001.oss-cn-beijing.aliyuncs.com/

编写测试类

1. @RunWith(SpringRunner.class)
2. @SpringBootTest(classes = AppServerApplication.class)
3. public class OssTest {
4. 
5.     @Autowired
6.     private OssTemplate template;
7. 
8.     @Test
9.     public void testTemplateUpload() throws FileNotFoundException {
10.         String path = "C:\\Users\\lemon\\Desktop\\课程资源\\02-完善用户信息\\03-资料\\2.jpg";
11.         FileInputStream inputStream = new FileInputStream(new File(path));
12.         String imageUrl = template.upload(path, inputStream);
13.         System.out.println(imageUrl);
14.     }
15. }

1.2、百度人脸识别

人脸识别(Face Recognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求

1.2.1、概述

地址:人脸识别_人脸识别_准确率99.99%_免费试用-百度AI开放平台

1.2.2、账号申请

账号登录注册

百度云AI支持百度账号登录,也可以支持云账号。按需注册即可

创建应用

按需创建应用

1.2.3、抽取模板工具

AipFaceProperties

1. @Data
2. @ConfigurationProperties("tanhua.aip")
3. public class AipFaceProperties {
4.     private String appId;
5.     private String apiKey;
6.     private String secretKey;
7. 
8.     @Bean
9.     public AipFace aipFace() {
10.         AipFace client = new AipFace(appId, apiKey, secretKey);
11.         // 可选:设置网络连接参数
12.         client.setConnectionTimeoutInMillis(2000);
13.         client.setSocketTimeoutInMillis(60000);
14.         return client;
15.     }
16. }

AipFaceTemplate

1. package com.tanhua.autoconfig.template;
2. 
3. import com.baidu.aip.face.AipFace;
4. import org.json.JSONObject;
5. import org.springframework.beans.factory.annotation.Autowired;
6. 
7. import java.util.HashMap;
8. 
9. public class AipFaceTemplate {
10. 
11.     @Autowired
12.     private AipFace client;
13. 
14.     /**
15.      * 检测图片中是否包含人脸
16.      *  true:包含
17.      *  false:不包含
18.      */
19.     public boolean detect(String imageUrl) {
20.         // 调用接口
21.         String imageType = "URL";
22. 
23.         HashMap<String, String> options = new HashMap<String, String>();
24.         options.put("face_field", "age");
25.         options.put("max_face_num", "2");
26.         options.put("face_type", "LIVE");
27.         options.put("liveness_control", "LOW");
28. 
29.         // 人脸检测
30.         JSONObject res = client.detect(imageUrl, imageType, options);
31.         System.out.println(res.toString(2));
32. 
33.         Integer error_code = (Integer) res.get("error_code");
34. 
35.         return error_code == 0;
36.     }
37. }

1.2.4、测试

tanhua-app-server加入百度AI的配置信息

1. tanhua:
2.   aip:
3.     appId: 27469915
4.     apiKey: sHiKW8u382xONufrmu0dHKdv
5.     secretKey: YsrzV2EVDRROdlZRAxDoTWGDH5L5cNrF

编写单元测试类

1. @RunWith(SpringRunner.class)
2. @SpringBootTest(classes = AppServerApplication.class)
3. public class FaceTest {
4. 
5. 
6.     @Autowired
7.     private AipFaceTemplate template;
8. 
9.     @Test
10.     public void detectFace() {
11.         String image = "https://tanhua001.oss-cn-beijing.aliyuncs.com/2021/04/19/a3824a45-70e3-4655-8106-a1e1be009a5e.jpg";
12.         boolean detect = template.detect(image);
13.     }
14. }

1.3、保存用户信息

1.3.1、接口文档

YAPI接口地址:http://192.168.136.160:3000/project/19/interface/api/88

1.3.2、需求分析

数据库表

tb_user_info(用户基本资料表)

  • 用户表和用户信息表是一对一的关系,两者采用主键关联的形式配置
  • 主键关联:用户表主键和用户资料表主键要保持一致(如:用户表id=1,此用户的资料表id=1)

执行流程

  1. 手机端发送请求到消费者
  2. 消费者构造数据,调用提供者
  3. 消费者完成业务处理,操作数据库

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
conda常用操作和配置镜像源
conda常用操作和配置镜像源
30139 0
Pyside6-第二篇-QPushButton一个普通按钮
Pyside6-第二篇-QPushButton一个普通按钮
539 0
|
存储 缓存 NoSQL
分布式缓存最全详解(图文全面总结)
关注【mikechen的互联网架构】,10年+ BAT架构经验倾囊相授。本文详细介绍分布式缓存的核心概念、特点及常见问题,如缓存雪崩、缓存穿透和缓存击穿,并探讨其应用场景和解决方案。欢迎交流。
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
7663 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
497 0
|
数据采集 JSON 前端开发
Python爬虫策略分析2
Python爬虫策略分析2
63 0
|
应用服务中间件 PHP 开发工具
dockerfile 搭建lamp 实验模拟
dockerfile 搭建lamp 实验模拟
|
存储 云安全 安全
【探花交友】day02—完善个人信息(一)
【探花交友】day02—完善个人信息
1786 0
|
NoSQL Java Redis
【小家Spring】Spring Boot中使用RedisTemplate优雅的操作Redis,并且解决RedisTemplate泛型注入失败的问题(中)
【小家Spring】Spring Boot中使用RedisTemplate优雅的操作Redis,并且解决RedisTemplate泛型注入失败的问题(中)
【小家Spring】Spring Boot中使用RedisTemplate优雅的操作Redis,并且解决RedisTemplate泛型注入失败的问题(中)
|
NoSQL API Redis
【探花交友】day05—圈子互动(下)
【探花交友】day05—圈子互动(下)
917 0
下一篇
开通oss服务