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)
执行流程
- 手机端发送请求到消费者
- 消费者构造数据,调用提供者
- 消费者完成业务处理,操作数据库