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 |
|
|
|
1cf55a94c3
|
update watchlist
|
2025-12-16 15:03:35 +08:00 |
|
|
|
ae62108881
|
Merge branch 'feature_bugfix/251201_py_h5_ui' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251201_py_h5_ui
|
2025-12-16 14:48:46 +08:00 |
|
|
|
8727e4dbaf
|
update watchlist
|
2025-12-16 14:48:40 +08:00 |
|
zdl
|
c962b3a550
|
feat(Concept): 优化日期选择器布局和排序方式显示
日期选择器布局调整:
- TradeDatePicker 新增 showLatestTradeDateTip prop 控制是否显示最新日期提示
- 快捷按钮(今天/昨天/一周前/一月前)移到日期输入框后
- 「数据更新至」提示移到最右侧,样式更低调避免误认为按钮
排序方式条件显示:
- 排序方式下拉框仅在列表视图(viewMode='list')显示
- 其他视图(3D图/层级图)隐藏排序方式,视图切换按钮自动靠右
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-16 13:14:16 +08:00 |
|
|
|
710dc07582
|
update pay ui
|
2025-12-15 17:48:25 +08:00 |
|
zdl
|
293886b54a
|
feat(Navbar): 订阅提示文案可点击跳转
- "点击管理订阅"文字改为可点击链接,直接跳转订阅页面
- 文案简化:移除"头像"二字
- 链接样式:蓝色文字 + 悬停下划线
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 17:21:53 +08:00 |
|
zdl
|
f304268af9
|
fix(Navbar): 优化用户头像悬停交互和订阅信息显示
- 将 Tooltip 改为 Popover 组件,支持鼠标悬停到弹出内容上
- 用户现在可以正常悬停到"点击头像管理订阅"提示
- 订阅信息新增到期日期显示,用户无需自己计算到期时间
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 17:21:53 +08:00 |
|
zdl
|
7be35d7bb8
|
fix(StockChart): 图表组件使用 aspect-ratio 保持宽高比,统一弹窗大小
- KLineChartModal: 日K线图使用 aspectRatio 替代固定高度
- StockChartKLineModal: K线图高度改为响应式 min(400px, 60vh)
- TimelineChartModal: 分时图弹窗大小与日K线统一,maxWidth: 1400px
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 15:19:51 +08:00 |
|
zdl
|
a89489ba46
|
feat: 支持用户删除自己的评论
- CommentItem: 添加删除按钮(仅显示在自己的评论上)
- CommentItem: 添加删除确认对话框,防止误删
- CommentList: 传递 currentUserId 和 onDelete 到 CommentItem
- EventCommentSection: 添加 handleDeleteComment 处理函数
- mock handler: 使用真实登录用户信息创建评论
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 14:10:44 +08:00 |
|
zdl
|
e493ae5ad1
|
fix: 前端兼容 phone 字段可能为非字符串的情况
- 在所有显示 user.phone 的地方添加类型检查
- 使用 typeof user.phone === 'string' && user.phone 确保只有字符串才显示
- 修复微信登录后 phone 为对象时显示 [object Object] 的问题
涉及文件:
- TabletUserMenu.js
- MobileDrawer.js
- UserAvatar.js
- PersonalCenterMenu.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 14:10:44 +08:00 |
|
zdl
|
fcdf135bd8
|
fix: 修复微信内浏览器移动端检测问题
- isMobileDevice() 添加微信浏览器检测(micromessenger)
- 确保微信内浏览器使用 URL Scheme 跳转小程序
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 10:53:36 +08:00 |
|
zdl
|
2449619f43
|
feat: 微信内浏览器统一使用 URL Scheme 跳转小程序
- 移动端(包括微信内浏览器)统一使用明文 URL Scheme
- 简化跳转逻辑,无需 JS-SDK 签名配置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-15 10:15:12 +08:00 |
|
|
|
6910866b05
|
update pay ui
|
2025-12-14 15:02:38 +08:00 |
|
|
|
a2b734368b
|
update pay ui
|
2025-12-14 14:26:01 +08:00 |
|
|
|
da81c4f8aa
|
update pay ui
|
2025-12-14 14:16:37 +08:00 |
|
|
|
4ccd43f025
|
update pay ui
|
2025-12-13 16:30:50 +08:00 |
|
|
|
ed9d49da01
|
update pay ui
|
2025-12-13 15:44:31 +08:00 |
|
|
|
235cbf48a8
|
update pay ui
|
2025-12-13 11:38:19 +08:00 |
|
|
|
646bc25b4f
|
update pay ui
|
2025-12-13 10:46:00 +08:00 |
|
|
|
5e8c2400a3
|
update pay ui
|
2025-12-13 10:31:46 +08:00 |
|
zdl
|
cc33dd29eb
|
fix: 修复明文 URL Scheme path 编码问题
- path 参数不再进行 URL encode,微信要求原始路径格式
- 修复跳转微信后提示"当前页面无法访问"的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-12 19:20:45 +08:00 |
|
zdl
|
f990b0a142
|
feat: 小程序跳转改用明文 URL Scheme
- UrlSchemeLauncher: 使用明文 Scheme 格式,无需后端 API 生成
- HomePage: 修复 path 格式,去掉开头斜杠以匹配小程序后台配置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-12 19:06:21 +08:00 |
|
zdl
|
9f99ea7aee
|
feat: 添加 H5 跳转小程序功能
- 后端: 新增 JS-SDK 签名接口和 URL Scheme 生成接口
- 前端: 创建 MiniProgramLauncher 组件,支持环境自适应
- 微信内 H5: 使用 wx-open-launch-weapp 开放标签
- 外部浏览器: 使用 URL Scheme 拉起微信
- PC 端: 显示小程序码引导扫码
- 引入微信 JS-SDK (jweixin-1.6.0.js)
- 新增 miniprogramService 服务层封装 API 调用
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-12 16:56:04 +08:00 |
|