feat: 添加相关股票模块
This commit is contained in:
@@ -99,22 +99,48 @@ const Community = () => {
|
||||
const fetchDynamicNews = async () => {
|
||||
setDynamicNewsLoading(true);
|
||||
try {
|
||||
const timeRange = getCurrentTradingTimeRange();
|
||||
const response = await fetch(
|
||||
`/api/events/dynamic-news?start_time=${timeRange.startTime.toISOString()}&end_time=${timeRange.endTime.toISOString()}&count=30`,
|
||||
{ credentials: 'include' }
|
||||
);
|
||||
const data = await response.json();
|
||||
// 检查是否使用 mock 模式
|
||||
// 开发阶段默认使用 mock 数据
|
||||
const useMock = true; // TODO: 生产环境改为环境变量控制
|
||||
// const useMock = process.env.REACT_APP_USE_MOCK === 'true' ||
|
||||
// localStorage.getItem('use_mock_data') === 'true';
|
||||
|
||||
if (data.success && data.data) {
|
||||
setDynamicNewsEvents(data.data);
|
||||
logger.info('Community', '动态新闻加载成功', {
|
||||
count: data.data.length,
|
||||
timeRange: timeRange.description
|
||||
if (useMock) {
|
||||
// 使用 mock 数据
|
||||
const { generateMockEvents } = await import('../../mocks/data/events');
|
||||
const mockData = generateMockEvents({ page: 1, per_page: 30 });
|
||||
|
||||
// 调试:检查第一个事件的 related_stocks 数据
|
||||
if (mockData.events[0]?.related_stocks) {
|
||||
console.log('Mock 数据第一个事件的股票:', mockData.events[0].related_stocks);
|
||||
}
|
||||
|
||||
setDynamicNewsEvents(mockData.events);
|
||||
logger.info('Community', '动态新闻(Mock)加载成功', {
|
||||
count: mockData.events.length,
|
||||
mode: 'mock',
|
||||
firstEventStocks: mockData.events[0]?.related_stocks?.length || 0
|
||||
});
|
||||
} else {
|
||||
logger.warn('Community', '动态新闻加载失败', data);
|
||||
setDynamicNewsEvents([]);
|
||||
// 使用真实 API
|
||||
const timeRange = getCurrentTradingTimeRange();
|
||||
const response = await fetch(
|
||||
`/api/events/dynamic-news?start_time=${timeRange.startTime.toISOString()}&end_time=${timeRange.endTime.toISOString()}&count=30`,
|
||||
{ credentials: 'include' }
|
||||
);
|
||||
const data = await response.json();
|
||||
|
||||
if (data.success && data.data) {
|
||||
setDynamicNewsEvents(data.data);
|
||||
logger.info('Community', '动态新闻加载成功', {
|
||||
count: data.data.length,
|
||||
timeRange: timeRange.description,
|
||||
mode: 'api'
|
||||
});
|
||||
} else {
|
||||
logger.warn('Community', '动态新闻加载失败', data);
|
||||
setDynamicNewsEvents([]);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('Community', '动态新闻加载异常', error);
|
||||
|
||||
Reference in New Issue
Block a user