Commit Graph

346 Commits

Author SHA1 Message Date
1862e26baf update pay ui 2025-12-14 14:16:37 +08:00
fed393baa1 update pay ui 2025-12-13 16:30:50 +08:00
fb818d943b update pay ui 2025-12-13 15:44:31 +08:00
0bb8dd683f update pay ui 2025-12-13 11:38:19 +08:00
066fbba7b8 update pay ui 2025-12-13 10:46:00 +08:00
f75bafa0dd update pay ui 2025-12-13 10:31:46 +08:00
zdl
ada21a0206 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
9ba2b7d424 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
154bb76212 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
c858b89591 update pay ui 2025-12-12 14:04:11 +08:00
5d65e3989b update pay ui 2025-12-12 13:38:54 +08:00
4fa519a207 update pay ui 2025-12-12 13:34:37 +08:00
0d1343f330 update pay ui 2025-12-12 13:30:55 +08:00
zdl
eb144ce992 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
9f96c0c502 update pay ui 2025-12-12 12:38:43 +08:00
zdl
5e4aa67df7 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
155a921113 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
8171136103 update pay ui 2025-12-12 10:56:18 +08:00
830a0ba233 update pay ui 2025-12-12 00:02:55 +08:00
zdl
f3f711cbcf 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
6221b17a0f update pay ui 2025-12-10 17:55:12 +08:00
7ee7a4fefe update pay ui 2025-12-10 14:49:37 +08:00
zdl
32c0909627 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
3fdf94386b 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
bd09d2986f update pay ui 2025-12-10 14:12:11 +08:00
0da543b13d update pay ui 2025-12-10 14:01:38 +08:00
zdl
46818b733c fix: 个股中心bug修复 2025-12-10 13:29:08 +08:00
zdl
5f00e503aa feat: UI调整 2025-12-10 10:09:24 +08:00
zdl
6395bed162 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
b06b6ebc58 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
4ce30b6934 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
f064b982e8 fix: bug修复 2025-12-09 15:16:02 +08:00
zdl
44fcef5eae 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
b5a1514532 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
0f89dd16f7 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
2c4f01a4b5 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
zdl
1395b60e41 Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_bugfix/251201_py_h5_ui
* feature_bugfix/251201_vf_h5_ui:
  feat: 恢复行业字段修改
  feat: bug修复
2025-12-05 18:53:55 +08:00
zdl
0f83c472b9 feat: bug修复 2025-12-05 18:41:45 +08:00
zdl
c3484d1fcc Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_bugfix/251201_py_h5_ui
* feature_bugfix/251201_vf_h5_ui: (31 commits)
  fix: CompactSearchBox 股票选择和行业筛选优化
  fix: stocks 字段支持对象格式 {code, name}
  refactor: EventDetailCard 重命名为 EventCard,支持多变体模式
  fix: UI调试
  fix: 修复 key 重复
  feat: 修复数据结构访问
  refactor: EventFormModal 从 Chakra UI 迁移到 Ant Design
  fix: 适配 watchlist 新数据结构
  refactor: 股票数据管理迁移到 Redux,新增类型化 Hooks
  fix: 修复ts报错
  feat: 添加mock数据
  style: EventFormModal 和 InvestmentCalendar H5 响应式适配
  style: EventFormModal 和 InvestmentCalendar H5 响应式适配
  fix: 补充 investment.ts 类型定义变更(df90fc2 遗漏)
  feat: h5隐藏日历视图
  perf: EventPanel 性能优化,EventDetailCard H5适配,清理冗余类型
  refactor: CalendarPanel 性能优化,统一弹窗状态管理
  feat: 添加"我的计划"和"我的复盘"的 mock 数据
  refactor: CalendarPanel 性能优化,统一弹窗状态管理
  feat: 新增 EventDetailModal 和 EventEmptyState 组件 用于展示某一天的所有投资事件
  ...
2025-12-05 18:29:05 +08:00
d54478ebe9 update pay ui 2025-12-05 15:55:32 +08:00
zdl
fdf1ee5f2e fix: 修复ts报错 2025-12-05 15:38:42 +08:00
2f580418e7 update pay ui 2025-12-05 15:26:45 +08:00
zdl
fa6b7edae9 pref: ErrorPage 功能增强
ErrorPage 新增功能:
 - 浮动动画效果 (keyframes)
 - 可配置错误原因列表 (reasons prop)
 - 技术详情折叠面板 (techDetails prop)
 - 可选搜索功能 (search prop)
 - 更丰富的导航选项
2025-12-05 14:34:03 +08:00
zdl
20f65600c7 refactor: 提取 K 线图弹窗共享类型到 types.ts
- 新建 types.ts 存放 StockInfo 接口和图表常量
- KLineChartModal.tsx: 移除内联 StockInfo 定义,改为从 types 导入
- TimelineChartModal.tsx: 移除内联 StockInfo 定义,改为从 types 导入
- 减少代码重复,统一类型管理

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 11:55:13 +08:00
zdl
c2ec6b001f fix: 事件详情唔错页面UI调整 2025-12-04 19:45:21 +08:00
zdl
d5d213db8c feat: 事件详情页 URL ID 加密,防止用户遍历
- 新增 idEncoder.ts 工具:使用 Base64 + 前缀混淆加密 ID
- 路由改为查询参数形式:/event-detail?id=xxx
- 更新所有入口使用 getEventDetailUrl() 生成加密链接
- 兼容旧链接:纯数字 ID 仍可正常访问

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 18:26:01 +08:00
zdl
a56eed07fb feat: 个股中心复用 TradeDatePicker 日期选择器组件
- StockOverview: 替换 Popover 日期选择器为 TradeDatePicker
- StockOverview: 修复 selectedDate 类型从字符串改为 Date 对象
- StockOverview: 隐藏"最新交易日期"提示
- TradeDatePicker: 新增 minDate 属性支持日期范围限制
- 日期选择器可选范围限制为 tradingDays 数据范围

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 16:47:44 +08:00
zdl
d9b85ea94d feat: 提取日历选择器组件 2025-12-04 16:20:58 +08:00
zdl
5207b9f392 refactor: 提取 ConceptStocksModal 为通用组件,统一概念中心和个股中心弹窗
- 将 ConceptStocksModal 从 StockOverview/components 移到 components 目录
- 概念中心复用 ConceptStocksModal,删除冗余的 renderStockTable 函数(约100行)
- 统一 H5 端弹窗体验:响应式尺寸、高度限制(70vh)、左右滑动、垂直居中
- 移除重复的底部关闭按钮,只保留右上角关闭按钮
- 添加"板块原因"列,表头改为中文
- 使用 @components 路径别名

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 15:57:32 +08:00
zdl
102ba36c97 fix: 在 viewport meta 标签中添加了 viewport-fit=cover,这样浏览器会将页面内容延伸到曲面屏边缘,同时启用 safe-area-inset-* CSS 环境变量
在普通设备上保持至少 16px 的右侧内边距
在华为 MATE70 PRO 等曲面屏设备上,使用系统提供的安全区域值,避免右侧导航被遮挡
2025-12-04 14:53:17 +08:00