Files
luo da95a914e3
All checks were successful
构建并部署前端到生产环境 / build-and-deploy (push) Successful in 2m59s
fix: some
2026-10-13 14:53:19 +08:00

2.0 KiB
Raw Blame History

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 来结束展示链路