Commit Graph

360 Commits

Author SHA1 Message Date
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
39c6eacb58 update pay ui 2025-12-12 14:04:11 +08:00
2a4e2a41ec update pay ui 2025-12-12 13:38:54 +08:00
435692ce0f update pay ui 2025-12-12 13:34:37 +08:00
d7193c3a63 update pay ui 2025-12-12 13:30:55 +08:00
zdl
7c7c70c4d9 style: 移除 Tab 导航和卡片内部左右 padding
- TabNavigation/SubTabContainer: 移除左侧 padding (pl=0)
- BusinessStructureCard/BusinessSegmentsCard: 移除 CardBody 左右 padding
- BusinessTreeItem: 黑金主题样式优化

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-12 13:13:34 +08:00
4b3ee81341 update pay ui 2025-12-12 12:38:43 +08:00
zdl
e049429b09 perf: Tab 容器组件优化
- TabPanelContainer: Loading 颜色改为金色 #D4AF37,与黑金主题一致
- SubTabContainer: 添加 memo 和 displayName
- 子 Tab 组件: StrategyTab/BusinessTab/ValueChainTab/DevelopmentTab 添加 memo 和 displayName
- TabContainer: 移除未使用的 showDivider 参数

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-12 12:02:15 +08:00
zdl
b8cd520014 refactor: 抽取通用 Tab 容器组件,重构 BasicInfoTab 和 DeepAnalysisTab
新增组件:
- TabPanelContainer: 三级容器,统一 loading 状态 + VStack 布局 + 免责声明
- SubTabContainer: 二级导航容器,支持黑金/默认主题预设

重构:
- BasicInfoTab: 使用 SubTabContainer 替代原有 Tabs 实现
- DeepAnalysisTab: 拆分为 4 个子 Tab(战略分析/业务结构/产业链/发展历程)
- TabContainer: 样式调整,与 SubTabContainer 保持一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-12 11:55:50 +08:00
f96a333cae update pay ui 2025-12-12 10:56:18 +08:00
eb961d83f1 update pay ui 2025-12-12 00:02:55 +08:00
zdl
a47e0feed8 refactor(TabContainer): 抽取通用 Tab 容器组件
- 新增 src/components/TabContainer/ 通用组件
  - 支持受控/非受控模式
  - 支持多种主题预设(blackGold、default、dark、light)
  - 支持自定义主题颜色和样式配置
  - 使用 TypeScript 实现,类型完整
- 重构 CompanyTabs 使用通用 TabContainer
- 删除 CompanyTabs/TabNavigation.js(逻辑迁移到通用组件)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 16:59:17 +08:00
f545c9ec15 update pay ui 2025-12-10 17:55:12 +08:00
b838777a42 update pay ui 2025-12-10 14:49:37 +08:00
zdl
722d038b56 Merge branch 'feature_bugfix/251201_py_h5_ui' into feature_2025/251209_stock_pref
* feature_bugfix/251201_py_h5_ui:
  feat: Company 页面搜索框添加股票模糊搜索功能
  update pay ui
  update pay ui
  fix: 个股中心bug修复
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  update pay ui
  feat: 替换公众号文件
  update pay ui
2025-12-10 14:30:25 +08:00
zdl
a01532ce65 Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_bugfix/251201_py_h5_ui
* feature_bugfix/251201_vf_h5_ui:
  feat: Company 页面搜索框添加股票模糊搜索功能
  fix: 个股中心bug修复
2025-12-10 14:26:36 +08:00
4fd1a24db4 update pay ui 2025-12-10 14:12:11 +08:00
3cb9b4237b update pay ui 2025-12-10 14:01:38 +08:00
zdl
7c00763999 fix: 个股中心bug修复 2025-12-10 13:29:08 +08:00
zdl
3382dd1036 feat: UI调整 2025-12-10 10:09:24 +08:00
zdl
c1e10e6205 Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_2025/251209_stock_pref
* feature_bugfix/251201_vf_h5_ui:
  feat: 事件关注功能优化 - Redux 乐观更新 + Mock 数据状态同步
  feat: 投资日历自选股功能优化 - Redux 集成 + 乐观更新
  fix: 修复投资日历切换月份时自动打开事件弹窗的问题
  fix: 修复 CompanyOverview 中 Hooks 顺序错误
2025-12-09 16:36:46 +08:00
zdl
726d808f5c feat: 投资日历自选股功能优化 - Redux 集成 + 乐观更新
- InvestmentCalendar: 集成 Redux 管理自选股状态
- InvestmentCalendar: 添加 isStockInWatchlist 检查,防止重复添加
- InvestmentCalendar: 按钮状态实时切换(加自选/已关注)
- stockSlice: 实现乐观更新,pending 时立即更新 UI
- stockSlice: rejected 时自动回滚状态并提示错误
- 移除不必要的 loading 状态,提升用户体验

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 16:11:40 +08:00
zdl
0e862d82a0 fix: 修复投资日历切换月份时自动打开事件弹窗的问题
- 利用 Ant Design Calendar onSelect 的 info.source 参数区分选择来源
- 只有点击日期单元格 (source='date') 时才打开弹窗
- 切换月份/年份时不再触发弹窗

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 15:36:17 +08:00
zdl
258708fca0 fix: bug修复 2025-12-09 15:16:02 +08:00
zdl
15f5c445c5 refactor: Community 目录结构重组 + 修复导入路径 + 添加 Mock 数据
## 目录重构
- DynamicNewsCard/ → DynamicNews/(含 layouts/, hooks/ 子目录)
- EventCard 原子组件 → EventCard/atoms/
- EventDetailModal 独立目录化
- HotEvents 独立目录化(含 CSS)
- SearchFilters 独立目录化(CompactSearchBox, TradingTimeFilter)

## 导入路径修复
- EventCard/*.js: 统一使用 @constants/, @utils/, @components/ 别名
- atoms/*.js: 修复移动后的相对路径问题
- DynamicNewsCard.js: 更新 contexts, store, constants 导入
- EventHeaderInfo.js, CompactMetaBar.js: 修复 EventFollowButton 导入

## Mock Handler 添加
- /api/events/:eventId/expectation-score - 事件超预期得分
- /api/index/:indexCode/realtime - 指数实时行情

## 警告修复
- CitationMark.js: overlayInnerStyle → styles (Antd 5.x)
- CitedContent.js: 移除不支持的 jsx 属性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:16:43 +08:00
zdl
da2007386e refactor: 重构 StockDetailPanel 目录结构,清理未使用代码
- 将 MiniTimelineChart 和 useEventStocks 迁移到 src/components/Charts/Stock/
- 更新 DynamicNewsDetailPanel 和 StockListItem 的导入路径
- 删除未使用的 SearchBox.js 和 useSearchEvents.js(约 300 行)
- 建立统一的股票图表组件目录结构

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 09:57:54 +08:00
zdl
334a4b7e50 fix: 修复 Community 目录迁移后的导入路径错误
修复 7 处导入路径问题:
- EventHeaderInfo.js: StockChangeIndicators 和 EventFollowButton 路径
- klineDataCache.js: stockService 和 logger 路径别名
- EventDescriptionSection.js: professionalTheme 路径别名
- CollapsibleSection.js: professionalTheme 路径别名
- RelatedConceptsSection/index.js: logger 路径别名
- CompactMetaBar.js: EventFollowButton 路径
- EventDetailScrollPanel.js: DynamicNewsDetailPanel 路径

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 13:24:35 +08:00
zdl
ee33f7ffd7 refactor: 重构 Community 目录,将公共组件迁移到 src/components/
- 迁移 klineDataCache.js 到 src/utils/stock/(被 StockChart 使用)
- 迁移 InvestmentCalendar 到 src/components/InvestmentCalendar/(被 Navbar、Dashboard 使用)
- 迁移 DynamicNewsDetail 到 src/components/EventDetailPanel/(被 EventDetail 使用)
- 更新所有相关导入路径,使用路径别名
- 保持 Community 目录其余结构不变

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 12:09:24 +08:00