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

482 lines
12 KiB
Markdown

# 自托管消息
自托管消息功能将 Message Nest 作为消息接收平台,用户登录站点查看消息。
## 功能概述
**核心定位:** 将 Message Nest 站点作为消息接收和展示平台,而不是推送到外部渠道。
**主要功能:**
- ✅ 站点作为消息接收平台
- ✅ 用户登录后台查看消息
- ✅ 搜索消息
- ✅ 查看消息详情
**与其他渠道的区别:**
- **邮件/钉钉/企业微信** - 推送到外部平台,用户在对应平台查看
- **自托管消息** - 存储在 Message Nest 站点,用户登录站点查看
## 配置自托管消息渠道
### 创建渠道
1. 登录管理后台
2. 进入"推送渠道"页面
3. 点击"新建渠道"
4. 选择渠道类型:"自托管消息"
5. 填写配置信息
### 配置参数
| 参数 | 说明 | 必填 | 默认值 |
|------|------|------|--------|
| 渠道名称 | 自定义渠道名称 | 是 | - |
| 渠道描述 | 渠道用途说明 | 否 | - |
### 配置示例
```
渠道名称:站内通知
渠道描述:用户站内消息通知
```
## 使用自托管消息
### 方式一:通过任务发送
1. 创建发送任务
2. 添加自托管消息渠道实例
3. 通过 V1 API 发送消息
**API 示例:**
```bash
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 示例:**
```bash
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 格式
纯文本格式,适用于简单通知。
**示例:**
```text
您的订单 20241206001 已发货。
快递公司:顺丰速运
快递单号:SF1234567890
预计送达:2024-12-08
如有问题请联系客服。
```
**展示效果:** 保持原始换行和格式
### HTML 格式
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 格式,支持格式化文本。
**示例:**
```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. 用户登录站点查看历史消息
4. 定期导出归档数据
**典型应用:**
- 所有发送消息的完整记录
- 消息审计和追溯
- 历史消息查询
- 数据分析和统计
**优势:**
- 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. **手动清理** - 删除操作不可恢复,请谨慎操作
:::
## 下一步
- 查看 [渠道配置](/guide/channels) 了解如何配置自托管消息渠道
- 查看 [消息模板](/guide/template) 了解如何创建模板
- 查看 [V2 API 文档](/api/v2) 了解如何发送消息