diff --git a/changelogs/2026-05/06_frontend_notice_review_report_queue_action_buttons.md b/changelogs/2026-05/06_frontend_notice_review_report_queue_action_buttons.md new file mode 100644 index 0000000..c5a6424 --- /dev/null +++ b/changelogs/2026-05/06_frontend_notice_review_report_queue_action_buttons.md @@ -0,0 +1,69 @@ +# 前端补丁: 评价举报队列「操作」菜单加「禁止展示」按钮 + +@mmg —— + +字段你都修对了 👍 (评价内容/作者/关联产品/举报数/举报状态"正常"/举报原因统计"广告/营销 1"/创建时间 全部到位)。 + +**只剩一处要改:操作菜单。** + +--- + +## 问题 + +当前操作菜单只有「忽略举报」「警告作者」,**缺「禁止展示」**。 + +用户原话: "起码得有个禁止展示吧"。 + +--- + +## 修正后的操作按钮规则 + +**只看一个字段判断: `reportStatus`** + +| `reportStatus` | 中文显示 | 操作菜单显示这些按钮 | +|---|---|---| +| `NORMAL` | 正常 | **禁止展示**(主) / 警告作者 / 忽略举报 | +| `PENDING_REVIEW` | 待复审 | **禁止展示**(主) / 警告作者 / 忽略举报 | +| `HIDDEN` | 已隐藏 | **恢复展示**(主) | + +> 简单说: **没隐藏就能"禁止展示", 已隐藏就能"恢复展示"**。 +> 不要按状态决定要不要显示"禁止展示"按钮——管理员看到举报队列就该能立刻禁止。 + +--- + +## 接口对应 + +| 按钮文案 | 接口调用 | +|---|---| +| **禁止展示** | `POST /admin/review/report-queue/${reviewId}/hide` body `{ reason: '违规广告' }`(弹框让 admin 输 reason 必填) | +| **恢复展示** | `POST /admin/review/report-queue/${reviewId}/restore` | +| 警告作者 | `POST /admin/review/report-queue/${reviewId}/warn-author` | +| 忽略举报 | 循环行内 `reporters[]` 调 `POST /admin/review/report-queue/report/${reportId}/ignore` | + +操作完都刷新当前页列表。 + +--- + +## 验收 + +- [ ] 截图那条 `reviewId=2048001001001001005` 状态"正常"的数据,操作菜单点开有 **禁止展示 / 警告作者 / 忽略举报** 3 项 +- [ ] 点"禁止展示"弹输入框输 reason → 提交 → 列表刷新 → 该行状态变"已隐藏" +- [ ] 已隐藏的行,操作菜单只有 **恢复展示** 1 项 +- [ ] 点"恢复展示" → 列表刷新 → 该行状态回"正常" + +--- + +## 不用动的 + +- 字段映射(已对) ✓ +- 表头(已对) ✓ +- 状态翻译"正常/待复审/已隐藏" ✓ +- 列表排序、分页 ✓ + +只改操作菜单条目和点击逻辑。 + +--- + +## 顺带说明 + +我之前 v3 changelog 写的状态机太严了(NORMAL 不显示禁止展示, 只 PENDING_REVIEW 显示),现在统一改成"只要不是 HIDDEN 就能禁止展示"。以这版为准。