zdl
|
c6eca432be
|
perf(MarketDataView): 优化加载状态,使用骨架屏避免布局跳动
- useMarketData: 新增 hasLoaded 状态,优化首次加载 loading 逻辑
- 导出 SummaryCardSkeleton 组件用于概览卡片占位
- MarketDataView: 使用骨架屏替代空白占位
- DeepAnalysisTab: 使用 skeleton 变体替代 spinner
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-22 13:04:55 +08:00 |
|
zdl
|
0451920f16
|
perf(MarketDataView): 优化数据映射性能和请求管理
- useMarketData: 使用 Map 替代 findIndex,O(n*m) → O(n+m) 性能优化
- useMarketData: 修复 React StrictMode 下请求被意外取消的问题
- config.ts: 添加 CompanyOverview 和 DynamicTracking 的骨架屏 fallback
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 18:55:06 +08:00 |
|
zdl
|
ada3923305
|
style(MarketDataView): 缩小页面间距
- Container py: 6 → 4
- VStack spacing: 6 → 4
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 18:55:04 +08:00 |
|
zdl
|
efe674ffa8
|
fix: 优化加载状态和布局
MarketDataView:
- 移除重复的 LoadingState,改用 KLineModule 内部骨架屏
- 修复点击股票行情后数据不显示的问题
FinancialPanorama:
- 移除表格右上角"显示 6 期"标签
- 优化 loadingTab 状态处理
SubTabContainer:
- 重构布局:Tab 区域可滚动,右侧元素固定
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 18:55:04 +08:00 |
|
zdl
|
3724e65fe2
|
feat(MarketDataView): 添加股票行情骨架屏
- 创建 MarketDataSkeleton 组件(摘要卡片 + K线图表 + Tab)
- 配置 Suspense fallback,点击时直接显示骨架屏
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 18:55:03 +08:00 |
|
zdl
|
dc3029e387
|
perf(PledgePanel): 添加 useMemo 缓存图表配置
- 使用 useMemo 缓存 getPledgeDarkGoldOption 计算结果
- 避免每次渲染重新计算图表配置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 14:23:47 +08:00 |
|
zdl
|
c39ece4f1c
|
refactor(MarketDataView): 提取 DataRow 原子组件,样式统一
- 新增 shared/DataRow.tsx:通用数据行组件(支持 gold/orange/red/green 变体)
- 新增样式常量:financingRowStyle, securitiesRowStyle, buyRowStyle, sellRowStyle, dayCardStyle
- FundingPanel: 使用 useMemo 缓存图表配置和数据,使用 DataRow 替代重复结构
- BigDealPanel: 使用 dayCardStyle 替代内联样式
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 14:20:46 +08:00 |
|
zdl
|
d9dc86f8e7
|
refactor(TradeDataPanel): 拆分 KLineModule 为独立子组件
- KLineModule: 611行精简至157行,专注状态管理
- 提取 KLineToolbar: 工具栏组件(模式切换、指标选择)
- 提取 DailyKLineChart: 日K图表(useMemo缓存配置)
- 提取 MinuteChartWithOrderBook: 分时图+五档盘口
- 提取 constants.ts: 指标选项常量
- 提取 styles.ts: 按钮样式常量
- 所有组件使用 React.memo 优化
- 更新 README.md 文档
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 13:37:15 +08:00 |
|
zdl
|
01ec5f184b
|
docs(Company): 添加组件目录结构文档
为 Company 模块下的主要组件添加 README.md:
- CompanyHeader: 搜索栏组件
- CompanyOverview: 公司概览(基本信息 + 深度分析)
- FinancialPanorama: 财务全景
- ForecastReport: 盈利预测
- MarketDataView: 市场数据
- StockQuoteCard: 股票行情卡片
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 13:22:43 +08:00 |
|
zdl
|
16e11f6615
|
refactor(MarketDataView): 提取共享组件,简化 Panel 结构
- 新增 shared 目录,提取重复组件:
- DarkGoldCard: 黑金卡片容器
- DarkGoldBadge: 黑金徽章组件
- EmptyState: 空状态组件
- styles.ts: 共享样式定义
- 简化各 Panel 组件,移除重复代码
- 优化 index.tsx componentProps 传递
- 调整 hooks/services 数据获取逻辑
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 13:09:20 +08:00 |
|
zdl
|
b610a7dc9d
|
perf: 优化各 Tab 数据加载为按需请求
MarketDataView (股票行情):
- 初始只加载 summary + tradeData(2个接口)
- funding/bigDeal/unusual/pledge 数据在切换 Tab 时按需加载
- 新增 loadDataByType 方法支持懒加载
FinancialPanorama (财务全景):
- 初始只加载 stockInfo + metrics + comparison + mainBusiness(4个接口)
- 从9个接口优化到4个接口
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 18:32:14 +08:00 |
|
zdl
|
722582e83a
|
perf(DeepAnalysis): 优化初始加载,只请求 comprehensive 接口
- 移除初始加载时的 industryRank 请求
- 只加载默认 Tab(战略分析)需要的核心数据
- 其他数据按需懒加载
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 18:27:57 +08:00 |
|
|
|
964d404bbf
|
更新Company页面的UI为FUI风格
|
2025-12-18 08:23:04 +08:00 |
|
|
|
9ef8229941
|
更新Company页面的UI为FUI风格
|
2025-12-18 07:26:10 +08:00 |
|
|
|
071eee2830
|
更新Company页面的UI为FUI风格
|
2025-12-17 23:54:38 +08:00 |
|
|
|
dfe2379b85
|
更新Company页面的UI为FUI风格
|
2025-12-17 23:48:37 +08:00 |
|
|
|
a70d1655a9
|
更新Company页面的UI为FUI风格
|
2025-12-17 23:38:46 +08:00 |
|
|
|
7d35038bf9
|
更新Company页面的UI为FUI风格
|
2025-12-17 23:20:33 +08:00 |
|
|
|
98b8cd2b90
|
更新Company页面的UI为FUI风格
|
2025-12-17 19:31:55 +08:00 |
|
|
|
6ff86f4355
|
更新Company页面的UI为FUI风格
|
2025-12-17 19:21:48 +08:00 |
|
|
|
c8dfcf2363
|
更新Company页面的UI为FUI风格
|
2025-12-17 19:20:10 +08:00 |
|
|
|
79dc002ee9
|
更新Company页面的UI为FUI风格
|
2025-12-17 19:05:02 +08:00 |
|
|
|
5de6aafd11
|
update pay ui
|
2025-12-17 18:27:56 +08:00 |
|
zdl
|
8e7a556e49
|
refactor(marketService): 移除 apiRequest 包装函数,统一使用 axios.get
- getMarketSummary, getTradeData, getFundingData, getPledgeData, getRiseAnalysis 改为直接使用 axios.get
- 删除 apiRequest<T> 包装函数
- 代码风格与 getBigDealData, getUnusualData, getMinuteData 保持一致
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 16:00:08 +08:00 |
|
zdl
|
8769cc3e6c
|
refactor(Company): fetch 请求迁移至 axios
- DeepAnalysis: 4 个 fetch → axios
- DynamicTracking: 3 个 fetch → axios (NewsPanel, ForecastPanel)
- MarketDataView/services: 4 个 fetch → axios
- CompanyOverview/hooks: 9 个 fetch → axios (6 个文件)
- StockQuoteCard/hooks: 1 个 fetch → axios
- ValueChainNodeCard: 1 个 fetch → axios
清理:
- 删除未使用的 useCompanyOverviewData.ts
- 移除所有 getApiBase/API_BASE_URL 引用
总计: 22 个 fetch 调用迁移, 复用项目已有的 axios 拦截器配置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 11:54:32 +08:00 |
|
zdl
|
b6253c724d
|
fix(MarketDataView): 添加缺失的 VStack 导入
- 修复 TypeScript 类型检查错误
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 11:11:59 +08:00 |
|
zdl
|
8f3247b28e
|
fix(MarketDataView): loading 背景色改为深色与整体一致
- 移除白色 ThemedCard 包装
- 使用 gray.900 背景 + 金色边框
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 10:34:36 +08:00 |
|
zdl
|
a3bb119d01
|
refactor(Company): 统一所有 Tab 的 loading 状态组件
- 创建共享的 LoadingState 组件(黑金主题)
- DeepAnalysisTab: 使用统一 LoadingState 替换蓝色 Spinner
- FinancialPanorama: 使用 LoadingState 替换 Skeleton
- MarketDataView: 使用 LoadingState 替换自定义 Spinner
- ForecastReport: 使用 LoadingState 替换 Skeleton 骨架屏
所有一级 Tab 现在使用一致的金色 Spinner + 加载提示文案
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 10:31:38 +08:00 |
|
zdl
|
cb6c877392
|
feat(MarketDataView): K线图优化 - 按需刷新 + 黑金主题
- useMarketData: 新增 refreshTradeData,切换时间范围只刷新K线数据
- chartOptions: 新增黑金主题配置函数
- 优化 useEffect,避免切换周期时全量刷新
|
2025-12-16 16:12:39 +08:00 |
|
zdl
|
4d479e86b2
|
refactor(MarketDataView): 使用通用 SubTabContainer 简化代码
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 15:29:05 +08:00 |
|
zdl
|
574b412d60
|
refactor(MarketDataView): 优化图表配置和K线模块
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 15:28:59 +08:00 |
|
zdl
|
e91a6d20e7
|
style(Panels): 应用黑金主题样式
|
2025-12-16 15:24:13 +08:00 |
|
zdl
|
60e0a39cbc
|
refactor(useMarketData): 优化数据获取逻辑
|
2025-12-16 15:24:00 +08:00 |
|
zdl
|
39fb202e34
|
feat(MarketDataView): 新增图表配置工具函数
|
2025-12-16 15:23:49 +08:00 |
|
zdl
|
51773cdddb
|
feat(KLineModule): 添加日K时间范围选择器
|
2025-12-16 15:20:06 +08:00 |
|
zdl
|
7ad3f08a20
|
style(StockSummaryCard): 优化黑金主题原子组件样式
|
2025-12-16 15:19:40 +08:00 |
|
zdl
|
511db2efa3
|
pref: FundingPanel 黑金主题改造 融资融券面板
|
2025-12-16 15:11:52 +08:00 |
|
zdl
|
f02742b5a2
|
refactor(KLineModule): 黑金主题 + 精简组件结构
- KLineModule 应用黑金主题(渐变背景、金色按钮、金色图标)
- 删除 TradeTable、MinuteStats、TradeAnalysis 组件
- 删除 atoms 目录,EmptyState 内联到 KLineModule
- 更新 types.ts 移除 TradeTableProps
- 更新导出文件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 15:03:50 +08:00 |
|
zdl
|
7d63ff15ec
|
refactor(TradeDataPanel): 合并 KLineChart 和 MinuteKLineSection 为 KLineModule
- 新增 KLineModule 组件,整合日K线和分钟K线功能
- 右上角 ButtonGroup 切换「日K」/「分钟」模式
- 刷新按钮置于切换按钮组前方
- 切换到分钟模式时自动加载数据
- 删除旧的 KLineChart.tsx 和 MinuteKLineSection.tsx
- 更新 panels/index.ts 导出
- 更新 types.ts,合并类型定义为 KLineModuleProps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 14:52:06 +08:00 |
|
zdl
|
39ce365cbf
|
refactor(TradeDataPanel): 原子设计模式拆分重构
- 将 TradeDataPanel.tsx (382行) 拆分为 8 个 TypeScript 文件
- 创建 3 个原子组件: MinuteStats、TradeAnalysis、EmptyState
- 创建 3 个业务组件: KLineChart、MinuteKLineSection、TradeTable
- 主入口组件精简至 ~50 行,降低 87%
- 更新 panels/index.ts 导出子组件
- 更新 STRUCTURE.md 文档
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 14:34:45 +08:00 |
|
zdl
|
12077be026
|
refactor(StockSummaryCard): 黑金主题 4 列布局重构
- 布局从 1+3 改为 4 列横向排列(股票信息/交易热度/估值安全/情绪风险)
- 新增 darkGoldTheme 黑金主题配置
- 采用原子设计模式拆分:5 个原子组件 + 2 个业务组件
- 原子组件:DarkGoldCard、CardTitle、MetricValue、PriceDisplay、StatusTag
- 业务组件:StockHeaderCard、MetricCard
- 提取状态计算工具到 utils.ts
- types.ts: theme 参数改为可选
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 14:01:42 +08:00 |
|
zdl
|
6cd848a311
|
refactor(MarketDataView): 使用 Panel 组件重构主组件
- 主组件从 1049 行精简至 285 行(减少 73%)
- 添加 panels/index.ts 统一导出
- Tab 容器和状态管理保留在主组件
- 各面板内容拆分到独立组件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-12 18:08:40 +08:00 |
|
zdl
|
e2d4517c93
|
feat(MarketDataView): 新增 5 个 Panel 组件
- TradeDataPanel: 交易数据面板(K线图、分钟图、表格)
- FundingPanel: 融资融券面板
- BigDealPanel: 大宗交易面板
- UnusualPanel: 龙虎榜面板
- PledgePanel: 股权质押面板
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-12 18:07:58 +08:00 |
|
zdl
|
d5fecaec0c
|
refactor: MarketDataView TypeScript 重构 - 2060 行拆分为 12 个模块
- 将原 index.js (2060 行) 重构为 TypeScript 模块化架构
- 新增 types.ts: 383 行类型定义 (Theme, TradeDayData, MinuteData 等)
- 新增 services/marketService.ts: API 服务层封装
- 新增 hooks/useMarketData.ts: 数据获取 Hook
- 新增 utils/formatUtils.ts: 格式化工具函数
- 新增 utils/chartOptions.ts: ECharts 图表配置生成器 (698 行)
- 新增 components/: ThemedCard, MarkdownRenderer, StockSummaryCard, AnalysisModal
- 添加 Company/STRUCTURE.md 目录结构文档
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 15:14:23 +08:00 |
|
zdl
|
6fcd5da0fb
|
refactor: 移除暗色模式相关代码,使用固定浅色主题
- DeepAnalysisTab: 移除 useColorModeValue,使用固定颜色值
- NewsEventsTab: 移除 useColorModeValue,简化 hover 颜色
- FinancialPanorama: 移除 useColorMode/useColorModeValue
- MarketDataView: 移除 dark 主题配置,简化颜色逻辑
- StockQuoteCard: 移除 useColorModeValue,使用固定颜色
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-09 18:46:30 +08:00 |
|
zdl
|
0193b54afe
|
refactor: Company 目录结构重组 - Tab 内容组件文件夹化
- 将 4 个 Tab 内容组件移动到 components/ 目录下
- CompanyOverview.js → components/CompanyOverview/index.js
- MarketDataView.js → components/MarketDataView/index.js
- FinancialPanorama.js → components/FinancialPanorama/index.js
- ForecastReport.js → components/ForecastReport/index.js
- 更新 CompanyTabs/index.js 导入路径
- 更新 routes/lazy-components.js 路由路径
- 修复组件内相对路径导入,改用 @utils/@services 别名
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-09 15:31:58 +08:00 |
|