Files
Message-Push-Nest/docs/guide/self-hosted-messages-old.md
2026-01-14 21:12:26 +08:00

12 KiB

自托管消息

自托管消息功能将 Message Nest 作为消息接收平台,用户登录站点查看消息。

功能概述

核心定位: 将 Message Nest 站点作为消息接收和展示平台,而不是推送到外部渠道。

主要功能:

  • 站点作为消息接收平台
  • 用户登录后台查看消息
  • 搜索消息
  • 查看消息详情

与其他渠道的区别:

  • 邮件/钉钉/企业微信 - 推送到外部平台,用户在对应平台查看
  • 自托管消息 - 存储在 Message Nest 站点,用户登录站点查看

配置自托管消息渠道

创建渠道

  1. 登录管理后台
  2. 进入"推送渠道"页面
  3. 点击"新建渠道"
  4. 选择渠道类型:"自托管消息"
  5. 填写配置信息

配置参数

参数 说明 必填 默认值
渠道名称 自定义渠道名称 -
渠道描述 渠道用途说明 -

配置示例

渠道名称:站内通知
渠道描述:用户站内消息通知

使用自托管消息

方式一:通过任务发送

  1. 创建发送任务
  2. 添加自托管消息渠道实例
  3. 通过 V1 API 发送消息

API 示例:

curl -X POST http://your-domain/api/v1/message/send \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_task_token",
    "title": "系统通知",
    "text": "您有一条新消息",
    "html": "<h2>系统通知</h2><p>您有一条新消息</p>",
    "markdown": "## 系统通知\n\n您有一条新消息"
  }'

方式二:通过模板发送(推荐)

  1. 创建消息模板
  2. 为模板添加自托管消息实例
  3. 通过 V2 API 发送消息

API 示例:

curl -X POST http://your-domain/api/v2/message/send \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_template_token",
    "title": "订单通知",
    "placeholders": {
      "order_id": "20241206001",
      "status": "已发货"
    }
  }'

查看消息

消息列表

  1. 登录管理后台
  2. 进入"自托管消息"或"消息中心"页面
  3. 查看消息列表

列表信息:

说明
状态 已读/未读标识
标题 消息标题
来源 发送任务或模板名称
接收时间 消息接收时间
操作 查看详情、标记已读、删除

消息筛选

支持多种筛选条件:

  • 状态筛选 - 全部/未读/已读
  • 时间筛选 - 今天/最近7天/最近30天/自定义
  • 来源筛选 - 按任务或模板筛选
  • 关键词搜索 - 搜索标题或内容

筛选示例:

状态:未读
时间:最近7天
来源:订单通知模板
关键词:发货

查看详情

点击消息标题或"查看"按钮查看消息详情:

详情页面包含:

  • 消息标题
  • 发送时间
  • 来源信息
  • 消息内容(根据格式展示)
  • 操作按钮(标记已读、删除)

内容展示:

  • Text - 纯文本展示
  • HTML - 富文本渲染
  • Markdown - Markdown 渲染

消息操作

标记已读/未读

  • 单个标记 - 点击消息的"标记已读"按钮
  • 批量标记 - 选择多条消息,点击"批量标记已读"
  • 全部已读 - 点击"全部标记为已读"

删除消息

  • 单个删除 - 点击消息的"删除"按钮
  • 批量删除 - 选择多条消息,点击"批量删除"
  • 清空消息 - 点击"清空全部消息"(谨慎操作)

::: warning 注意 删除操作不可恢复,请谨慎操作! :::

消息格式

Text 格式

纯文本格式,适用于简单通知。

示例:

您的订单 20241206001 已发货。

快递公司:顺丰速运
快递单号:SF1234567890
预计送达:2024-12-08

如有问题请联系客服。

展示效果: 保持原始换行和格式

HTML 格式

HTML 格式,支持富文本样式。

示例:

<div style="padding: 20px; background: #f5f5f5;">
  <h2 style="color: #333;">订单发货通知</h2>
  <p>您的订单 <strong>20241206001</strong> 已发货。</p>
  <table style="width: 100%; margin: 10px 0;">
    <tr>
      <td>快递公司:</td>
      <td>顺丰速运</td>
    </tr>
    <tr>
      <td>快递单号:</td>
      <td>SF1234567890</td>
    </tr>
  </table>
  <p style="color: #999;">如有问题请联系客服。</p>
</div>

展示效果: 完整的 HTML 渲染,支持样式和布局

Markdown 格式

Markdown 格式,支持格式化文本。

示例:

## 订单发货通知

您的订单 **20241206001** 已发货。

| 项目 | 信息 |
|------|------|
| 快递公司 | 顺丰速运 |
| 快递单号 | SF1234567890 |
| 预计送达 | 2024-12-08 |

> 如有问题请联系客服。

展示效果: Markdown 渲染,支持标题、表格、引用等

使用场景

场景 1:站内消息中心

需求: 将 Message Nest 作为网站/应用的消息中心

实现方案:

  1. 创建"用户通知"模板
  2. 添加自托管消息渠道实例
  3. 在用户操作时调用 API 发送消息到自托管渠道
  4. 用户登录 Message Nest 站点查看消息

典型应用:

  • 系统公告发布
  • 账号安全提醒
  • 订单状态更新
  • 活动通知推送

优势:

  • 无需开发消息中心功能
  • 直接使用 Message Nest 作为消息平台
  • 用户登录即可查看所有消息

场景 2:内部工作流通知

需求: 团队内部的工作流通知和待办事项集中管理

实现方案:

  1. 创建不同类型的通知模板(审批、任务、提醒)
  2. 配置自托管消息渠道
  3. 工作流触发时发送消息到自托管渠道
  4. 团队成员登录 Message Nest 站点查看待办

典型应用:

  • 审批请求通知
  • 任务分配提醒
  • 会议提醒
  • 进度更新通知

优势:

  • 所有工作通知集中在一个平台
  • 团队成员统一登录查看
  • 避免消息分散在多个渠道

场景 3:系统告警记录平台

需求: 将 Message Nest 作为系统告警的集中查看平台

实现方案:

  1. 创建"系统告警"模板
  2. 配置自托管消息渠道(同时可配置钉钉/邮件/Telegram 用于即时通知)
  3. 系统监控触发告警时发送到自托管渠道
  4. 管理员登录 Message Nest 站点查看和管理告警

典型应用:

  • 服务异常告警
  • 资源使用告警
  • 安全事件告警
  • 性能告警

优势:

  • 所有告警集中存储在平台
  • 便于历史告警查询和分析
  • 支持搜索和筛选功能
  • 可导出告警数据

场景 4:消息归档平台

需求: 将 Message Nest 作为所有消息的归档和查询平台

实现方案:

  1. 为所有任务/模板添加自托管消息渠道实例
  2. 配合钉钉/Telegram 等渠道实现即时提醒
  3. 所有消息都会存储在 Message Nest 站点
  4. 用户登录站点查看历史消息
  5. 定期导出归档数据

典型应用:

  • 所有发送消息的完整记录
  • 消息审计和追溯
  • 历史消息查询
  • 数据分析和统计

优势:

  • Message Nest 成为消息归档中心
  • 所有消息集中存储和管理
  • 支持强大的搜索和筛选
  • 便于导出和分析

消息管理

手动清理

可以手动清理消息以释放存储空间。

清理选项:

  • 清理已读消息 - 删除所有已读消息
  • 清理过期消息 - 删除指定天数前的消息
  • 清空全部消息 - 删除所有消息(谨慎操作)

步骤:

  1. 进入"自托管消息"页面
  2. 点击"清理"按钮
  3. 选择清理选项
  4. 确认操作
  5. 等待清理完成

消息导出

导出消息数据用于备份或分析。

导出格式:

  • CSV - 适合 Excel 分析
  • JSON - 适合程序处理
  • PDF - 适合打印存档

导出步骤:

  1. 进入"自托管消息"页面
  2. 设置筛选条件(可选)
  3. 点击"导出"按钮
  4. 选择导出格式
  5. 下载导出文件

消息统计

查看消息的统计数据和趋势。

统计指标

指标 说明
总消息数 累计接收的消息总数
未读消息 当前未读消息数量
今日新增 今天接收的消息数
平均响应时间 从接收到已读的平均时间
消息来源分布 各任务/模板的消息占比

趋势图表

  • 消息趋势 - 最近 30 天的消息接收趋势
  • 来源分布 - 各来源的消息数量饼图
  • 已读率 - 消息已读率变化趋势

查看统计

  1. 进入"自托管消息"页面
  2. 点击"统计"按钮
  3. 查看各项统计数据
  4. 可导出统计报表

最佳实践

1. 消息分类

  • 按重要性分类 - 重要/一般/提示
  • 按类型分类 - 通知/告警/提醒
  • 使用不同模板 - 便于筛选和管理

2. 内容设计

  • 标题简洁明了 - 让用户快速了解消息内容
  • 内容结构清晰 - 使用标题、列表、表格等
  • 提供操作入口 - 添加相关链接或按钮
  • 适配多种格式 - 提供 Text/HTML/Markdown

3. 存储管理

  • 定期手动清理 - 定期清理已读或过期消息,释放存储空间
  • 重要消息导出备份 - 避免数据丢失
  • 监控存储使用情况 - 及时清理不需要的消息

4. 用户体验

  • 及时标记已读 - 保持消息列表整洁
  • 使用筛选功能 - 快速找到需要的消息
  • 定期查看消息 - 避免遗漏重要通知
  • 合理设置通知 - 避免消息过载

5. 安全性

  • 权限控制 - 确保只有授权用户可以查看
  • 敏感信息加密 - 对敏感内容进行加密
  • 定期审计 - 检查消息访问日志
  • 数据备份 - 定期备份重要消息

与其他渠道对比

特性 自托管消息 邮件 钉钉/企业微信/飞书 Telegram
实时性
到达率
格式支持 Text/HTML/Markdown Text/HTML Text/Markdown Text/HTML/Markdown
历史查询
成本 免费 免费/付费 免费 免费
依赖 SMTP 服务器 对应平台 Telegram(可能需要代理)
适用场景 站内通知、归档 正式通知、账单 即时通知、协作 个人通知、跨国协作

常见问题

Q: 自托管消息和其他渠道有什么区别?

A:

  • 自托管消息 - 存储在系统内,需要登录后台查看
  • 其他渠道 - 推送到外部平台(邮件、钉钉、Telegram 等),用户在对应平台查看

Q: 可以同时使用自托管消息和其他渠道吗?

A: 可以。为任务或模板同时配置多个渠道实例,消息会发送到所有渠道。

Q: 消息会永久保存吗?

A: 消息会一直保存,不会自动清理。建议定期手动清理不需要的消息,并导出重要消息备份。

Q: 如何提高消息的查看率?

A:

  1. 配合其他渠道(如邮件、钉钉、Telegram)提醒用户
  2. 在应用中显示未读消息数量
  3. 提供消息通知功能
  4. 定期提醒用户查看

Q: 消息被误删了怎么办?

A:

  • 如果有备份,可以从备份恢复
  • 如果配置了其他渠道,可以从其他渠道查看
  • 建议定期导出重要消息

Q: 如何在应用中集成消息中心?

A:

  1. 调用 API 发送消息到自托管渠道
  2. 提供登录入口到 Message Nest 后台
  3. 或者通过 API 查询消息列表(需要开发)
  4. 在应用中展示消息

注意事项

::: warning 重要提示

  1. 存储空间 - 消息不会自动清理,注意定期手动清理,避免占用过多存储空间
  2. 性能影响 - 大量消息可能影响查询性能,建议定期清理已读或过期消息
  3. 权限控制 - 确保消息只能被授权用户查看
  4. 数据备份 - 重要消息建议定期导出备份
  5. 手动清理 - 删除操作不可恢复,请谨慎操作 :::

下一步