2.2 KiB
2.2 KiB
1. Contract And Types
- 1.1 按实际接口更新通知项、列表响应、未读数、未读汇总和受控目标类型。
- 1.2 将通知列表筛选参数从
read_status改为is_read?: boolean。 - 1.3 更新通知 service:未读数、未读汇总、列表、单条已读、全部已读和目标接口的请求/响应类型。
2. Shared Notification State
- 2.1 使用
data.count和data.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 通知中心使用
body、is_read、read_at展示正文、状态和已读时间。 - 3.4 通知中心筛选使用
category、type、severity、is_read、page、page_size。 - 3.5 严重级别支持
info、warning、error、critical,未知值稳定展示。 - 3.6 全部已读和单条已读严格按实际 PUT 接口调用。
4. Controlled Navigation And Scope
- 4.1 根据
target_type、target_key和target_id实现前端内部目标白名单映射。 - 4.2 未知、无权限或不可用目标只展示通知正文,不执行任意 URL 或未注册路由跳转。
- 4.3 保留管理端通知中心路由和顶部入口,不新增 C 端通知接口、页面或逻辑。
5. Verification
- 5.1 验证真实通知字段
body、is_read、read_at、ref_key正确展示和保存。 - 5.2 验证未读徽标、分类汇总、抽屉列表和通知中心状态一致。
- 5.3 验证
is_read=true/false筛选及全部已读category请求体。 - 5.4 验证受控目标白名单和未知目标安全降级。
- 5.5 运行类型检查、lint、相关测试、构建和
openspec validate update-admin-notification-center-api --strict。