zdl
|
f5dbdfa84c
|
refactor(layout): 统一页面边距管理,移除 Container 限制
- layoutConfig.js: 新增 LAYOUT_PADDING 常量 { base: 4, md: 6, lg: '80px' }
- MainLayout.js: 在 Outlet 容器上统一应用 px={LAYOUT_PADDING.x}
- HomeNavbar.js: 边距从 lg:8 改为 lg:'80px',与内容区对齐
- AppFooter.js: 移除 Container,边距改为 lg:'80px'
页面组件清理(移除冗余的 px/Container):
- Company, Community, Center, Profile, Settings
- ValueForum, DataBrowser, LimitAnalyse, StockOverview, Concept
特殊处理:
- CompanyHeader: 使用负边距实现全宽背景
- Concept Hero: 使用负边距实现全宽背景
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-24 18:34:42 +08:00 |
|
zdl
|
ef7f266e72
|
chore: 移除 visx 图表库依赖
- 删除 src/components/VisxPieChart/ 组件(无引用)
- 清理 DataVisualizationComponents.js 中的 visx 词云实现
- 词云功能统一使用 ECharts 实现
- 卸载 @visx/visx、@visx/responsive 等相关包(共 72 个)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-24 18:34:42 +08:00 |
|
zdl
|
9aee864017
|
chore: 删除未使用的 K 线图组件文件
- 删除 StockChartKLineModal.tsx(未被任何组件引用)
- 删除 StockChartModal.js.backup(备份文件)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-24 18:34:42 +08:00 |
|
zdl
|
c529626ce2
|
fix: 会员过期时跳过 API 请求 & 限制 STOMP WebSocket 重连次数
- DynamicNewsDetailPanel: 添加会员过期判断,过期时显示续费提示
- RelatedConceptsSection: 会员过期时跳过概念 API 请求
- TransmissionChainAnalysis: 会员过期时跳过传导链 API 请求
- BytedeskWidget: 限制 STOMP WebSocket 最多重连 3 次,屏蔽相关日志
|
2025-12-24 18:34:41 +08:00 |
|
zdl
|
292d3a007a
|
refactor(TradingSimulation): 迁移 ApexCharts 图表到 ECharts
图表组件迁移:
- AssetTrendChart: 资产走势折线图 → ECharts 面积图
- AssetAllocationChart: 资产配置环形图 → ECharts 饼图
- PositionDistributionChart: 持仓分布饼图 → ECharts 饼图
- ProfitAnalysisChart: 盈亏分析柱状图 → ECharts 柱状图
删除的 ApexCharts 组件:
- src/components/Charts/LineChart.js
- src/components/Charts/BarChart.js
- src/components/Charts/PieChart.js
- src/components/Charts/DonutChart.js
技术改进:
- 统一使用 ECharts 作为通用图表库
- 新组件使用 TypeScript,类型安全
- 为后续移除 apexcharts 依赖做准备
|
2025-12-24 12:06:26 +08:00 |
|
zdl
|
a27065e613
|
feat: 删除旧文件
|
2025-12-24 11:49:24 +08:00 |
|
zdl
|
12fc63bef9
|
chore: 删除未使用的 ApexCharts 模板组件和演示页面
删除的组件:
- src/components/Charts/BubbleChart.js
- src/components/Charts/LineBarChart.js
- src/components/Charts/PolarChart.js
- src/components/Charts/RadarChart.js
删除的模板演示页面:
- src/views/Pages/Charts.js
- src/views/Pages/Projects/General.js
- src/views/Pages/RTLPage.js
这些文件来自 Argon Dashboard Chakra PRO 模板,从未被路由引用或使用
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-24 11:28:11 +08:00 |
|
zdl
|
9156da410d
|
feat(WatchSidebar): 面板 UI 优化,添加日均周涨展示
- WatchlistPanel: 添加 hideTitle 支持,新增日均/周涨 Badge 展示
- FollowingEventsPanel: 添加 hideTitle 支持,兼容 related_avg_chg 字段
- FollowingEventsMenu: 使用 FavoriteButton 替代文字按钮
- 统一卡片样式,与关注事件面板保持一致
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 20:17:57 +08:00 |
|
zdl
|
073fba5c57
|
fix(GlobalSidebar): Popover 弹窗隐藏面板内部标题
- WatchlistPanel 和 FollowingEventsPanel 传入 hideTitle={true}
- 避免与 PopoverHeader 标题重复显示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 20:17:57 +08:00 |
|
zdl
|
b578504591
|
refactor(watchlist): 自选股数据源统一到 Redux
- stockSlice: 新增 loadWatchlistQuotes thunk 加载自选股行情
- useWatchlist: 改用 Redux selector 获取自选股数据
- WatchlistMenu: 使用 Redux 数据源,移除本地状态管理
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 20:17:57 +08:00 |
|
zdl
|
e0e1e7e444
|
Merge branch 'feature_bugfix/251217_stock' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251217_stock
* 'feature_bugfix/251217_stock' of https://git.valuefrontier.cn/vf/vf_react:
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
|
2025-12-23 17:46:45 +08:00 |
|
zdl
|
f1ae48bd42
|
fix(Layout): 全局布局优化与 Mock 数据增强
|
2025-12-23 17:45:19 +08:00 |
|
zdl
|
39fb70a1eb
|
feat(Calendar): 新增公共日历组件 BaseCalendar
|
2025-12-23 17:44:20 +08:00 |
|
zdl
|
068d59634b
|
chore: 清理废弃的组件和样式文件
|
2025-12-23 17:44:06 +08:00 |
|
zdl
|
2fe535e553
|
style(layout): 完善 Z-INDEX 层级管理,优化全局侧边栏样式
layoutConfig.js:
- 重构 Z_INDEX 常量,分层管理(页面内部 → 系统级)
- 添加详细注释说明各层级用途
- 新增 SIDEBAR、DROPDOWN、POPOVER 等层级定义
GlobalSidebar:
- 使用统一的 Z_INDEX.SIDEBAR 常量
- 优化背景色和边框样式
- 添加 h="100%" 确保高度填满
MainLayout:
- 简化注释
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 14:50:41 +08:00 |
|
zdl
|
92e6fb254b
|
feat(GlobalSidebar): 收起状态添加 Popover 悬浮弹窗
- 收起状态点击图标显示悬浮弹窗,无需展开侧边栏
- 添加关注股票、关注事件、热门板块三个 Popover 面板
- 展开状态添加独立标题栏 [>] 工具栏
- 移除收起按钮的 Tooltip 提示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 14:15:20 +08:00 |
|
zdl
|
5ca19d11a4
|
feat(components): 新增 GlobalSidebar 全局右侧工具栏
- 可收起/展开的侧边栏设计
- 收起状态显示图标菜单(股票数量、事件数量 Badge)
- 展开状态复用 WatchSidebar 组件
- 支持未登录状态提示
- 毛玻璃背景 + 金色主题装饰
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 11:55:19 +08:00 |
|
zdl
|
429737c111
|
chore(GlassCard): 添加 TypeScript 类型声明文件
- 定义 GlassCardProps 接口(variant, hoverable, glowing 等属性)
- 定义 GlassTheme 类型(colors, blur, glow 主题配置)
- 导出 GLASS_THEME 常量类型
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-23 10:51:38 +08:00 |
|
|
|
9750ab75ba
|
更新Company页面的UI为FUI风格
|
2025-12-23 10:48:33 +08:00 |
|
|
|
8a9e4f018a
|
Merge branch 'feature_bugfix/251217_stock' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251217_stock
|
2025-12-23 09:50:11 +08:00 |
|
|
|
a626c6c872
|
更新Company页面的UI为FUI风格
|
2025-12-23 09:50:04 +08:00 |
|
zdl
|
16c30b45b9
|
feat(GlassCard): 新增通用毛玻璃卡片组件
- 支持多种变体: default, elevated, subtle, transparent
- 支持悬停效果、发光效果、角落装饰
- 黑金配色主题,可全局复用
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-22 18:59:08 +08:00 |
|
|
|
a2a233bb0f
|
更新Company页面的UI为FUI风格
|
2025-12-22 13:24:39 +08:00 |
|
zdl
|
672e746a26
|
feat(SubTabContainer): 支持 Tab 激活状态和刷新机制
- SubTabContainer: 新增 isActive 和 activationKey props 传递给子组件
- SubTabContainer: 修复 Tab 切换时页面滚动位置跳转问题
- TabPanelContainer: 新增 skeleton prop 支持自定义骨架屏
🤖 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
|
11544909d3
|
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
|
08842b9097
|
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
|
6776e1d557
|
feat(SubTabContainer): 支持自定义 Suspense fallback
- SubTabConfig 添加 fallback 属性
- 财务全景/盈利预测配置骨架屏 fallback
- 解决点击 Tab 先显示 Spinner 再显示骨架屏的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 15:23:56 +08:00 |
|
zdl
|
92019ca92d
|
fix: 修复 Antd 和 React 废弃 API 警告
- AutoComplete/Select: dropdownStyle -> styles.popup.root
- AutoComplete/Select: popupClassName -> classNames.popup.root
- 移除 WebkitBackdropFilter(Chakra backdropFilter 自动处理)
- Table rowKey: 使用唯一标识符替代 index 参数
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 13:15:09 +08:00 |
|
zdl
|
958222e75f
|
refactor(StockQuoteCard): 组件拆分与 FUI 光效统一
- 新增 CardGlow 组件到 @components/FUI,支持多种颜色主题 (gold/cyan/purple)
- 拆分 StockQuoteCard 子组件:GlassSection、LoadingSkeleton
- 更新 KeyMetrics、MainForceInfo、SecondaryQuote 使用 DEEP_SPACE_THEME
- 主组件从 540 行精简到 321 行(减少 40%)
- 删除重复的 GlowDecorations,统一使用 FUI/CardGlow
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-19 11:29:28 +08:00 |
|
zdl
|
986ec05eb1
|
Merge branch 'feature_bugfix/251217_stock' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251217_stock
* 'feature_bugfix/251217_stock' of https://git.valuefrontier.cn/vf/vf_react:
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
更新Company页面的UI为FUI风格
|
2025-12-19 10:16:07 +08:00 |
|
|
|
0bb47e1710
|
更新Company页面的UI为FUI风格
|
2025-12-18 21:10:11 +08:00 |
|
|
|
1fa85639f4
|
更新Company页面的UI为FUI风格
|
2025-12-18 20:12:32 +08:00 |
|
|
|
4ac9b30bfb
|
更新Company页面的UI为FUI风格
|
2025-12-18 20:06:51 +08:00 |
|
zdl
|
2720946ccf
|
fix(types): 修复 ECharts 类型导出和组件类型冲突
- echarts.ts: 将 EChartsOption 改为 EChartsCoreOption 的类型别名
- FuiCorners: 移除 extends BoxProps,position 重命名为 corner
- KLineChartModal/TimelineChartModal/ConcentrationCard: 使用导入的 EChartsOption
- LoadingState: 新增骨架屏 variant 支持
- FinancialPanorama: 使用骨架屏加载状态
- useFinancialData/financialService: 优化数据获取逻辑
- Company/index: 简化组件结构
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 18:42:19 +08:00 |
|
zdl
|
5331bc64b4
|
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
|
50d59fd2ad
|
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 |
|
zdl
|
eaa65b2328
|
fix(SubTabContainer): 移除外层 Suspense,Tab 内容直接展示
- SubTabContainer 内部为每个 Tab 添加 Suspense fallback={null}
- 移除 Company/index.tsx 外层 Suspense 和 TabLoadingFallback
- 切换一级 Tab 时不再显示整体 loading,直接展示内容
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 18:23:16 +08:00 |
|
zdl
|
44ba2e24e8
|
fix(SubTabContainer): 保持 Tab 面板挂载状态,防止切换时状态丢失
- 添加 lazyBehavior="keepMounted" 属性
- 修复切换一级 Tab 后二级 Tab 状态被完全重置的问题
- 组件仍然懒加载,但首次渲染后保持挂载
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 18:09:36 +08:00 |
|
zdl
|
9b8983869c
|
style: 子 Tab 紧凑模式,移除多余边距
- SubTabContainer: 添加 compact 属性
- 移除 TabList 的 mx/mb 外边距
- 移除圆角和阴影
- 减小垂直内边距
- BasicInfoTab: 启用 compact 模式,移除 Card 包裹
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 17:54:56 +08:00 |
|
zdl
|
4b3588e8de
|
feat: 将 StockQuoteCard 提升到 Tab 容器上方 + 修复 TS 警告
功能变更:
- 将 StockQuoteCard 从 CompanyOverview 移至 Company/index.tsx
- 股票行情卡片现在在切换 Tab 时始终可见
TypeScript 警告修复:
- SubTabContainer: WebkitBackdropFilter 改用 sx 属性
- DetailTable: 重新定义 TableRowData 类型,支持 boolean 索引
- SubscriptionContentNew: 添加类型安全的 AGREEMENT_URLS 索引访问
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-18 17:25:21 +08:00 |
|
|
|
028869aa0c
|
更新Company页面的UI为FUI风格
|
2025-12-18 00:24:11 +08:00 |
|
|
|
3199e6764d
|
更新Company页面的UI为FUI风格
|
2025-12-18 00:05:55 +08:00 |
|
|
|
983d2575b2
|
更新Company页面的UI为FUI风格
|
2025-12-17 22:40:27 +08:00 |
|
|
|
0214052965
|
更新Company页面的UI为FUI风格
|
2025-12-17 22:30:18 +08:00 |
|
|
|
3adff89995
|
更新Company页面的UI为FUI风格
|
2025-12-17 22:22:44 +08:00 |
|
|
|
4eb8310038
|
更新Company页面的UI为FUI风格
|
2025-12-17 19:05:02 +08:00 |
|
zdl
|
a3a82794ca
|
Merge branch 'feature_2025/251209_stock_pref' into feature_bugfix/251217_stock
* feature_2025/251209_stock_pref: (133 commits)
chore(StockQuoteCard): 删除未使用的 mockData.ts
refactor(marketService): 移除 apiRequest 包装函数,统一使用 axios.get
docs(Company): 添加 API 接口清单到 STRUCTURE.md
refactor(Company): 提取共享的 useStockSearch Hook
fix(hooks): 添加 AbortController 解决竞态条件问题
fix(SubTabContainer): 修复 Tab 懒加载失效问题
chore(CompanyOverview): 移除未使用的 CompanyOverviewData 类型定义
fix(CompanyOverview): 修复 useBasicInfo 重复调用问题
refactor(Company): fetch 请求迁移至 axios
docs(Company): 更新 STRUCTURE.md 添加数据下沉优化记录
refactor(StockQuoteCard): 数据下沉优化,Props 从 11 个精简为 4 个
feat(StockQuoteCard): 新增内部数据获取 hooks
fix(MarketDataView): 添加缺失的 VStack 导入
fix(MarketDataView): loading 背景色改为深色与整体一致
refactor(Company): 统一所有 Tab 的 loading 状态组件
style(ForecastReport): 详细数据表格 UI 优化
style(ForecastReport): 盈利预测图表优化
fix(ValueChainCard): 视图切换按钮始终靠右显示
refactor(CompanyOverview): 优化多个面板显示逻辑
style(DetailTable): 简化布局,标题+表格无嵌套
...
|
2025-12-17 16:06:43 +08:00 |
|
zdl
|
7159e510a6
|
fix(SubTabContainer): 修复 Tab 懒加载失效问题
- 添加 visitedTabs 状态记录已访问的 Tab 索引
- Tab 切换时更新已访问集合
- TabPanels 中实现条件渲染:只渲染当前或已访问过的 Tab
修复前:tabs.map() 会创建所有组件实例,导致 Hook 立即执行
修复后:仅首次访问 Tab 时才渲染组件,真正实现懒加载
效果:初始加载从 N 个请求减少到 1 个请求
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 14:44:46 +08:00 |
|
zdl
|
4e9a942d66
|
feat: 订阅支付弹窗添加会员协议确认功能
- SubscriptionContentNew.tsx: 添加协议确认 Checkbox 和链接
- SubscriptionContent.js: 同步添加协议确认功能(旧版组件)
- 根据套餐类型动态显示 PRO/MAX 会员服务协议链接
- 未勾选协议时点击支付按钮显示 Toast 提示
- 切换套餐时自动重置协议勾选状态
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-17 13:52:35 +08:00 |
|
zdl
|
c34aa37731
|
feat(SubTabContainer): 新增 rightElement prop 支持自定义右侧内容
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 19:59:00 +08:00 |
|