From 24b8b930c8faff78473acf3193b877fb1a02ce71 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Mon, 15 Dec 2025 14:01:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=B8=96=E5=AD=90=E7=9A=84=20mock=20handler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 支持 DELETE /api/posts/:postId 请求 - 从内存存储中正确删除评论 - 修复 mock 模式下删除评论失败的问题 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/mocks/handlers/event.js | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/mocks/handlers/event.js b/src/mocks/handlers/event.js index 95c23f6d..6b2b4fee 100644 --- a/src/mocks/handlers/event.js +++ b/src/mocks/handlers/event.js @@ -1541,4 +1541,45 @@ export const eventHandlers = [ ); } }), + + // 删除帖子/评论 + http.delete('/api/posts/:postId', async ({ params }) => { + await delay(300); + const { postId } = params; + + console.log('[Mock] 删除帖子, postId:', postId); + + try { + // 从内存存储中删除评论 + let deleted = false; + for (const [eventId, comments] of eventCommentsStore.entries()) { + const index = comments.findIndex(c => String(c.id) === String(postId)); + if (index !== -1) { + comments.splice(index, 1); + deleted = true; + console.log('[Mock] 评论已从事件', eventId, '中删除'); + break; + } + } + + if (!deleted) { + console.log('[Mock] 未找到评论,但仍返回成功(可能是乐观更新的评论)'); + } + + return HttpResponse.json({ + success: true, + message: '删除成功', + }); + } catch (error) { + console.error('[Mock] 删除帖子失败:', error); + return HttpResponse.json( + { + success: false, + error: '删除失败', + message: '系统错误,请稍后重试', + }, + { status: 500 } + ); + } + }), ];