Commit Graph

3852 Commits

Author SHA1 Message Date
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
zdl
1e511cb3f5 refactor(Concept): 迁移至 HeroSection 组件
- 使用通用 HeroSection 替换原有 Hero 区域代码
- 配置 purple 主题预设,统计区使用独立卡片样式
- 搜索框宽度设为 140%,支持回车和点击搜索
- 移除搜索按钮 loading 状态绑定,避免页面加载时显示 loading

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 11:11:39 +08:00
zdl
bc6d5fd222 refactor(StockOverview): 迁移至 HeroSection 组件
- 使用通用 HeroSection 替换原有 Hero 区域代码
- 配置 purple 主题预设和自定义金色渐变
- 统计区显示市值、成交额、上涨/下跌家数
- 搜索框支持下拉结果选择

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 11:11:32 +08:00
zdl
6c10d420a1 feat(HeroSection): 新增通用 Hero 模板组件
- 创建 HeroSection 组件系统,支持个股中心和概念中心复用
- 包含 HeroBackground(背景装饰)、HeroTitle(标题区)、HeroSearch(搜索区)、HeroStats(统计区)
- 支持主题预设(purple/gold/blue/cyan)和自定义主题颜色
- 搜索组件支持受控/非受控模式,回车/点击图标/点击按钮触发搜索
- 统计卡片支持带图标横排和独立卡片两种布局

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 11:11:24 +08:00
zdl
cc4ecf4c76 fix: 修复一级导航菜单展开时文字颜色消失问题
- 添加 getMenuButtonStyle 函数统一管理 MenuButton 样式
- 为所有 MenuButton 添加 _expanded 状态样式
- 菜单展开时保持浅色主题(背景 gray.100,文字 gray.700)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 10:24:47 +08:00
zdl
a929eabc7f fix: 修复导航栏深色模式残留问题
- HomeNavbar: 移除 useColorModeValue,直接使用浅色值
- BrandLogo: 移除 useColorModeValue,品牌文字使用 gray.800
- DesktopNav: 移除 useColorModeValue,菜单按钮使用 gray.700
- DesktopNav: 所有 MenuList 添加白色背景和浅色边框
- DesktopNav: 所有 MenuItem 添加统一的浅色主题样式

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 18:53:16 +08:00
zdl
e714dc1dff refactor: 移除深色模式支持,简化主题配置
- theme.js: 添加 config 配置强制使用浅色主题
- AppProviders.js: 移除冗余的 colorModeManager 配置
- 删除未使用的 Configurator 组件

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 18:11:41 +08:00
zdl
e9c9f1ba7c feat(FlexScreen): Mock 模式下使用本地 Mock 数据替代 WebSocket
- constants.ts: 添加 IS_MOCK_MODE 常量,Mock 模式下跳过 WebSocket 连接
- useRealtimeQuote.ts: Mock 模式下生成本地行情数据并每 3 秒模拟更新
- 解决 Mock 模式下 WebSocket 连接失败的报错问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-29 18:11:41 +08:00