目前提供短信发送服务,支持阿里云、腾讯云、七牛云、华为云等短信平台。如果新增多家短信平台,则会按多家短信平台轮询发送短信。

API接口

引入组件后,我们就可以在程序里面调用,下面是短信API接口,如下所示:

/**
 * 短信服务API
 *
 * @author 阿沐 babamu@126.com
 */
public interface SmsApi {

    /**
     * 发送短信
     *
     * @param mobile 手机号
     * @param params 参数
     * @return 是否发送成功
     */
    boolean send(String mobile, Map<String, String> params);

    /**
     * 发送短信
     *
     * @param mobile 手机号
     * @param key    参数KEY
     * @param value  参数Value
     * @return 是否发送成功
     */
    boolean sendCode(String mobile, String key, String value);

    /**
     * 效验短信验证码
     *
     * @param mobile 手机号
     * @param code   验证码
     * @return 是否效验成功
     */
    boolean verifyCode(String mobile, String code);
}

API接口调用

下面提供了调用API接口的DEMO,如下所示:

@Service
@AllArgsConstructor
public class SendCodeService {
    private final SmsApi smsApi;

    public void sendCode(String mobile) {
        // 生成6位验证码
        String code = RandomUtil.randomNumbers(6);

        // 发送短信
        smsApi.sendCode(mobile, "code", code);
    }
}