|
@@ -20,9 +20,9 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.File;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 登录验证
|
|
@@ -134,7 +134,34 @@ public class SysLoginController {
|
|
|
File upFile = File.createTempFile("temp_" + filename[0], filename[1] + ".");
|
|
|
file.transferTo(upFile);
|
|
|
|
|
|
- long uid = faceService.faceLogin(upFile);
|
|
|
+ return faceLogin(upFile);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("人脸识别")
|
|
|
+ @PostMapping("/face-login-base64")
|
|
|
+ public AjaxResult face(@RequestBody Map<String, String> params) throws Exception {
|
|
|
+ String img = params.get("img");
|
|
|
+ String[] tmp = img.split(",");
|
|
|
+ String suffix = "." + tmp[0].split("/")[1];
|
|
|
+ byte[] imageBytes = Base64.getDecoder().decode(tmp[1]);
|
|
|
+
|
|
|
+ File upFile = File.createTempFile("temp_" + Math.random(), suffix);
|
|
|
+ try (FileOutputStream fos = new FileOutputStream(upFile)) {
|
|
|
+ fos.write(imageBytes);
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return faceLogin(upFile);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 人脸识别登录处理
|
|
|
+ *
|
|
|
+ * @param file 图片文件
|
|
|
+ * @return ajax
|
|
|
+ */
|
|
|
+ private AjaxResult faceLogin(File file) {
|
|
|
+ long uid = faceService.faceLogin(file);
|
|
|
if (uid != 0) {
|
|
|
SysUser user = userService.selectUserById(uid);
|
|
|
// 生成令牌
|