refactor: Community 目录结构重组 + 修复导入路径 + 添加 Mock 数据

## 目录重构
- DynamicNewsCard/ → DynamicNews/(含 layouts/, hooks/ 子目录)
- EventCard 原子组件 → EventCard/atoms/
- EventDetailModal 独立目录化
- HotEvents 独立目录化(含 CSS)
- SearchFilters 独立目录化(CompactSearchBox, TradingTimeFilter)

## 导入路径修复
- EventCard/*.js: 统一使用 @constants/, @utils/, @components/ 别名
- atoms/*.js: 修复移动后的相对路径问题
- DynamicNewsCard.js: 更新 contexts, store, constants 导入
- EventHeaderInfo.js, CompactMetaBar.js: 修复 EventFollowButton 导入

## Mock Handler 添加
- /api/events/:eventId/expectation-score - 事件超预期得分
- /api/index/:indexCode/realtime - 指数实时行情

## 警告修复
- CitationMark.js: overlayInnerStyle → styles (Antd 5.x)
- CitedContent.js: 移除不支持的 jsx 属性

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-09 13:16:43 +08:00
parent aac031f17c
commit 44fcef5eae
47 changed files with 409 additions and 76 deletions

View File

@@ -297,6 +297,45 @@ export const eventHandlers = [
}
}),
// 获取事件超预期得分
http.get('/api/events/:eventId/expectation-score', async ({ params }) => {
await delay(200);
const { eventId } = params;
console.log('[Mock] 获取事件超预期得分, eventId:', eventId);
try {
// 生成模拟的超预期得分数据
const score = parseFloat((Math.random() * 100).toFixed(1));
const avgChange = parseFloat((Math.random() * 10 - 2).toFixed(2));
const maxChange = parseFloat((Math.random() * 15).toFixed(2));
return HttpResponse.json({
success: true,
data: {
event_id: parseInt(eventId),
expectation_score: score,
avg_change: avgChange,
max_change: maxChange,
stock_count: Math.floor(Math.random() * 20) + 5,
updated_at: new Date().toISOString(),
},
message: '获取成功'
});
} catch (error) {
console.error('[Mock] 获取事件超预期得分失败:', error);
return HttpResponse.json(
{
success: false,
error: '获取事件超预期得分失败',
data: null
},
{ status: 500 }
);
}
}),
// 获取事件相关股票
http.get('/api/events/:eventId/stocks', async ({ params }) => {
await delay(300);