Appearance
系统消息插件
插件标识为 since/system-message,入口在后台插件中心的“系统消息”。它负责消息、模板、用户偏好和投递记录,并通过异步队列处理通知发送。
管理员使用
- 在“模板管理”创建模板,选择消息类型和渠道,填写标题、正文及渠道扩展参数。
- 在“消息管理”创建消息并指定收件人、优先级和模板变量。
- 在仪表盘查看发送、失败和渠道统计,在投递日志中定位失败原因。
- 用户可在通知设置中开关渠道、消息类型、免打扰时间和最低优先级。
通知渠道
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。