maku-module-message 为消息服务组件,目前提供短信发送服务,支持阿里云、腾讯云、七牛云、华为云等短信平台。如果新增多家短信平台,则会按多家短信平台轮询发送短信。
引入
在
maku-boot/maku-server/pom.xml
里面引入组件依赖,如下所示:
<dependency>
<groupId>net.maku</groupId>
<artifactId>maku-module-message</artifactId>
<version>${revision}</version>
</dependency>
IDEA开发工具生效
完成上面的引入后,idea开发工具,默认是不会加载这个依赖的,我们就会错误的感觉引入依赖失败。要让idea开发工具生效也很简单,只需要reload一下,就可以了,如下所示:
完成上面这2步后,依赖就会生效。
SQL语句
执行对应的SQL文件(如:MySQL),初始化表结构和菜单等,如下所示
maku-boot/db/mysql/module/maku-module-message.sql
启动项目
完成上面2步骤后,再启动项目,则可看到maku-boot-message对应的功能,如下所示:
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);
}
}