diff --git a/src/services/eventService.js b/src/services/eventService.js index 87c76ecd..6f577cea 100755 --- a/src/services/eventService.js +++ b/src/services/eventService.js @@ -166,7 +166,27 @@ export const eventService = { // 帖子相关API getPosts: async (eventId, sortType = 'latest', page = 1, perPage = 20) => { try { - return await apiRequest(`/api/events/${eventId}/posts?sort=${sortType}&page=${page}&per_page=${perPage}`); + const result = await apiRequest(`/api/events/${eventId}/posts?sort=${sortType}&page=${page}&per_page=${perPage}`); + + // ⚡ 数据转换:将后端的 user 字段映射为前端期望的 author 字段 + if (result.success && Array.isArray(result.data)) { + result.data = result.data.map(post => ({ + ...post, + author: post.user ? { + id: post.user.id, + username: post.user.username, + avatar: post.user.avatar_url || post.user.avatar // 兼容 avatar_url 和 avatar + } : { + id: 'anonymous', + username: 'Anonymous', + avatar: null + } + // 保留原始的 user 字段(如果其他地方需要) + // user: post.user + })); + } + + return result; } catch (error) { logger.error('eventService', 'getPosts', error, { eventId, sortType, page }); return { success: false, data: [], pagination: {} };