notifications.subscribe
监听通知
- 请求路由:
notifications.subscribe- 交互模型:
Request Stream- 访问限制: 无
发起通知监听请求,返回一个不会终止的消息流,当有新的通知时,会下发通知对象到消息流中。 客户端可以在onNext中接收并处理下发的通知对象。
调用示例 :
RSocket.rs({
route: 'notifications.subscribe',
args: {
filter: {
businessKey: 'order:*', // 仅接收订单通知。可以使用通配符匹配
params: { // 可针对通知扩展参数进行过滤
notiTarget: 'driver',
templateName: '^.+订单.+$', // 使用正则表达式过滤
driverDisplay: true,
}
}
},
onNext: (notification) => {
// 收到通知时会触发onNext回调
console.log('收到通知: ', notification)
},
})
请求
RSocket.rs({
"route" : "notifications.subscribe",
"args" : {
"filter" : {
"businessKey" : "order:*",
"params" : {
"notiTarget" : "driver",
"templateName" : "收到新订单提醒",
"driverDisplay" : true
}
}
}
});
请求参数
| 名称 | 类型 | 必须 | 说明 |
|---|---|---|---|
filter | Object | 否 | 过滤参数,匹配的字符串值可以以通配符*开始或结束,以匹配前缀或后缀如果字符串值以 ^开头,且以$结尾,则字符串值被当做正则表达式用于过滤 |
filter.recipient | String | 否 | 接收者帐号 |
filter.subject | String | 否 | 通知主题 |
filter.content | String | 否 | 通知内容 |
filter.businessKey | String | 否 | 关联的业务标识,例如订单通知相关的订单号等 |
filter.type | String | 否 | normal - 会持久化的普通通知 headline - 不会持久化的实时通知,仅在线用户可以收到这类通知 |
filter.params | Object | 否 | 通知参数,用于携带通知相关的一些上下文,不同sendType所需的基本params不同:email:除以上基本参数外,可以添加其他业务相关参数,以便客户端收到通知后执行特定业务逻辑 |
返回
一个不会终止的流,流的元素是通知对象
[
{
"tenantId" : "mzd",
"id" : "6483c02eedb4f1131ba68047",
"scope" : "cbv",
"sender" : "admin",
"recipient" : "18900010001@mzd",
"subject" : "专线订单下单成功",
"content" : "",
"businessKey" : "order:SCO20230610081326748",
"type" : "normal",
"params" : {
"templateName" : "购票成功通知",
"appId" : "wx810cb7d88888888e",
"driverDisplay" : false
},
"status" : 0,
"sendTypes" : [
"app",
"sms",
"wx"
]
}
]
返回属性
| 名称 | 类型 | 说明 |
|---|---|---|
id | String | 通知标识 |
scope | String | 相关应用Scope |
sender | String | 发送者帐号 |
recipient | String | 接收者帐号 |
subject | String | 通知主题 |
content | String | 通知内容 |
businessKey | String | 关联的业务标识,例如订单通知相关的订单号等 |
type | String | normal - 会持久化的普通通知 headline - 不会持久化的实时通知,仅在线用户可以收到这类通知 |
params | Object | 通知参数,用于携带通知相关的一些上下文,不同sendType所需的基本params不同:email:除以上基本参数外,可以添加其他业务相关参数,以便客户端收到通知后执行特定业务逻辑 |
status | Number | 通知状态 0 - 未读; 1 - 已读 |
sendTypes | String[] | 通知发送类别。 可同时指定多个发送类别 |
crDate | String | 创建时间 |
tenantId | String | 租户ID |