feat: 重构文件数: 3 个主要页面文件

- 替换 console 调用: 约 18 个
  - 移除非关键 toast: 6 个
  - 保留关键 toast: 2 个(搜索相关的用户操作反馈)
  - 添加 logger 日志: 约 15 处
This commit is contained in:
zdl
2025-10-18 09:17:40 +08:00
parent 32121c416e
commit c1bea7a75d
3 changed files with 67 additions and 60 deletions

View File

@@ -61,6 +61,7 @@ import { FaChartLine, FaFire, FaRocket, FaBrain, FaCalendarAlt, FaChevronRight,
import { BsGraphUp, BsLightningFill } from 'react-icons/bs';
import { keyframes } from '@emotion/react';
import * as echarts from 'echarts';
import { logger } from '../../utils/logger';
// Navigation bar now provided by MainLayout
// import HomeNavbar from '../../components/Navbars/HomeNavbar';
@@ -132,33 +133,24 @@ const StockOverview = () => {
const searchStocks = async (query) => {
setIsSearching(true);
try {
console.log('开始搜索股票:', query);
logger.debug('StockOverview', '开始搜索股票', { query });
const response = await fetch(`/api/stocks/search?q=${encodeURIComponent(query)}&limit=10`);
console.log('API响应状态:', response.status);
const data = await response.json();
console.log('API返回数据:', data);
logger.debug('StockOverview', 'API返回数据', {
status: response.status,
resultCount: data.data?.length || 0
});
if (data.success) {
setSearchResults(data.data || []);
setShowResults(true);
} else {
toast({
title: '搜索失败',
description: data.error || '请稍后重试',
status: 'error',
duration: 3000,
isClosable: true,
});
logger.warn('StockOverview', '搜索失败', data.error || '请稍后重试', { query });
// ❌ 移除搜索失败 toast非关键操作
}
} catch (error) {
console.error('搜索股票失败:', error);
toast({
title: '搜索失败',
description: '网络错误,请稍后重试',
status: 'error',
duration: 3000,
isClosable: true,
});
logger.error('StockOverview', 'searchStocks', error, { query });
// ❌ 移除搜索失败 toast非关键操作
} finally {
setIsSearching(false);
}
@@ -171,13 +163,17 @@ const StockOverview = () => {
const url = date ? `/api/concepts/daily-top?limit=6&date=${date}` : '/api/concepts/daily-top?limit=6';
const response = await fetch(url);
const data = await response.json();
if (data.success) {
setTopConcepts(data.data);
if (!selectedDate) setSelectedDate(data.trade_date);
logger.debug('StockOverview', '热门概念加载成功', {
count: data.data?.length || 0,
date: data.trade_date
});
}
} catch (error) {
console.error('获取概念数据失败:', error);
logger.error('StockOverview', 'fetchTopConcepts', error, { date });
} finally {
setLoadingConcepts(false);
}
@@ -190,7 +186,7 @@ const StockOverview = () => {
const url = date ? `/api/market/heatmap?limit=500&date=${date}` : '/api/market/heatmap?limit=500';
const response = await fetch(url);
const data = await response.json();
if (data.success) {
setHeatmapData(data.data);
// 保存统计数据
@@ -202,11 +198,15 @@ const StockOverview = () => {
}));
}
if (!selectedDate) setSelectedDate(data.trade_date);
logger.debug('StockOverview', '热力图数据加载成功', {
count: data.data?.length || 0,
date: data.trade_date
});
// 延迟渲染热力图确保DOM已经准备好
setTimeout(() => renderHeatmap(data.data), 100);
}
} catch (error) {
console.error('获取热力图数据失败:', error);
logger.error('StockOverview', 'fetchHeatmapData', error, { date });
} finally {
setLoadingHeatmap(false);
}
@@ -218,7 +218,7 @@ const StockOverview = () => {
const url = date ? `/api/market/statistics?date=${date}` : '/api/market/statistics';
const response = await fetch(url);
const data = await response.json();
if (data.success) {
setMarketStats(prevStats => ({
...data.summary,
@@ -228,15 +228,14 @@ const StockOverview = () => {
}));
setAvailableDates(data.available_dates || []);
if (!selectedDate) setSelectedDate(data.trade_date);
logger.debug('StockOverview', '市场统计数据加载成功', {
date: data.trade_date,
availableDatesCount: data.available_dates?.length || 0
});
}
} catch (error) {
console.error('获取市场统计数据失败:', error);
toast({
title: '获取统计数据失败',
status: 'error',
duration: 3000,
isClosable: true,
});
logger.error('StockOverview', 'fetchMarketStats', error, { date });
// ❌ 移除统计数据加载失败 toast非关键操作
}
};
@@ -409,16 +408,12 @@ const StockOverview = () => {
}
});
} catch (error) {
console.error('渲染热力图失败:', error);
toast({
title: '热力图渲染失败',
description: '请刷新页面重试',
status: 'error',
duration: 3000,
isClosable: true,
logger.error('StockOverview', 'renderHeatmap', error, {
dataLength: data?.length || 0
});
// ❌ 移除热力图渲染失败 toast非关键操作
}
}, [colorMode, goldColor, navigate, toast]);
}, [colorMode, goldColor, navigate]); // ✅ 移除 toast 依赖
// 获取市值区间
const getMarketCapRange = (cap) => {