2.0 KiB
2.0 KiB
ADDED Requirements
Requirement: Notification queries SHALL preserve backend current-asset expiry scope
H5 SHALL 保持 GET /api/c/v1/notifications 与 GET /api/c/v1/notifications/unread-count 的现有入参,使用后端返回的当前资产临期通知及未读计数。H5 SHALL NOT 扩大范围查询所有资产、为这些接口新增未声明参数,或将普通通知一并误过滤为仅当前资产。
Scenario: Customer views asset A
- WHEN 客户在资产 A 的认证上下文读取列表和未读数
- THEN H5 SHALL 展示后端结果,其中临期提醒按 A 过滤
- AND SHALL NOT 混入资产 B 的旧列表或计数
Scenario: Current asset changes
- WHEN 当前认证资产由 A 切换为 B
- THEN H5 SHALL 刷新列表和未读数,防止 A 的延迟响应覆盖 B
Requirement: Mark-all-read SHALL use POST and preserve other assets' expiry notifications
H5 SHALL 在用户主动点击通知中心“全部已读”时调用 POST /api/c/v1/notifications/read-all,SHALL NOT 使用或自动回退旧 PUT。其他资产的临期通知 SHALL 由后端保留未读;客户端成功后 SHALL 按服务端刷新结果更新当前视图,失败 SHALL 保留未读状态。单条已读 SHALL 继续使用 PUT /api/c/v1/notifications/{id}/read。
Scenario: User marks all notifications read on asset A
- WHEN 客户在 A 上主动执行全部已读
- THEN H5 SHALL 发送 POST 并对齐当前视图
- AND 资产 B 的临期通知 SHALL 保持未读
Scenario: Mark-all-read fails
- WHEN POST 全部已读请求失败
- THEN H5 SHALL 不提前清空未读计数或把本地项全部标成已读,也不改用 PUT 重试
Scenario: User reads one notification
- WHEN 用户执行单条已读操作
- THEN H5 SHALL 继续发送对应通知的 PUT 请求,不受 read-all 方法切换影响
Scenario: Reminder or popup is displayed
- WHEN 临期横幅、运营候选或风险换货弹窗展示或关闭
- THEN H5 SHALL 不自动调用 read-all 来结束展示链路