live-forum/.kiro/specs/admin-delete-post/requirements.md
2026-03-24 11:27:37 +08:00

4.7 KiB
Raw Blame History

需求文档

简介

管理员删除帖子功能允许认证等级为「管理员」的用户在小程序帖子详情页内删除任意帖子。管理员通过帖子详情页右上角已有的「……」菜单触发删除操作,经确认后执行软删除。删除后自动返回上级页面并提示「帖子已删除」,且不强制刷新列表。其他用户在帖子被删除后尝试进入详情页或回复时,均会收到「帖子已删除」的提示。

术语表

  • System: 团播机构系统LiveForum包含小程序端和后台管理端
  • Admin: 认证等级为「管理员」的用户,通过 certifiedType 标识
  • User: 小程序端的普通用户(非管理员)
  • Post: 帖子,用户发布的内容,存储在 T_Posts 表中
  • Post_Detail_Page: 帖子详情页post-details-page展示帖子内容和评论列表的页面
  • More_Menu: 帖子详情页右上角「……」按钮弹出的 action sheet 操作菜单(已在 post-reply-permission 中实现)
  • Delete_Confirm_Dialog: 删除确认弹窗,居中 dialog 样式,包含「删除」和「取消」按钮
  • Soft_Delete: 软删除,将帖子标记为已删除状态而非物理删除

需求

需求 1管理员在帖子详情页触发删除

用户故事: 作为 Admin我希望在任意帖子详情页通过「……」菜单删除帖子以便管理社区内容。

验收标准

  1. WHILE User 的认证等级为 Admin, THE Post_Detail_Page SHALL 在非自己帖子的右上角区域显示「……」按钮
  2. WHEN Admin 点击「……」按钮, THE System SHALL 从底部弹出 More_Menu其中包含「删除帖子」选项
  3. WHILE User 的认证等级不是 Admin 且 User 不是帖子作者, THE More_Menu SHALL 不显示「删除帖子」选项
  4. WHEN Admin 查看自己的帖子时, THE More_Menu SHALL 同时包含已有的菜单项(帖子内回复设置、举报)和「删除帖子」选项

需求 2删除确认流程

用户故事: 作为 Admin我希望在删除帖子前看到确认弹窗以防止误操作。

验收标准

  1. WHEN Admin 在 More_Menu 中点击「删除帖子」, THE System SHALL 关闭 More_Menu 并弹出 Delete_Confirm_Dialog
  2. THE Delete_Confirm_Dialog SHALL 显示确认提示文案和「删除」、「取消」两个按钮
  3. WHEN Admin 点击「取消」按钮, THE System SHALL 关闭 Delete_Confirm_Dialog 且不执行删除操作
  4. WHEN Admin 点击「删除」按钮, THE System SHALL 调用删除帖子接口执行 Soft_Delete

需求 3删除成功后的页面行为

用户故事: 作为 Admin我希望删除帖子后自动返回上级页面并看到操作结果提示以便确认操作完成。

验收标准

  1. WHEN 帖子删除成功, THE System SHALL 自动返回上级页面
  2. WHEN 帖子删除成功, THE System SHALL 弹出系统提示「帖子已删除」
  3. WHEN 帖子删除成功并返回上级页面后, THE System SHALL 不强制刷新帖子列表

需求 4已删除帖子的访问拦截

用户故事: 作为 User我希望在点击已删除的帖子时收到明确提示以便了解帖子状态。

验收标准

  1. WHEN User 点击已被删除的帖子尝试进入 Post_Detail_Page, THE System SHALL 阻止进入详情页并弹出系统提示「帖子已删除」
  2. WHEN User 收到「帖子已删除」提示后, THE System SHALL 不强制刷新帖子列表

需求 5已删除帖子的回复拦截

用户故事: 作为 User我希望在已删除帖子内回复时收到明确提示以免浪费操作。

验收标准

  1. WHEN User 在已被删除的帖子内提交回复, THE System SHALL 自动返回上级页面并弹出系统提示「帖子已删除」
  2. WHEN User 因帖子已删除被返回上级页面后, THE System SHALL 不强制刷新帖子列表

需求 6管理员删除的后端权限与接口

用户故事: 作为 System我需要在后端支持管理员删除任意帖子的权限校验以确保只有管理员能执行此操作。

验收标准

  1. THE System SHALL 扩展现有的 DeletePosts 接口,支持管理员删除非自己的帖子
  2. WHEN DeletePosts 接口收到请求, THE System SHALL 检查请求用户是否为帖子作者或 Admin
  3. IF 请求用户既不是帖子作者也不是 Admin, THEN THE System SHALL 返回权限不足的错误信息
  4. WHEN Admin 删除帖子成功, THE System SHALL 以 Soft_Delete 方式标记帖子为已删除状态
  5. WHEN GetPostDetail 接口收到已删除帖子的请求, THE System SHALL 返回帖子已删除的状态标识
  6. WHEN PublishPostComments 接口收到针对已删除帖子的评论请求, THE System SHALL 拒绝请求并返回「帖子已删除」的错误信息