package net.northking.cctp.upperComputer.automation.utils;

import com.alibaba.fastjson.JSONObject;
import net.northking.cctp.upperComputer.driver.ios.command.data.TapXYData;

import java.io.File;
import java.util.List;

/**
 * @author : yineng.huang
 * @date : 2024/11/5 16:33
 */
public interface OcrHelper {

    /**
     * ocr查找文字
     * @param base64Str   查找的图片
     * @param ocrText     查找的文字
     * @param diffussion  相似度
     * @param index       第几个
     * @param x           图片的左上角x坐标
     * @param y           图片的左上角y坐标
     * @return
     */
    public TapXYData doFindTextByOcr(String base64Str,String ocrText,Integer diffussion,Integer index,Double x,Double y);

    /**
     * 以图找图
     * @param sourceFile    被查找的图片
     * @param resolution_s   分辨率
     * @param resolution_l   分辨率
     * @param picName       查找的图片地址
     * @param stepToken     此次查找的步骤id，标识
     * @return
     */
    public TapXYData doImgFindImg(File sourceFile, String resolution_s, String resolution_l, String picName, String stepToken);


    /**
     * 识别图片中的文字
     * @param targetBase64  图片base64
     * @return
     */
    public String getTextValue(String targetBase64);

    /**
     * 获取验证码
     * @param base64  图片base64
     * @param codeType  验证码类别
     * @return
     */
    public String getVerificationCodeByBase64(String base64, Integer codeType);


    /**
     * 识别安全键盘
     * @param ocrArea
     * @return
     */
    public List getKeyBoardInfo(String ocrArea);

    /**
     *
     * @param imgBase64
     * @param text
     * @param direction
     * @param index
     * @return
     */
    public JSONObject getTextDirectionText(String imgBase64, String text, String direction, Integer index);
}
