Commit Graph

3909 Commits

Author SHA1 Message Date
a990a62fa5 个股论坛重做 2026-01-06 09:56:00 +08:00
12bf4c2f87 个股论坛重做 2026-01-06 08:13:01 +08:00
11db27d58d 概念板块重做 2026-01-05 19:16:42 +08:00
afa8be8112 概念板块重做 2026-01-05 18:17:35 +08:00
f761145a1a 概念板块重做 2026-01-05 16:47:05 +08:00
zdl
20294e4125 fix(HotspotOverview): 恢复异动详情抽屉功能
- 点击分时图异动标记打开右侧抽屉显示详情
- 点击筛选标签(放量异动、急跌等)打开抽屉显示该类型异动
- AlertDetailDrawer 恢复完整的可点击卡片头部
- 抽屉打开时默认展开第一个异动卡片并加载股票数据

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-05 16:01:11 +08:00
zdl
26a4ae610d refactor(StockOverview/GlobalSidebar): TypeScript 迁移与组件拆分优化
### HotspotOverview 重构
- 拆分 CompactAlertCard.tsx 紧凑型异动卡片组件(React.memo)
- 拆分 StockListPanel.tsx 股票列表面板组件(React.memo)
- 新增 useConceptStocks.ts 概念股票数据 hook
- useHotspotData.js 转换为 TypeScript
- 新增 types.ts 集中类型定义(Alert, ConceptStock 等)
- 新增 styles.ts 动画与共享样式
- 主组件 index.tsx TypeScript 转换

### GlobalSidebar 重构
- 拆分 CollapsedMenu.tsx 折叠菜单组件
- 拆分 HotConceptsPopover.tsx 热门概念弹窗
- 拆分 PopoverMenuItem.tsx 弹窗菜单项
- 新增 types.ts 类型定义
- useCallback 优化事件处理函数

### StockOverview 重构
- index.js 转换为 TypeScript
- 新增 types.ts 类型定义(Concept, HeatmapStock 等)
- 新增 utils/formatters.ts 格式化工具
- useCallback 优化数据获取函数

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-05 15:47:12 +08:00
zdl
0ed297dd19 refactor: LimitAnalyse 模块 TypeScript 迁移
- ztStaticService.js → ztStaticService.ts: 添加完整类型定义
- LimitAnalyse/index.js → index.tsx: memo/useCallback/useMemo 性能优化
- limitAnalyse.js → limitAnalyse.ts: Mock handlers 类型安全
- stock.js → stock.ts: 股票 Mock handlers 类型化
- 更新 MarketPanorama/types.ts: 扩展 SectorRelations 类型
- 修复 SectorNetwork.tsx 类型兼容性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-05 15:16:10 +08:00
6fb2eb074a 概念板块重做 2026-01-05 15:09:20 +08:00
37fdfeb33d 概念板块重做 2026-01-05 15:06:35 +08:00
8eec3983dc 概念板块重做 2026-01-05 15:05:29 +08:00
zdl
f94c196dcb 添加删除的旧文件和修改的类型文件
refactor(LimitAnalyse): 组件 TypeScript 重构与性能优化

 ## 新增共享模块
 - types/limitAnalyse.ts: 统一类型定义
 - constants/limitAnalyseTheme.ts: 主题常量(颜色、动画)
 - utils/limitAnalyseUtils.ts: 工具函数(风险等级、连板样式)
 - styles/limitAnalyseStyles.ts: 共享样式

 ## 组件重构
 - HighPositionSidebar: JS → TypeScript 目录结构 + 3个子组件
 - HighPositionStocks: JS → TypeScript 目录结构 + 3个子组件
 - SectorMovementTable: JS → TypeScript 目录结构 + 3个子组件
 - SectorDetails + SmartSectorCard → UnifiedSectorCard(合并)

 ## 优化点
 - 所有子组件使用 React.memo 优化
 - 事件处理器使用 useCallback
 - 消除 15+ 处重复代码
 - TypeScript 覆盖率 100%
2026-01-05 14:56:12 +08:00
zdl
bd15c9775c 添加重构后的组件目录 2026-01-05 14:55:39 +08:00
zdl
d714f7d09f 添加新增的共享模块 2026-01-05 14:55:10 +08:00
f563422cf7 概念板块重做 2026-01-05 14:47:32 +08:00
zdl
e5f0d9aa2b refactor(LimitAnalyse): 重构主页面布局与数据服务
- 整合市场全景、板块异动、高位股统计模块
  - 状态提升实现板块点击联动(selectedSector)
  - 更新 ztStaticService 静态数据服务:
    - 添加缓存机制(dates 5分钟、daily 30分钟)
    - 转换 stock_codes 为完整 stocks 对象
    - 支持 sector_relations 板块关联数据
  - 更新 Mock handlers:
    - 完善 dates.json / daily/{date}.json 静态路径
    - 添加 sector_relations 网络图数据生成
    - 支持 chart_data 饼图数据结构
2026-01-05 14:34:19 +08:00
c86b75afbd 概念板块重做 2026-01-05 14:31:09 +08:00
4a762b1a22 概念板块重做 2026-01-05 14:21:51 +08:00
zdl
412e51fe28 refactor(MarketPanorama): 组件 TypeScript 转换与性能优化
- 将 MarketPanorama 及其子组件从 JS 转换为 TypeScript
  - 新增 types.ts 统一管理共享类型定义(SectorInfo、Stock 等)
  - 所有组件添加 memo() 包装优化渲染性能
  - 使用 useCallback/useMemo 优化事件处理和计算
  - 提取 TabButton、SortIcon 等子组件
  - 常量配置集中管理(goldColors、TIME_PERIODS 等)

  转换文件:
  - index.tsx (主组件)
  - SectorTreemap.tsx (板块热力图)
  - SectorNetwork.tsx (板块关联图)
  - MacroTabPanel.tsx (词云/饼图切换)
  - TimeDistributionChart.tsx (时间分布图)
  - SectorMovementTable.tsx (板块异动表格)
2026-01-05 14:19:56 +08:00
2b40a5a598 概念板块重做 2026-01-05 14:13:30 +08:00
e6312981bc 概念板块重做 2026-01-05 14:11:25 +08:00
zdl
d16938de9e feat(LimitAnalyse): 新增涨停情绪周期日历组件
- 日历展示每日涨停数据,支持日期选择
  - 左侧 AI 摘要卡片和核心指标展示
  - 左右 3:7 布局,颜色提亮优化
2026-01-05 13:53:32 +08:00
6864f8de39 概念板块重做 2026-01-05 13:52:57 +08:00
494b825c80 横向布局 2026-01-05 10:33:16 +08:00
1c6bdc31cb 横向布局 2026-01-05 08:18:48 +08:00
22daf4ad39 横向布局 2026-01-05 08:01:21 +08:00
zdl
365a30da2e refactor(OrderBookPanel): 重构盘口面板为左右结构布局
- 卖盘显示在左侧,买盘显示在右侧,更符合专业交易软件布局
- 调整内容排列顺序:左侧(量-价-档),右侧(档-价-量)
- 成交量条方向适配左右布局
- 档位切换按钮居中显示
- FlexScreenHeader 性能优化:提取 SearchResultListItem 子组件,useCallback 优化

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-04 17:35:33 +08:00
zdl
cc16a0052a refactor(FlexScreen): 搜索框移到标题栏,默认收起
- 搜索框从内容区移到标题栏右侧,始终可见
  - 灵活屏默认收起状态
  - 删除废弃的 SearchPanel 组件
  - 搜索框边框改为金色
2026-01-04 17:31:53 +08:00
15fea397e4 更新交易日 2026-01-02 19:29:40 +08:00
zdl
d95b2ff313 feat(StockListPanel): 优化加载态为骨架屏
- 股票列表加载时显示骨架屏替代 Spinner
- 骨架屏包含头部和5行列表项占位
- 添加"相关股票"标题到列表头部

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 19:05:02 +08:00
zdl
e37a8875f8 feat(HotspotOverview): 异动卡片布局优化与股票列表展开功能
- CompactAlertCard 布局重构:
  - 未选中:时间 + 概念名称/标签 + 评分(左)/α(右)
  - 选中:增加板块均涨/涨跌家数 + V2指标(确认率/Z-Score/成交额/动量)
- 新增 StockListPanel 组件,选中卡片后展开显示相关股票列表
- 修复卡片点击高度闪烁问题(固定 minH + flexShrink)
- 股票列表支持点击跳转到公司详情页

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 19:02:19 +08:00
zdl
c120c1c65b feat(HotSectorsRanking): 支持板块/概念类型切换
- 新增 type 属性区分 sector/concept
- 添加默认概念数据
- 根据类型切换图标 (TrendingUp/Flame) 和颜色

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 18:33:51 +08:00
zdl
fd393d18e5 fix(mock): 优化热门概念和异动数据模拟
- 热门概念添加 tags 标签字段
- 概念数据添加 outbreak_dates 爆发日期
- 异动数量优化 (15-25 → 12-18)
- 异动时间分布优化,使用 10 分钟时间段分组

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 18:33:42 +08:00
zdl
c82363b751 refactor(FlexScreen): 模块化重构与性能优化
目录结构优化:
- styles.ts: 提取颜色常量 COLORS 和样式对象
- constants.ts: 提取配置常量 (STORAGE_KEY、默认列表、热门推荐)
- types.ts: 新增子组件 Props 类型定义

子组件拆分:
- FlexScreenHeader.tsx: 头部组件 (标题、连接状态、操作按钮)
- SearchPanel.tsx: 搜索面板 (输入框 + 结果下拉列表)
- HotRecommendations.tsx: 热门推荐组件

性能优化:
- 所有子组件使用 memo 包裹
- 主组件使用 useMemo 缓存计算值 (displayedWatchlist、connectionStatus)
- 使用 useCallback 包裹所有回调函数

代码精简:
- index.tsx 从 509 行精简至 302 行
- 移除内联颜色常量和配置

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 18:17:48 +08:00
zdl
0eb1d00482 refactor(MarketHeatmap): TypeScript 重构与模块化优化
目录结构拆分:
- types.ts: HeatmapDataItem, MarketHeatmapProps, TreeNodeData 等类型定义
- styles.ts: 颜色常量、ECharts 配置常量、涨跌幅阈值
- utils.ts: getMarketCapRange, getChangeColor, buildTreeData, tooltip 格式化函数
- components/HeatmapLegend.tsx: 图例原子组件

性能优化:
- 使用 useMemo 缓存树图数据构建和 ECharts 配置
- HeatmapLegend 使用 memo 包装

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 17:52:39 +08:00
zdl
f4c194881f refactor(StockOverviewHeader): 模块化重构与性能优化
目录结构拆分:
- types.ts: 提取 6 个 TypeScript 接口定义
- styles.ts: 提取颜色常量和样式对象
- utils.ts: 提取趋势计算函数 (getAmountTrend, getMarketCapTrend)
- components/StatCard.tsx: 提取统计卡片原子组件

性能优化:
- StatCard 使用 memo + useMemo 缓存趋势图标和颜色
- 主组件使用 useMemo 缓存所有计算值
- 趋势函数外移避免每次渲染重新创建

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 17:38:49 +08:00
zdl
21b58c7c68 refactor(GlobalSidebar): TypeScript 重构与 HotConceptsPanel 模块化
- GlobalSidebar: JS 转换为 TypeScript,添加完整类型定义
- HotConceptsPanel 拆分为模块化目录结构:
  - types.ts: 类型定义 (Concept, ConceptStock, Props)
  - styles.ts: 样式常量 + 配置 (COLORS, CONFIG)
  - utils.ts: 工具函数 (formatChangePercent, getChangeColor)
  - hooks/useHotConcepts.ts: 数据获取 Hook
  - components/ConceptCard.tsx: 概念卡片原子组件 (memo 优化)
- 性能优化:useMemo 缓存计算,useCallback 缓存事件处理

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 17:23:17 +08:00
zdl
ff62205720 fix(mock): 市场热力图添加涨停/跌停股票模拟数据
- 添加 8 只涨停股票(9.9%~10.05%)
- 添加 2 只跌停股票(-9.9%~-10.05%)
- 使用真实股票名称池增强模拟效果

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 14:43:57 +08:00
zdl
df3d502862 perf(HotspotOverview): 日期切换时只刷新图表,不重新渲染整个模块
- useHotspotData 新增 refreshing 状态,区分首次加载和切换日期
- 首次加载显示全屏 loading,切换日期仅显示图表区域加载指示器
- 避免日期切换时整体布局闪烁

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 14:43:44 +08:00
zdl
494d9c8918 feat(HotspotOverview): 重构筛选区布局,与分时图标题同行显示
- 新增 AlertFilterSection 组件,支持内联显示
- 筛选标签(类型+数量)、异动总数徽章、日期选择器整合到标题行
- 移除与灵活屏重复的三指数卡片组件
- 简化热点概览整体布局结构

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 14:43:35 +08:00
zdl
927668bb9c refactor(TradeDatePicker): 组件重构,配置提取与性能优化
- 拆分文件:types.ts(类型)、theme.ts(主题)、utils.ts(工具函数)
- 移除 isDarkMode 相关代码(已确认仅浅色模式)
- 移除 useColorModeValue,直接使用固定颜色值
- 子组件使用 memo 优化,主组件使用 useCallback/useMemo
- 清理冗余:移除未使用的 tipIcon、重复的 focus 样式
- 更新调用方移除 isDarkMode prop

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 13:23:28 +08:00
zdl
70fdad9751 feat(Auth): 微信扫码登录二维码自动获取与轮询控制优化
- WechatRegister: 使用 forwardRef + useImperativeHandle 暴露方法
- 自动获取二维码:打开弹窗、切换到微信Tab时自动获取
- 轮询控制:切换到手机登录时停止轮询并重置状态
- 修复闭包陷阱:使用 isLoadingRef 替代 isLoading 状态判断
- 新增 iframe 加载状态反馈和 2 分钟过期预警提示

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 18:05:09 +08:00
zdl
97c10bf2cc style(Auth): 登录弹窗改为 Tab 切换布局
- 改为单列布局 (450px),右上角折角图标切换微信/手机登录
- 微信登录: 显示二维码图标,切换到手机显示手机图标
- 验证码登录: 添加内容区标题和副标题
- 关闭按钮移除,点击蒙层关闭弹窗
- 验证码倒计时按钮颜色改为金色
- 调整表单区域间距:上方紧凑,下方留白

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 17:35:55 +08:00
zdl
0d05b69601 Merge branch 'feature_bugfix/251217_stock' into feature_2025/251229_stocks
* feature_bugfix/251217_stock:
  style(Auth): 登录弹窗改为黑金主题
  style: 统一个人中心按钮与投资日历按钮样式
2025-12-30 16:55:26 +08:00
zdl
1e4924e34d style(Auth): 登录弹窗改为黑金主题
- AuthModalManager: 使用 Ant Design Modal styles 属性设置黑金背景
- AuthFormContent: 表单组件使用内联样式实现黑金主题
- AuthHeader: 标题使用金色渐变效果
- VerificationCodeInput: 输入框和按钮黑金样式
- WechatRegister: 微信登录区域黑金样式
- AuthModal.less: 添加 placeholder 样式确保深色背景可见

主题色彩:
- 主金色: #D4AF37
- 背景渐变: #1A1A2E → #16213e → #0F0F1A
- 输入框背景: rgba(26, 26, 46, 0.8)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 16:46:04 +08:00
zdl
ddace54a9d style: 统一个人中心按钮与投资日历按钮样式
- MenuButton 改为 colorScheme="blue" + variant="solid" + borderRadius="full"
- 移除未使用的 useColorModeValue 和 hoverBg 变量

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 15:59:58 +08:00
zdl
eaf11713e8 refactor(StockOverview): 优化布局与数据展示
- 头部统计卡片从 4 列精简为 3 列,移除冗余下跌家数
- 涨跌家数改为"多空对比"卡片,双色数值 + 进度条
- 各卡片新增环比趋势指示(放量/缩量等)
- 日期选择器移至 HotspotOverview 头部右侧
- 大盘分时图调整至统计卡片上方
- 异动标签支持点击筛选

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 15:55:53 +08:00
zdl
91d89fb958 feat(mock): 市场统计 API 增加昨日对比数据
- /api/market/statistics 返回 yesterday 字段
- 包含昨日市值、成交额、涨跌家数
- 支持前端计算环比变化率

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 15:55:35 +08:00
zdl
9deb9ff350 feat(StatCard): 新增趋势指示器和多空进度条组件
- 新增 TrendIndicator 组件显示环比变化(箭头+百分比+标签)
- 新增 BullBearBar 组件显示红绿进度条
- 新增 WatermarkIcon 组件支持卡片水印背景
- 支持双色数值显示(如 121/79 红绿分色)
- StatCard 根据配置自动渲染趋势和进度条

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 15:55:18 +08:00
zdl
d549eaaf9f feat(HeroSection): 新增趋势指示器、进度条、水印图标类型定义
- 添加 TrendDirection、TrendInfo 类型支持环比/同比变化展示
- 添加 ProgressBarConfig 类型支持多空对比进度条
- 添加 WatermarkIconConfig 类型支持卡片水印背景图标
- HeroStatItem 扩展 trend、progressBar、watermark 可选属性
- index.tsx 导出新增类型

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 15:55:01 +08:00