📄 信息推送功能使用
内部资料,请刷新扫码登录
pigcloud
# 站内信、公告

# 操作步骤
- 点击【信息推送】菜单,进入信息推送管理页面
- 点击【新增】按钮,选择创建站内信或公告
- 填写相关信息:
- 标题:消息或公告的标题
- 内容:详细信息内容
- 接收范围:选择接收用户群体(不选择 发送全部)
# 功能说明
- 站内信:系统会根据选中的群发范围,将消息发送给指定用户,在系统右上角的【🔔】刷新可见
- 公告:发布后将在系统首页的公告选项卡位置进行显示,所有用户可见
# 业务工具
RemoteMessageService
是一个基于 Feign 的远程调用接口,用于实现远程消息的发送功能,包括发送短信、邮件以及自定义钩子消息。此服务主要通过
RESTful API 的形式与其他微服务进行交互。该接口提供了以下几种消息发送功能:
- 短信 (SMS) - 用于发送手机短信通知,支持验证码、通知等场景
- 邮件 (Email) - 支持发送普通文本、HTML 格式邮件,可包含附件
- 钩子 (Hook) - 支持发送消息到第三方平台,如企业微信、钉钉等
# 定义业务编码
bizCode 是一个用于标识消息发送渠道的唯一编码,用于区分不同的消息发送渠道。在发送消息时,需要指定对应的 bizCode,以便消息服务能够正确识别消息发送渠道。
# 配置位置
在系统中,您可以通过以下路径配置消息渠道: 基础工具 > 信息推送 > 短信 | 邮件 | Hook
每种消息类型的配置包含:
- 短信配置: 配置短信服务商信息和模板
- 邮件配置: 配置SMTP服务器信息和邮件模板
- Hook配置: 配置第三方webhook接口和消息格式
- 站内信配置: 配置系统内部消息模板和发送规则

# 使用示例
# 1. 发送短信示例
@Autowired
private RemoteMessageService remoteMessageService;
public void sendSmsExample() {
MessageSmsDTO smsDTO = MessageSmsDTO.builder()
.mobile("13800138000")
.biz("业务编码")
.param("code", "123456")
.build();
R result = remoteMessageService.sendSms(smsDTO);
}
# 2. 发送邮件示例
import java.util.List;
@Autowired
private RemoteMessageService remoteMessageService;
public void sendEmailExample() {
// 发送普通文本邮件
MessageEmailDTO emailDTO = new MessageEmailDTO();
emailDTO.getMailAddress().add("user@example.com");
emailDTO.setTitle("欢迎邮件");
emailDTO.setBody("欢迎您加入我们的平台!");
emailDTO.setBizCode("业务编码");
// 发送 HTML 邮件
MessageEmailDTO emailDTO = new MessageEmailDTO();
emailDTO.getMailAddress().add("user@example.com");
emailDTO.setTitle("活动通知");
emailDTO.setHtml("<p>尊敬的用户,您的优惠码是:<strong>{{code}}</strong></p>");
emailDTO.getHtmlValues().put("code", "123456");
emailDTO.setBizCode("业务编码");
// 发送带附件的邮件
MessageEmailDTO emailDTO = new MessageEmailDTO();
emailDTO.getMailAddress().add("user@example.com");
emailDTO.setTitle("项目报告");
emailDTO.setBody("请查收附件中的项目报告。");
emailDTO.getAttachmentList().add("对应【文件上传功能】 fileName");
emailDTO.setBizCode("业务编码");
R result = remoteMessageService.sendEmail(emailDTO);
}
# 3. 发送钩子消息示例
public void sendHookExample() {
MessageHookDTO hookDTO = new MessageHookDTO();
hookDTO.setBizCode("业务编码");
hookDTO.setMessageContent("服务器 CPU 使用率超过 90%");
hookDTO.setMessageType("text"); // text 或 markdown /link
R result = remoteMessageService.sendHook(hookDTO);
}