package com.ruoyi.system.service;

import com.ruoyi.system.domain.enums.verificationCode.CodeBusinessType;

/**
 * @author wjh
 * 2024/3/27
 */
public interface IVerificationCodeService {

    /**
     * 发送手机短信验证码
     * @param mobile 手机号
     * @param type 业务类型
     * @return 是否发送成功
     */
    boolean sendMobileCode(String mobile, CodeBusinessType type);

    /**
     * 校验验证码
     * @param key 键，可以是手机号、邮箱等
     * @param code 验证码
     * @param type 业务类型
     * @param remove 校验成功后，是否删除
     * @return 是否校验成功
     */
    boolean checkCode(String key, String code, CodeBusinessType type, boolean remove);

    /**
     * 校验验证码，校验成功后，默认删除
     * @param key 键，可以是手机号、邮箱等
     * @param code 验证码
     * @param type 业务类型
     * @return 是否校验成功
     */
    boolean checkCode(String key, String code, CodeBusinessType type);

}
