Skip to content

系统消息插件 ​

插件标识为 since/system-message,入口在后台插件中心的“系统消息”。它负责消息、模板、用户偏好和投递记录,并通过异步队列处理通知发送。

管理员使用 ​

  1. 在“模板管理”创建模板,选择消息类型和渠道,填写标题、正文及渠道扩展参数。
  2. 在“消息管理”创建消息并指定收件人、优先级和模板变量。
  3. 在仪表盘查看发送、失败和渠道统计,在投递日志中定位失败原因。
  4. 用户可在通知设置中开关渠道、消息类型、免打扰时间和最低优先级。

通知渠道 ​

  • database:站内用户消息和消息中心
  • email:按用户邮箱发送 HTML 邮件
  • sms:调用短信插件发送验证码或通知
  • miniapp:调用微信小程序订阅消息
  • realtime / push:保留扩展入口,当前按配置决定是否可用

小程序订阅消息需要在消息 extra_data 中提供 openid(或 miniapp_openid)和 miniapp_template_id(或 template_id),可选 miniapp_data、miniapp_page。模板变量在未提供 miniapp_data 时作为消息数据。

可靠性与限制 ​

NotificationService::send 使用异步队列注解,发送不会阻塞创建消息的请求。每次发送会先检查用户偏好、免打扰时段和最低优先级,并写入投递结果。站内消息依赖 user_messages 关联记录;邮件依赖 PHP mail() 和用户邮箱;小程序依赖微信插件配置及有效模板 ID。

相关代码:plugins/system-message/src/Domain/Infrastructure/SystemMessage、plugins/system-message/web。

文档内容仅描述当前仓库中已经存在的实现