package com.wteam.framework.modules.verification.service;


import com.wteam.framework.modules.verification.entity.enums.VerificationEnums;

import java.io.IOException;
import java.util.Map;

/**
 * 验证码模块
 *
 * @author Bulbasaur
 * @since 2021/7/9 1:42 上午
 */
public interface VerificationService {
    /**
     * 获取校验对象
     *
     * @param verificationEnums 校验枚举
     * @param uuid              uuid
     * @return 校验对象
     * @throws IOException 校验错误
     */
    Map<String, Object> createVerification(VerificationEnums verificationEnums, String uuid);

    /**
     * 预校验
     *
     * @param xPos              位移距离
     * @param uuid              用户唯一表示
     * @param verificationEnums 校验枚举
     * @return
     */
    boolean preCheck(Integer xPos, String uuid, VerificationEnums verificationEnums);

    /**
     * 验证码校验
     *
     * @param uuid              用户唯一表示
     * @param verificationEnums 校验枚举
     * @return 操作结果
     */
    boolean check(String uuid, VerificationEnums verificationEnums);
}
