Skip to content

系统公告与横幅(Announcements) ​

系统公告是平台面向全站做题人发布赛事通知、停机维护预告、重要版本迭代与考务规则说明的官方信道。正文全面支持 Markdown 排版语法,并提供全局导航栏紧急横幅机制与 SSE 实时广播。


呈现渠道与展示策略 ​

系统针对不同重要程度的公告内容,提供了分层的触达渠道:

呈现形态触发与排位规则视觉交互特征
全站导航栏横幅(Banner)筛选同时满足 is_active=true 且配置了非空 banner_text 的公告。
排序优先级:is_pinned DESC, created_at DESC 取第一条
位于整站顶栏最上方,显眼提示紧急通知或正在进行的全国大赛,用户可点击右上角随时临时收起关闭
首页公告区块展示所有激活(is_active=true)的公告条目,置顶公告加注高亮徽标位于首页显要位置,便于做题者进入站点后第一时间获悉最新动态
公告专页(/announcements)全量已发布公告归档,按时间倒序排版完整阅读 Markdown 长篇说明、比赛细则与附件链接

首页轮播海报与公告解耦

首页顶部的大图轮播由独立的**海报轮播组件(carousel_slides)**驱动,支持外链跳转与图片定制,与纯文本/Markdown 公告系统在数据表和管理后台完全解耦,互不干扰。


SSE 实时推送与即时更新 ​

为确保在进行全站紧急维护或重大考务变更时,正在答卷的选手无须频繁手动刷新浏览器:

  • 登录选手客户端与服务端建立标准的 Server-Sent Events(SSE)通道;
  • 管理员一旦在后台发布、修改或置顶公告,系统即刻向所有在线客户端广播变更通知,前端平滑提示"有新的系统公告发布,点击查看"。

管理员发布流程与权限规范 ​

具备管理权限的运维人员可在后台「公告管理」专区执行以下操作:

1. 字段规范与录入指南 ​

  • 公告标题(title):长度限制在 1 至 100 字符 之间,简明扼要;
  • Markdown 正文(content):长度上限支持达 50,000 字符,支持嵌入表格、代码块与数学公式;
  • 顶部横幅摘要(banner_text):选填。若填写则激活顶栏横幅广播(建议控制在 30 字符以内的醒目警示语);若留空则本公告不占领顶栏;
  • 置顶控制(is_pinned):布尔值开关。置顶公告在所有列表中强行优先展示;
  • 生效开关(is_active):一键切换上架发布与下架封存状态。

2. 安全权限控制 ​

执行公告管理操作严格受系统 RBAC 权限控制,必须显式拥有 announcement:manage 权限(持有 admin:full_access 超级管理员权限的用户自动通配放行)。

Neuro OJ 是一个独立社区项目,与 CCF、LMCC、IOAI 及 NOAI 无官方关系。