公告与通知
站点通知和公告分别处理两种需求:通知是所有人都能看到的一条横条,公告供登录用户阅读并记录已读状态。
首页通知
首页通知是最顶上的一条细横条,在登录页、注册页、访客首页和聊天页都显示,所以还没登录的人也能看到。不要在里面写不能公开的内容:它随站点信息一起对所有访客公开。
在系统设置的「主页公告」里填写:
| 设置 | 含义 |
|---|---|
home.notice | 横条上的一行字,最多 300 个字符;留空表示没有通知 |
home.notice_body | 点开后的正文,支持 Markdown,最多 4000 个字符;留空则横条只有那一行字,点不开,这一行会完整显示 |
home.notice_tone | info(普通)或 warning(警告,用界面自己的危险色),停机维护这类一定不能错过的事用警告 |
home.notice_dismissible | 是否允许关闭 |
有正文时,整条横条就是一个按钮,点一下在页面上方弹出正文,正文按 Markdown 渲染,不会当作网页标记执行。
允许关闭时,浏览器会记住关掉的是哪一份内容;管理员修改了那一行字或正文,已经关闭过的人会再次看到。不允许关闭时横条一直显示,建议只在必须让所有人看到的时候用。
关闭状态保存在当前浏览器,不是账号级已读记录。那一行字留空后不再显示。
发布公告
在后台公告页面填写标题、正文、启用状态和展示方式。正文支持 Markdown。公告没有开始和结束时间:发布后立即生效,直到取消发布或删除为止。需要定时上线或下线的公告,目前要由管理员在对应时间手动操作。
| 展示方式 | 行为 |
|---|---|
silent | 在公告列表中阅读,不主动弹出 |
once | 未读时提醒,读过后不再主动弹出 |
always | 后续访问仍可提醒;当前访问避免重复弹出 |
公告列表和已读接口要求登录。首页通知与登录后的公告不是同一个功能。
已读与有效期
已读状态按用户保存到数据库,换设备登录后仍然有效。哪些公告会返回给用户由服务端决定:只有处于发布状态的公告才会返回,访客浏览器不参与这个判断。
“始终提醒”可以在已读后再次出现,因此已读并不意味着所有展示方式都停止提醒。
公告没有显示
检查公告是否处于发布状态、当前用户是否登录,以及展示模式和已读状态。测试 once 模式时,使用尚未读过这条公告的账号。