feat:Community 组件 (2个文件,8个console)

- EventDetailModal.js - 2个
  - InvestmentCalendar.js - 6个

  EventDetail 组件 (5个文件,54个console)

  - TransmissionChainAnalysis.js - 43个 ⚠️ 最复杂
  - RelatedConcepts.js - 14个
  - LimitAnalyse.js - 5个 (保留2个toast)
  - RelatedStocks.js - 3个 (保留4个toast)
  - HistoricalEvents.js - 1个

  StockChart 组件 (1个文件,4个console)
This commit is contained in:
zdl
2025-10-18 10:23:23 +08:00
parent 3a3cac75f7
commit 87b77af187
5 changed files with 106 additions and 23 deletions

View File

@@ -41,6 +41,7 @@ import { FaHeart, FaRegHeart, FaComment } from 'react-icons/fa';
import { format } from 'date-fns';
import { zhCN } from 'date-fns/locale';
import { eventService } from '../../../services/eventService';
import { logger } from '../../../utils/logger';
const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussionType = '事件讨论' }) => {
const [posts, setPosts] = useState([]);
@@ -73,7 +74,16 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
if (response.ok && result.success) {
setPosts(result.data || []);
logger.debug('EventDiscussionModal', '帖子列表加载成功', {
eventId,
postsCount: result.data?.length || 0
});
} else {
logger.error('EventDiscussionModal', 'loadPosts', new Error('API返回错误'), {
eventId,
status: response.status,
message: result.message
});
toast({
title: '加载帖子失败',
status: 'error',
@@ -82,7 +92,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
});
}
} catch (error) {
console.error('Failed to load posts:', error);
logger.error('EventDiscussionModal', 'loadPosts', error, { eventId });
toast({
title: '加载帖子失败',
status: 'error',
@@ -107,9 +117,13 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
if (response.ok && result.success) {
setPostComments(prev => ({ ...prev, [postId]: result.data || [] }));
logger.debug('EventDiscussionModal', '评论加载成功', {
postId,
commentsCount: result.data?.length || 0
});
}
} catch (error) {
console.error('Failed to load comments:', error);
logger.error('EventDiscussionModal', 'loadPostComments', error, { postId });
} finally {
setLoadingComments(prev => ({ ...prev, [postId]: false }));
}
@@ -147,6 +161,10 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
setNewPostContent('');
setNewPostTitle('');
loadPosts();
logger.info('EventDiscussionModal', '帖子发布成功', {
eventId,
postId: result.data?.id
});
toast({
title: '帖子发布成功',
status: 'success',
@@ -154,6 +172,10 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
isClosable: true,
});
} else {
logger.error('EventDiscussionModal', 'handleSubmitPost', new Error('API返回错误'), {
eventId,
message: result.message
});
toast({
title: result.message || '帖子发布失败',
status: 'error',
@@ -162,7 +184,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
});
}
} catch (error) {
console.error('Failed to submit post:', error);
logger.error('EventDiscussionModal', 'handleSubmitPost', error, { eventId });
toast({
title: '帖子发布失败',
status: 'error',
@@ -188,6 +210,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
if (response.ok && result.success) {
loadPosts();
logger.info('EventDiscussionModal', '帖子删除成功', { postId });
toast({
title: '帖子已删除',
status: 'success',
@@ -195,6 +218,10 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
isClosable: true,
});
} else {
logger.error('EventDiscussionModal', 'handleDeletePost', new Error('API返回错误'), {
postId,
message: result.message
});
toast({
title: result.message || '删除失败',
status: 'error',
@@ -203,7 +230,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
});
}
} catch (error) {
console.error('Failed to delete post:', error);
logger.error('EventDiscussionModal', 'handleDeletePost', error, { postId });
toast({
title: '删除失败',
status: 'error',
@@ -225,14 +252,19 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
if (response.ok && result.success) {
// 更新帖子列表中的点赞状态
setPosts(prev => prev.map(post =>
post.id === postId
setPosts(prev => prev.map(post =>
post.id === postId
? { ...post, likes_count: result.likes_count, liked: result.liked }
: post
));
logger.debug('EventDiscussionModal', '点赞操作成功', {
postId,
liked: result.liked,
likesCount: result.likes_count
});
}
} catch (error) {
console.error('Failed to like post:', error);
logger.error('EventDiscussionModal', 'handleLikePost', error, { postId });
toast({
title: '操作失败',
status: 'error',
@@ -263,11 +295,15 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
// 重新加载该帖子的评论
await loadPostComments(postId);
// 更新帖子的评论数
setPosts(prev => prev.map(post =>
post.id === postId
setPosts(prev => prev.map(post =>
post.id === postId
? { ...post, comments_count: (post.comments_count || 0) + 1 }
: post
));
logger.info('EventDiscussionModal', '评论发布成功', {
postId,
commentId: result.data?.id
});
toast({
title: '评论发布成功',
status: 'success',
@@ -276,7 +312,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
});
}
} catch (error) {
console.error('Failed to submit comment:', error);
logger.error('EventDiscussionModal', 'handleSubmitComment', error, { postId });
toast({
title: '评论发布失败',
status: 'error',
@@ -302,11 +338,12 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
// 重新加载该帖子的评论
await loadPostComments(postId);
// 更新帖子的评论数
setPosts(prev => prev.map(post =>
post.id === postId
setPosts(prev => prev.map(post =>
post.id === postId
? { ...post, comments_count: Math.max(0, (post.comments_count || 0) - 1) }
: post
));
logger.info('EventDiscussionModal', '评论删除成功', { commentId, postId });
toast({
title: '评论已删除',
status: 'success',
@@ -315,7 +352,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
});
}
} catch (error) {
console.error('Failed to delete comment:', error);
logger.error('EventDiscussionModal', 'handleDeleteComment', error, { commentId, postId });
toast({
title: '删除失败',
status: 'error',