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:
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user