站内信通知
1. 功能概述
1.1 什么是站内信
站内信是 SmartTable 内置的消息通知机制。系统产生的各类通知(注册欢迎、密码变更、协作分享、审批流转、工作流执行结果等)会直接推送到用户在系统内的消息列表,用户登录后即可在界面上查看,无需依赖外部邮箱。
1.2 解决的问题
在站内信上线之前,系统通知完全依赖邮件发送,这在实际使用中存在明显短板:
| 问题 | 说明 |
|---|---|
| 依赖 SMTP 配置 | 未配置邮件服务的部署环境完全收不到通知 |
| 内网环境受限 | 私有化、离线部署场景下往往无法连通外部邮件服务器 |
| 投递不可靠 | 邮件可能被判为垃圾邮件或被网关拦截 |
| 查看不便 | 需要切换到邮箱客户端,与系统操作割裂 |
站内信采用站内优先策略:通知首先写入站内消息,用户始终能在系统内看到;若同时配置了邮件服务,则额外发送一份邮件作为补充。即使邮件发送失败,也不影响站内信的正常查看。
1.3 通知来源分类
每条站内信都带有来源标识,界面上以彩色标签区分:
| 来源标识 | 界面标签 | 典型通知内容 |
|---|---|---|
system | 系统 | 系统级公告与提示 |
auth | 认证 | 注册欢迎、密码修改、账号安全相关 |
admin | 管理 | 管理员操作相关通知 |
workflow | 工作流 | 工作流执行结果通知 |
approval | 审批 | 审批发起、流转、结果通知 |
2. 查看通知
2.1 通知铃铛
登录后,页面顶部导航栏右侧会显示铃铛图标:
- 存在未读通知时,铃铛右上角出现红色角标显示未读数量。
- 未读数超过 99 时显示为
99+。 - 没有未读通知时不显示角标。
点击铃铛会展开通知面板,包含三部分:
- 面板头部:标题「通知」与「全部已读」按钮。
- 通知列表:展示最近的若干条通知,未读项以浅色背景高亮,标题前带蓝色圆点,标题加粗。每条通知显示标题、来源标签、内容摘要(最多两行)和相对时间(如「5 分钟前」)。
- 面板底部:「查看全部通知」入口。
无通知时面板显示「暂无通知」。

2.2 通知列表页
点击面板底部的「查看全部通知」,或直接访问 /notifications 路径,可进入完整的通知列表页。列表页支持分页浏览全部历史通知,并可按已读状态、来源等条件筛选查找。

3. 通知管理
3.1 标记单条已读
在通知面板中点击任意一条未读通知,系统会自动将其标记为已读,未读角标数量相应减少,同时跳转到通知列表页查看完整内容。
3.2 全部标记已读
点击通知面板头部的「全部已读」按钮,可一次性将当前用户的所有未读通知标记为已读,操作成功后提示「已标记全部通知为已读」。
当未读数量为 0 时,该按钮为不可点击状态。
3.3 删除通知
在通知列表页可以删除不再需要的通知记录。删除操作不可恢复,请谨慎操作。
3.4 数据隔离
站内信严格按用户隔离,每个用户只能查看、标记和删除发送给自己的通知,无法访问他人的消息内容。
4. 触发场景
以下操作会自动产生站内信通知:
| 场景 | 通知接收方 | 来源分类 |
|---|---|---|
| 新用户注册 | 注册用户本人 | 认证 |
| 修改密码 | 账号所有者 | 认证 |
| 分享协作邀请 | 被邀请的协作者 | 系统 |
| 审批发起 | 审批处理人 | 审批 |
| 审批流转与结果 | 审批发起人、相关处理人 | 审批 |
| 工作流执行通知 | 工作流配置的接收人 | 工作流 |
其中「工作流执行通知」由工作流自动化中的站内信通知节点产生。该节点支持指定成员、成员字段、流程触发人、记录创建人、空间全部成员五种接收人来源,且仅发送站内信、不走邮件通道,详见站内信通知节点。
5. 管理员功能
系统管理员在后台管理区可以查看站内信的运行情况:
| 功能 | 入口路径 | 说明 |
|---|---|---|
| 站内信日志 | /admin/notifications/logs | 查看全站通知的发送记录、发送状态与失败原因 |
| 站内信统计 | /admin/notifications/stats | 查看通知发送量、送达情况等统计数据 |
通知的发送状态包含四种:
| 状态 | 界面文案 | 含义 |
|---|---|---|
pending | 待发送 | 已创建,尚未完成发送处理 |
sent | 已发送 | 发送成功 |
failed | 失败 | 发送失败,可查看错误信息 |
retrying | 重试中 | 发送失败后正在重试 |
上述管理入口需要管理员角色才能访问。
6. 常见问题
Q1:没有配置邮件服务,能收到通知吗?
可以。站内信不依赖邮件服务,未配置 SMTP 的环境同样能正常接收和查看所有站内通知。
Q2:为什么铃铛上的未读数没有及时更新?
未读数在页面加载时获取。若长时间停留在同一页面,可刷新页面获取最新的未读数量。
Q3:通知能保留多久?
站内信会持久保存在系统中,除非用户主动删除,否则可以随时在通知列表页翻阅历史记录。
Q4:能否关闭某类通知?
当前版本暂不支持按类型订阅或关闭通知,所有触发场景的通知都会正常送达。
Q5:站内信和邮件会重复收到吗?
如果系统配置了邮件服务,同一事件会同时产生一条站内信和一封邮件。站内信是主渠道,邮件作为补充提醒。
