2.4 KiB
2.4 KiB
1. Contract And Types
- 1.1 按产品文档落地通知项、未读统计、未读摘要、分页列表和受控目标响应字段。
- 1.2 按产品文档落地分类、通知类型、严重级别、已读状态和
ref_type兼容类型。 - 1.3 新增通知中心菜单权限
notifications:view、单条已读权限notifications:read、全部已读权限notifications:read_all。 - 1.4 新增
notification.tsAPI service,覆盖未读数、摘要、列表、单条已读、全部已读和目标接口。 - 1.5 新增通知实体、筛选参数、分页响应和目标响应类型。
2. Global Header And Drawer
- 2.1 在顶部设置按钮与用户头像入口区域增加通知铃铛。
- 2.2 实现未读数量格式化为
0、1~99或99+。 - 2.3 顶部抽屉加载最近 10 条通知,并按全部、审批、临期、同步/系统分类展示。
- 2.4 替换
ArtNotification静态 mock 数据,接入真实摘要接口。 - 2.5 提供进入
/notifications通知中心的入口,并保证桌面端和移动端布局可用。
3. Notification Center
- 3.1 新增
/notifications路由和通知中心页面。 - 3.2 支持分类、通知类型、严重级别和已读状态筛选。
- 3.3 展示通知标题、正文、严重级别、分类、时间和已读状态。
- 3.4 实现全部已读,并在成功后同步未读数和列表状态。
- 3.5 处理空列表、加载失败、权限失败和未知枚举值的稳定展示。
4. Read And Controlled Navigation
- 4.1 点击通知时先调用
PUT /api/admin/notifications/{id}/read。 - 4.2 已读成功后调用
GET /api/admin/notifications/{id}/target获取受控目标。 - 4.3 仅允许跳转到后端返回且前端路由表认可的内部目标。
- 4.4 未知
ref_type、目标不存在或无权限时只展示正文,不执行任意 URL 跳转。 - 4.5 抽屉和通知中心的已读操作后刷新共享未读数。
5. Verification
- 5.1 验证余额、临期、审批和系统通知在抽屉及通知中心展示一致。
- 5.2 验证未读数在单条已读、全部已读、抽屉关闭和页面刷新后与接口结果一致。
- 5.3 验证通知点击不会跳转到任意外部或未注册 URL。
- 5.4 验证未知目标通知仍可查看正文且不会阻塞其他通知操作。
- 5.5 运行类型检查、lint、相关测试和构建。