Notice API 是 ZerOS 后端服务提供的系统公告获取接口,供 server-notice 前端服务定期调用。API 返回当前激活的最新公告,系统根据公告等级决定是否向用户展示通知。
| 项目 | 说明 |
|------|------|
| 路径 | /api/notice |
| 方法 | GET |
| 认证 | 无需认证(已加入 Spring Security 白名单) |
| CORS | 支持跨域(@CrossOrigin(origins = "*")) |
| 响应格式 | JSON |
无请求参数。
{
"code": 200,
"msg": "success",
"data": {
"level": 2,
"title": "Test",
"content": "ZerOS 系统公告内容",
"subTime": "2026-02-16T18:34:21.405386"
}
}
| 字段 | 类型 | 说明 |
|------|------|------|
| code | int | 状态码,200 表示成功 |
| msg | string | 状态信息 |
| data | object | 公告数据,无激活公告时为 null |
| data.level | int | 公告等级:0=仅日志,1=通知 8 秒,2=通知不自动关闭 |
| data.title | string | 公告标题 |
| data.content | string | 公告内容 |
| data.subTime | string | 公告发布时间(ISO 8601 格式),用于去重 |
| 状态码 | 说明 | |--------|------| | 200 | 成功返回 | | 500 | 服务器内部错误 |
curl -X GET http://localhost:8088/api/notice
fetch('http://localhost:8088/api/notice')
.then(res => res.json())
.then(data => {
if (data.data) {
console.log('最新公告:', data.data.title);
console.log('等级:', data.data.level);
console.log('发布时间:', data.data.subTime);
}
});
{
"code": 200,
"msg": "success",
"data": {
"level": 2,
"title": "系统维护通知",
"content": "ZerOS 将于今晚 22:00-24:00 进行系统维护,届时部分功能可能不可用。",
"subTime": "2026-02-16T18:34:21.405386"
}
}
server-notice.js 服务会每 3 分钟自动调用此接口获取公告:
ANNOUNCE_API_URL 中data 字段subTime 进行去重,已接收过的公告不会重复弹通知