feat:添加mock接口

1.  Profile 和 Settings 页面(2个文件)
  2.  EventDetail 页面(1个文件)
  3.  身份验证组件(WechatRegister.js)
  4.  Company 页面(CompanyOverview, index, FinancialPanorama, MarketDataView)
  5.  Concept 页面(ConceptTimelineModal, ConceptStatsPanel, index)
This commit is contained in:
zdl
2025-10-18 08:46:56 +08:00
parent 3821b88f28
commit ea627f867e
6 changed files with 91 additions and 91 deletions

View File

@@ -1,4 +1,5 @@
import React, { useState, useEffect } from 'react';
import { logger } from '../../utils/logger';
import {
Modal,
ModalOverlay,
@@ -111,13 +112,13 @@ const ConceptTimelineModal = ({
`end_date=${endDateStr}`
).then(res => {
if (!res.ok) {
console.error('Price API error:', res.status);
logger.error('ConceptTimelineModal', 'fetchTimelineData - Price API', new Error(`HTTP ${res.status}`), { conceptId, startDateStr, endDateStr });
throw new Error(`Price API error: ${res.status}`);
}
return res.json();
})
.catch(err => {
console.error('Price API error:', err);
logger.error('ConceptTimelineModal', 'fetchTimelineData - Price API', err, { conceptId });
return { timeseries: [] };
})
);
@@ -138,13 +139,13 @@ const ConceptTimelineModal = ({
.then(async res => {
if (!res.ok) {
const text = await res.text();
console.error('News API error:', res.status, text);
logger.error('ConceptTimelineModal', 'fetchTimelineData - News API', new Error(`HTTP ${res.status}`), { conceptName, status: res.status, response: text.substring(0, 200) });
return [];
}
return res.json();
})
.catch(err => {
console.error('News API error:', err);
logger.error('ConceptTimelineModal', 'fetchTimelineData - News API', err, { conceptName });
return [];
})
);
@@ -165,13 +166,13 @@ const ConceptTimelineModal = ({
.then(async res => {
if (!res.ok) {
const text = await res.text();
console.error('Report API error:', res.status, text);
logger.error('ConceptTimelineModal', 'fetchTimelineData - Report API', new Error(`HTTP ${res.status}`), { conceptName, status: res.status, response: text.substring(0, 200) });
return { results: [] };
}
return res.json();
})
.catch(err => {
console.error('Report API error:', err);
logger.error('ConceptTimelineModal', 'fetchTimelineData - Report API', err, { conceptName });
return { results: [] };
})
);
@@ -296,15 +297,12 @@ const ConceptTimelineModal = ({
setTimelineData(timeline);
logger.info('ConceptTimelineModal', '时间轴数据加载成功', { conceptId, conceptName, timelineCount: timeline.length });
} catch (error) {
console.error('获取时间轴数据失败:', error);
toast({
title: '获取数据失败',
description: error.message,
status: 'error',
duration: 3000,
isClosable: true,
});
logger.error('ConceptTimelineModal', 'fetchTimelineData', error, { conceptId, conceptName });
// ❌ 移除获取数据失败toast
// toast({ title: '获取数据失败', description: error.message, status: 'error', duration: 3000, isClosable: true });
} finally {
setLoading(false);
}