Files
one-pipe-system/openspec/changes/update-admin-notification-center-api/tasks.md
luo 9289a6e940
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m5s
feat: 完善接口19-顶部通知铃铛与站内通知中心
2026-07-25 10:20:53 +08:00

2.2 KiB
Raw Blame History

1. Contract And Types

  • 1.1 按实际接口更新通知项、列表响应、未读数、未读汇总和受控目标类型。
  • 1.2 将通知列表筛选参数从 read_status 改为 is_read?: boolean
  • 1.3 更新通知 service未读数、未读汇总、列表、单条已读、全部已读和目标接口的请求/响应类型。

2. Shared Notification State

  • 2.1 使用 data.countdata.display_count 同步未读数量及顶部徽标。
  • 2.2 使用 { approval, expiry, sync, system, total } 保存分类汇总并通过通知列表接口加载抽屉最近10条。
  • 2.3 单条已读和全部已读成功后刷新真实未读数、汇总和相关通知状态,避免仅修改本地计数。

3. Header And Notification Center

  • 3.1 顶部铃铛展示后端 display_count支持0、普通数量和 99+
  • 3.2 抽屉展示最近10条真实通知支持全部、审批、临期、同步/系统分类和进入通知中心。
  • 3.3 通知中心使用 bodyis_readread_at 展示正文、状态和已读时间。
  • 3.4 通知中心筛选使用 categorytypeseverityis_readpagepage_size
  • 3.5 严重级别支持 infowarningerrorcritical,未知值稳定展示。
  • 3.6 全部已读和单条已读严格按实际 PUT 接口调用。

4. Controlled Navigation And Scope

  • 4.1 根据 target_typetarget_keytarget_id实现前端内部目标白名单映射。
  • 4.2 未知、无权限或不可用目标只展示通知正文,不执行任意 URL 或未注册路由跳转。
  • 4.3 保留管理端通知中心路由和顶部入口,不新增 C 端通知接口、页面或逻辑。

5. Verification

  • 5.1 验证真实通知字段 bodyis_readread_atref_key 正确展示和保存。
  • 5.2 验证未读徽标、分类汇总、抽屉列表和通知中心状态一致。
  • 5.3 验证 is_read=true/false 筛选及全部已读 category 请求体。
  • 5.4 验证受控目标白名单和未知目标安全降级。
  • 5.5 运行类型检查、lint、相关测试、构建和 openspec validate update-admin-notification-center-api --strict