输入关键词搜索已发布文档。
mywebdrive
管理通知
查询筛选、已读状态、通知创建与实时事件的可靠性边界。
通知在哪里
管理员打开实例 /admin/notifications。通知是 Core 管理记录,不等于邮箱消息或用户聊天。业务分析、系统健康与通知是不同来源,单条通知不能证明某个指标或故障已经恢复。
查询接口 GET /api/v1/admin/notifications 支持 page、pageSize、service、severity、q、unreadOnly、from 和 to。默认每页 20 条,最大 200 条;severity 为 critical、warning、info 或 success。筛选无结果时先清除条件并检查时间范围。
标记已读
POST /api/v1/admin/notifications/mark-read 的请求体含 ids 数组,使用查询返回的记录 UUID。接口会更新符合条件的记录;再次读取列表确认结果。
当前记录上的已读状态是共享的管理通知状态,并没有每位管理员独立的收件箱读标记。另一位管理员可能看到你的操作效果。已读不等于问题已解决,也不会撤销事件或删除日志。
创建通知
POST /api/v1/admin/notifications 需要管理员身份,包含 title、description、severity、service,可附 meta。标题最多 200 字符,说明最多 2000 字符,服务名最多 100 字符;severity 必须为支持的枚举值。
只填实际已知事实。不要把 access token、数据库连接串、验证码或用户原始资料放入说明或 meta;通知可能被其他管理员检索和实时接收。创建成功为 201,参数错误为 400。
实时通知不是持久消息队列
GET /api/v1/admin/notifications/stream 提供 SSE,认证仍使用 Bearer access token;服务约每 25 秒发送心跳。流只帮助实时显示新通知,不提供基于 Last-Event-ID 的可靠历史重放承诺。
这个源码版本把流连接保存在单个 Core 进程内。断线、进程重启或请求落到其他实例时,不能假定所有事件都已收到。重连后重新查询列表,合并记录并避免重复展示,列表结果才是补齐当前记录的依据。不要把 token 放到查询参数来迁就 EventSource。
排错顺序
列表与实时流都失败时先检查身份和管理权限;列表正常但流中断时检查代理是否支持流式连接和超时。心跳不含新通知并不表示系统没有通知。未读计数、筛选和分页也会影响看到的条数。