feat: 支持用户删除自己的评论

- CommentItem: 添加删除按钮(仅显示在自己的评论上)
- CommentItem: 添加删除确认对话框,防止误删
- CommentList: 传递 currentUserId 和 onDelete 到 CommentItem
- EventCommentSection: 添加 handleDeleteComment 处理函数
- mock handler: 使用真实登录用户信息创建评论

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-15 13:56:02 +08:00
parent e493ae5ad1
commit a89489ba46
4 changed files with 197 additions and 46 deletions

View File

@@ -5,6 +5,7 @@ import { http, HttpResponse } from 'msw';
import { getEventRelatedStocks, generateMockEvents, generateHotEvents, generatePopularKeywords, generateDynamicNewsEvents } from '../data/events';
import { getMockFutureEvents, getMockEventCountsForMonth, toggleEventFollowStatus, isEventFollowed } from '../data/account';
import { generatePopularConcepts } from './concept';
import { getCurrentUser } from '../data/users';
// 模拟网络延迟
const delay = (ms = 300) => new Promise(resolve => setTimeout(resolve, ms));
@@ -1498,15 +1499,19 @@ export const eventHandlers = [
console.log('[Mock] 发表评论, eventId:', eventId, 'content:', body.content);
try {
// 获取当前登录用户信息
const currentUser = getCurrentUser();
// 模拟创建新评论
const newComment = {
id: `comment_${eventId}_${Date.now()}`,
content: body.content,
content_type: body.content_type || 'text',
author: {
id: 'current_user',
username: '当前用户',
avatar: null,
id: currentUser?.id || 'current_user',
// 与导航区保持一致:优先显示昵称
username: currentUser?.nickname || currentUser?.username || currentUser?.email || '当前用户',
avatar: currentUser?.avatar_url || null,
},
created_at: new Date().toISOString(),
likes_count: 0,