外观
消息通讯
提供多种消息通讯能力,包括实时 WebSocket 通信、MQTT 物联网协议、RabbitMQ 异步消息队列、邮件通知、短信验证和微信集成。
概述
消息通讯系统覆盖了从实时双向通信到异步通知的全场景需求,适用于即时消息、系统通知、验证码发送、营销推送等场景。
核心能力
1. 实时通讯
| 方式 | 用途 | 关键文件 |
|---|---|---|
| WebSocket (ws) | 双向实时通信 | websockets/index.mts、websockets/root.mts |
| MQTT (aedes) | 物联网/轻量级消息 | websockets/mqttTunerPad.mts |
HTTP 服务器自动升级 WebSocket 连接(src/bin/www.mts),通过 websocketRoutes 路由分发。
2. 消息队列
使用 RabbitMQ(amqplib)处理异步任务:
- 异步任务处理
- 消费者独立进程运行(
consumers/目录) - 生产者-消费者模式解耦
3. 邮件通知
- 使用 nodemailer 发送邮件
- HTML 模板渲染(EJS 模板位于
assets/) - 支持 SMTP 配置
- 错误报警邮件自动通知
4. 短信服务
- 阿里云 SMS 集成
- 验证码发送
- 通知类短信
5. 微信集成
- 微信公众号菜单管理
- OAuth 授权登录
- 消息模板
相关文件
src/websockets/index.mts— WebSocket 路由注册src/websockets/root.mts— WebSocket 根处理器src/services/wechat.mts— 微信业务逻辑src/utils/EmailUtils.mts— 邮件发送工具src/utils/SmsUtils.mts— 短信工具src/utils/RabbitMQUtils.mts— RabbitMQ 工具consumers/— 消息队列消费者assets/email-template.ejs— 邮件模板