[W-02][medium] 投递记录页缺少时间筛选、原因列、完整统计与接收端分页 #52

Closed
opened 2026-09-30 13:57:04 +08:00 by nixevol · 1 comment
Owner

编号:W-02 严重级:medium 工作线:后台网页(web/) 来源:审查 A-09
依赖:无 被依赖:无

结论与统一方案

采用审查 A-09 的方案:

  1. 加 n-date-picker type="datetimerange",转换成毫秒时间戳传 from_ms / to_ms。
  2. 详情加原因列(包括消息级原因)。
  3. 统计显示六项:待投递、已收下、已撤回、已过期、已丢弃、已拒绝。
  4. 详情里的接收端改为远程分页(或"加载更多",limit 200)。

后端接口已提供这些数据,是界面没有用上。

改动文件

web/src/views/MessagesView.vue、web/src/api/admin.ts。

与其他问题的交互 / 冲突说明

无。

验收与测试

  • 组件测试断言时间参数被传递、原因列存在、分页能翻页。
  • e2e 造一条被拒绝的投递并检查显示。

问题明细(各区审查原文,证据含文件与行号)

以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。解决方案以本 issue 上方的"结论与统一方案"为准;原文里的方案与之不一致时,按上方执行。

[A-09] 投递记录页缺少 PRD 要求的时间筛选、原因、完整统计和分页

  • 严重级:medium
  • 分类:与PRD不符
  • 现象与影响:
    • 没有时间范围筛选,listMessages 根本不传 from_ms、to_ms。
    • 详情表没有"原因"列。
    • 列表统计只显示待、收、撤、过,漏了"丢弃"和"拒绝",全部被拒的消息显示成 待0/收0/撤0/过0。
    • 详情不传分页参数,大群消息只能看到前 50 个接收端。
  • 证据:
    • MessagesView.vue:25-30 筛选项里没有时间。
    • admin.ts:329-349 不传时间参数。
    • MessagesView.vue:105-119 没有 reason 列;76-84 统计拼接缺两项;121-124 的 getMessage(seq) 不带分页。
    • 后端 messages.go:108-113,171-174 默认每页 50,并返回 next_cursor。
  • 文档依据:PRD F17(约 366 行)"按发送方、接收方、群、状态、时间筛选……点开可看每个接收端的结果、原因、推送次数、时间";admin-api 8.1、8.2(约 648 行"deliveries 可分页")。
  • 为何不是故意设计:接口已经提供这些数据,是界面没有用上。
  • 解决方案:
    1. 加 n-date-picker type="datetimerange",转换成毫秒时间戳传给接口。
    2. 详情加原因列(包括消息级原因);统计显示六项,或点开看全部。
    3. 详情里的接收端改为远程分页(或"加载更多",limit 200)。
  • 改动文件:MessagesView.vue、admin.ts。
  • 交互/冲突风险:无。
  • 需补测试:组件测试断言时间参数被传递、原因列存在、分页能翻页;e2e 造一条被拒的投递并检查显示。
  • 置信度:代码阅读确定

复审基线:main 4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。

**编号**:W-02 **严重级**:medium **工作线**:后台网页(web/) **来源**:审查 A-09 **依赖**:无 **被依赖**:无 ### 结论与统一方案 采用审查 A-09 的方案: 1. 加 `n-date-picker type="datetimerange"`,转换成毫秒时间戳传 `from_ms` / `to_ms`。 2. 详情加原因列(包括消息级原因)。 3. 统计显示六项:待投递、已收下、已撤回、已过期、已丢弃、已拒绝。 4. 详情里的接收端改为远程分页(或"加载更多",limit 200)。 后端接口已提供这些数据,是界面没有用上。 ### 改动文件 `web/src/views/MessagesView.vue`、`web/src/api/admin.ts`。 ### 与其他问题的交互 / 冲突说明 无。 ### 验收与测试 - 组件测试断言时间参数被传递、原因列存在、分页能翻页。 - e2e 造一条被拒绝的投递并检查显示。 --- ### 问题明细(各区审查原文,证据含文件与行号) > 以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。**解决方案以本 issue 上方的"结论与统一方案"为准**;原文里的方案与之不一致时,按上方执行。 #### [A-09] 投递记录页缺少 PRD 要求的时间筛选、原因、完整统计和分页 - 严重级:medium - 分类:与PRD不符 - 现象与影响: - 没有时间范围筛选,`listMessages` 根本不传 `from_ms`、`to_ms`。 - 详情表没有"原因"列。 - 列表统计只显示待、收、撤、过,漏了"丢弃"和"拒绝",全部被拒的消息显示成 `待0/收0/撤0/过0`。 - 详情不传分页参数,大群消息只能看到前 50 个接收端。 - 证据: - `MessagesView.vue:25-30` 筛选项里没有时间。 - `admin.ts:329-349` 不传时间参数。 - `MessagesView.vue:105-119` 没有 reason 列;`76-84` 统计拼接缺两项;`121-124` 的 `getMessage(seq)` 不带分页。 - 后端 `messages.go:108-113,171-174` 默认每页 50,并返回 `next_cursor`。 - 文档依据:PRD F17(约 366 行)"按发送方、接收方、群、状态、时间筛选……点开可看每个接收端的结果、原因、推送次数、时间";admin-api 8.1、8.2(约 648 行"deliveries 可分页")。 - 为何不是故意设计:接口已经提供这些数据,是界面没有用上。 - 解决方案: 1. 加 `n-date-picker type="datetimerange"`,转换成毫秒时间戳传给接口。 2. 详情加原因列(包括消息级原因);统计显示六项,或点开看全部。 3. 详情里的接收端改为远程分页(或"加载更多",limit 200)。 - 改动文件:`MessagesView.vue`、`admin.ts`。 - 交互/冲突风险:无。 - 需补测试:组件测试断言时间参数被传递、原因列存在、分页能翻页;e2e 造一条被拒的投递并检查显示。 - 置信度:代码阅读确定 --- <sub>复审基线:main `4059a15`(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。</sub>
nixevol added the P2-mediumlane/webreview-2026-09-30 labels 2026-09-30 13:57:04 +08:00
Author
Owner

已合入 origin/main 0c9b459。落地提交 05ecb43 fix: 补齐投递记录时间筛选统计与分页 (#52)。

已合入 origin/main `0c9b459`。落地提交 `05ecb43` fix: 补齐投递记录时间筛选统计与分页 (#52)。
Sign in to join this conversation.