目录

站内信配置

本章节,介绍项目的站内信功能。它在管理后台有三个菜单,分别是:

① 站内信模版:管理站内信的内容模版

站内信模版

② 站内信管理:查看站内信的发送记录

站内信管理

③ 我的站内信:查看发送给我的站内信

我的站内信

# 1. 表结构

表结构

# 2. 实现代码

# 3. 站内信配置

本小节,讲解如何配置站内信功能,整个过程如下:

  1. 新建一个站内信【模版】,配置站内信的内容模版
  2. 测试该站内信模板,查看对应的站内信【记录】,确认是否发送成功

# 3.1 新建站内信模版

① 点击 [系统管理 -> 站内信管理 -> 模板管理] 菜单,查看站内信模板的列表。如下图所示:

站内信模版

② 点击 [新增] 按钮,填写信息如下图:

站内信模板的新增

  • 模版编号:站内信模板的唯一标识,使用站内信 API 时,通过它标识使用的站内信模板
  • 发件人名称:发送站内信显示的发件人名字
  • 模板内容:站内信模板的内容,使用 {var} 作为占位符,例如说 {name}{code}
  • 模版类型:站内信的分类,可使用 system_notify_template_type 字典进行自定义
  • 开启状态:站内信模板被禁用时,该站内信模板将不发送站内信,只打印 logger 日志

疑问:为什么设计站内信模板的功能?

在一些场景下,产品会希望修改发送站内信的内容、发送人昵称,此时只需要修改站内信模版的对应属性,无需重启应用。

# 3.2 测试站内信模版

① 点击 [测试] 按钮,选择接收人为「芋道源码」,进行该站内信模板的模拟发送。如下图所示:

测试站内信

② 点击 [系统管理 -> 站内信管理 -> 消息记录] 菜单,可以查看到刚发送的站内信。如下图所示:

站内信发送日志

③ 点击右上角的 [消息] 图标,也可以查看到刚发送的站内信。如下图所示:

站内信接收日志

# 4. 站内信发送

# 4.1 NotifyMessageSendApi

站内信配置完成后,可使用 NotifyMessageSendApi (opens new window) 进行站内信的发送,支持多种用户类型。它的方法如下:

NotifyMessageSendApi

# 4.2 接入示例

yudao-module-infra 模块,需要发站内信为例子,讲解 SmsCodeApi 的使用。

① 在 yudao-module-infra-biz 模块的 pom.xml (opens new window) 引入 yudao-module-system-api 依赖,如所示:

1
2
3
4
5
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-system-api</artifactId>
<version>${revision}</version>
</dependency>

② 在代码中注入 NotifyMessageSendApi Bean,并调用发送站内信的方法。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class TestDemoServiceImpl implements TestDemoService {

// 0. 注入 NotifyMessageSendApi Bean
@Resource
private NotifyMessageSendApi notifySendApi;

public void sendDemo() {
// 1. 准备参数
Long userId = 1L; // 示例中写死,你可以改成你业务中的 userId 噢
String templateCode = "test_01"; // 站内信模版,记得在【站内信管理】中配置噢
Map<String, Object> templateParams = new HashMap<>();
templateParams.put("key1", "奥特曼");
templateParams.put("key2", "变身");

// 2. 发送站内信
notifySendApi.sendSingleNotifylToAdmin(new NotifySendSingleToUserReqDTO()
.setUserId(userId).setTemplateCode(templateCode).setTemplateParams(templateParams));
}

}
上次更新: 2023/01/29, 19:06:42

本站由 钟意 使用 Stellar 1.28.1 主题创建。
又拍云 提供CDN加速/云存储服务
vercel 提供托管服务
湘ICP备2023019799号-1
总访问 次 | 本页访问