实现统一的消息推送接口,包含PC消息、短信消息、邮件消息、微信消息等,无需让所有开发者了解消息是怎么发送出去的,只需了解消息发送接口即可。
所有推送消息均通过 MsgPushUtils
工具类发送。
消息表
1、消息待推送表(js_sys_msg_push): 实时监测待推送的消息数据表,检测到消息后调用推送接口。
2、消息已推送表(js_sys_msg_pushed):推送完成后,存入到这个历史表里,作为日后查询消息推送历史用。
消息配置
# 消息提醒中心(专业版)
msg:
enabled: true
# 是否开启实时发送消息(保存消息后立即检查未读消息并发送),分布式部署下请单独配置消息发送服务,不建议开启此选项。
realtime:
# 是否开启
enabled: true
# 推送失败次数,如果推送次数超过了设定次数,仍不成功,则放弃并保存到历史
pushFailNumber: 3
# 邮件发送参数
email:
beanName: emailSendService
fromAddress: jeesite_demo@163.com
fromPassword: jeesite_xxxx
fromHostName: smtp.163.com
sslOnConnect: false
sslSmtpPort: 994
# 短信网关
sms:
beanName: smsSendService
url: http://localhost:80/msg/sms/send
data: username=jeesite&password=jeesite.com
prefix: 【JeeSite】
suffix: ~
注意 “定时消息” 和 “延迟推送” 必须从 “系统监控->作业监控” 菜单里开启消息推送服务才可使用。如果此服务开启,可关闭 “实时发送消息” 开关。
消息推送实现
目前JeeSite中只实现了PC和Email的推送服务,其余的推送服务(如:短信、微信、APP等)你需要自己去实现。
短信推送其实调用的是 com.jeesite.common.msg.SmsUtils.send(String content,