feat: 统一的Hook架构

This commit is contained in:
zdl
2025-10-29 13:15:14 +08:00
parent 173b13bc70
commit 8632e40c94
2 changed files with 103 additions and 3 deletions

View File

@@ -251,6 +251,77 @@ export const useEventDetailEvents = ({ event, navigate } = {}) => {
});
}, [track, event]);
/**
* 追踪评论点赞/取消点赞
* @param {string} commentId - 评论ID
* @param {boolean} isLiked - 是否点赞
*/
const trackCommentLiked = useCallback((commentId, isLiked) => {
if (!commentId) {
logger.warn('useEventDetailEvents', 'Comment ID is required');
return;
}
track(isLiked ? 'Comment Liked' : 'Comment Unliked', {
comment_id: commentId,
event_id: event?.id,
action: isLiked ? 'like' : 'unlike',
timestamp: new Date().toISOString(),
});
logger.debug('useEventDetailEvents', `${isLiked ? '❤️' : '🤍'} Comment ${isLiked ? 'Liked' : 'Unliked'}`, {
commentId,
eventId: event?.id,
});
}, [track, event]);
/**
* 追踪添加评论
* @param {string} commentId - 评论ID
* @param {number} contentLength - 评论内容长度
*/
const trackCommentAdded = useCallback((commentId, contentLength = 0) => {
if (!event || !event.id) {
logger.warn('useEventDetailEvents', 'Event object is required for comment tracking');
return;
}
track('Comment Added', {
comment_id: commentId,
event_id: event.id,
content_length: contentLength,
timestamp: new Date().toISOString(),
});
logger.debug('useEventDetailEvents', '💬 Comment Added', {
commentId,
eventId: event.id,
contentLength,
});
}, [track, event]);
/**
* 追踪删除评论
* @param {string} commentId - 评论ID
*/
const trackCommentDeleted = useCallback((commentId) => {
if (!commentId) {
logger.warn('useEventDetailEvents', 'Comment ID is required');
return;
}
track('Comment Deleted', {
comment_id: commentId,
event_id: event?.id,
timestamp: new Date().toISOString(),
});
logger.debug('useEventDetailEvents', '🗑️ Comment Deleted', {
commentId,
eventId: event?.id,
});
}, [track, event]);
return {
// 页面级事件
trackEventAnalysisViewed,
@@ -264,6 +335,11 @@ export const useEventDetailEvents = ({ event, navigate } = {}) => {
// 用户行为事件
trackEventFavoriteToggled,
trackEventShared,
// 社交互动事件
trackCommentLiked,
trackCommentAdded,
trackCommentDeleted,
};
};