package com.pj.project4sp.face.handler;

import com.pj.project4sp.face.brand.FaceBrand;

import java.util.List;

/**
 * 使用流程
 * 1、判断是否人脸有效checkIsLive
 * 2、生成人脸库信息createPersonByBase
 * 3、校验人脸ID和图片base64是否一致
 */
public interface IFaceHandler {

    /**
     * 是否活脸
     * @param baseImg 图片base64
     * @return
     */
    boolean checkIsLive(String baseImg);
    /**
     * 创建人脸库
     * @param faceId 人脸ID--自己生成
     * @param name 名称
     * @param imageBase 图片base64
     */
    void createPersonByBase(String faceId, String name, String imageBase);
    void createPersonByBase(String faceId, String name, byte[] imageBase);

    void deletePerson(String faceId);
    boolean checkHasPerson(String img);

    boolean checkHasPerson( byte[] imageBase);

    /**
     * 检查校验
     * @param faceId 人脸ID
     * @param baseImage
     * @return
     */
    VerifyVO verify(String faceId, String baseImage);

    VerifyVO verify(String faceId, byte[] imageBytes);

    /**
     * 人脸搜索
     * @param baseImg
     * @return
     */
    List<String> faceSearch(String baseImg);
    FaceBrand faceBrand();
}
