通知公告
一句话:面向全租户用户的公告板:发一条通知/公告,用户在站内信入口可见;还可用「推送」把它实时顶到当前在线用户面前。与站内信模板的区别:模板是「给代码用的文案」,公告是「给人看的内容」。
功能在哪
- 菜单路径:系统管理 → 消息中心 → 通知公告
- 地址栏路由:
/system/messages/notice - 主要权限:
system:notice:query/create/update/delete(「推送」复用system:notice:update)

界面认识
| 区域 | 作用 | 常用操作 |
|---|---|---|
| 查询区 | 公告标题 / 公告状态 | 「搜索」「重置」 |
| 工具条 | 整页级动作 | 「新增」;勾选后「批量删除」 |
| 列表 | 序号 / 公告编号 / 公告标题 / 公告类型 / 状态 / 创建时间 | 行内「编辑」「删除」「推送」 |
| 状态列 | 开关即时启停公告 | 需要 system:notice:update |
常用操作
发一条公告
- 点「新增」;
- 填「公告标题」;
- 在富文本编辑器里写「公告内容」(支持标题/加粗/列表/插图/表格等,见下图工具条);
- 选「公告类型」:通知(需要用户知晓的事项)/ 公告(正式发文);
- 「状态」选开启,可填备注,点「确定」。
结果:列表多一行;用户在站内信入口的公告列表里能看到它(状态为开启的)。

推送:顶到在线用户面前
行内点「推送」,确认「是否推送所选中通知?」后提示「推送成功」。
推送 ≠ 重发,只覆盖「此刻在线」的人
推送通过 WebSocket 把这条公告广播给当前连着系统的管理端用户,前端收到后弹提示;没在线的人不会收到推送,但他们之后进系统仍能在公告列表里看到这条(只要状态开启)。想让所有人「一定看到」,靠的是状态开启 + 用户自己进来看,推送只是即时提醒。
编辑 / 删除 / 启停
- 行内「编辑」改标题、内容、类型、状态;
- 「状态」开关关闭后,公告从用户侧列表消失(数据还在);
- 行内「删除」或勾选后「批量删除」。删除是不可恢复的,已读用户也再看不到。
支持带编号直达
地址栏带 ?id=编号 打开本页会直接定位到该公告的编辑表单,便于从别处(如工单、聊天记录)跳转处理。
字段说明
| 字段 | 必填 | 取值 / 校验 | 说明 |
|---|---|---|---|
| 公告标题 | 是 | 「公告标题不能为空」 | 列表与用户侧显示名 |
| 公告内容 | 是 | 「公告内容不能为空」;富文本 | 支持图文混排 |
| 公告类型 | 是 | 「公告类型不能为空」;通知 / 公告 | 归类标签 |
| 状态 | 是 | 「状态不能为空」;开启 / 关闭 | 关闭 = 用户侧不可见 |
| 备注 | 否 | 文本 | 内部备注,用户不可见 |
视角对照
| 视角 | 看到什么 |
|---|---|
超管 admin / 租户管理员 docadmin | 本租户全部公告,可增删改与推送 |
| 普通用户 | 无此菜单;在站内信入口看开启状态的公告 |
| 套餐受限租户 | 公告数据按租户隔离,各发各的 |
进阶
常见问题
Q:推送成功了,为什么有人没弹提示? A:推送只发给推送那一刻在线的用户。离线用户下次进系统在公告列表里仍能看到(状态开启的前提下)。
Q:公告发了但用户说看不到? A:先查「状态」是否为开启;再确认用户租户与公告租户一致(数据按租户隔离)。
Q:通知和公告两种类型有什么实质区别? A:目前只是分类标签,用于列表归类与用户侧筛选;不影响可见范围与推送行为。按公司行文习惯选即可。
Q:能在公告里插图片吗? A:能。富文本编辑器支持插图,图片走系统附件存储;注意图片过大时用户侧加载慢。
Q:误删了公告能恢复吗? A:不能。删除为物理删除且无回收站,重要公告建议先「关闭」而非删除。
