Commit Graph

89 Commits

Author SHA1 Message Date
b4791cbd4d update pay ui 2025-12-10 17:45:32 +08:00
zdl
b151400c65 feat: Company 页面搜索框支持拼音缩写搜索
- 新增 useStockSearch Hook,提取通用股票搜索能力
  - 支持代码、名称、拼音缩写模糊搜索
  - 内置 300ms 防抖,避免频繁 API 调用
  - 使用 useRef 存储回调,防止防抖函数重建
- Company/index.js 使用新 Hook 替换本地搜索
  - 搜索结果显示拼音缩写 (如 GZMT)
  - 搜索框宽度调整为 280px
- Mock handler 添加拼音缩写支持
  - 新增 PINYIN_MAP 字符映射表
  - 搜索逻辑支持拼音匹配和排序

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 15:45:30 +08:00
zdl
cf7376cc5a Merge branch 'feature_bugfix/251201_vf_h5_ui' into feature_bugfix/251201_py_h5_ui
* feature_bugfix/251201_vf_h5_ui:
  feat: 事件关注功能优化 - Redux 乐观更新 + Mock 数据状态同步
  feat: 投资日历自选股功能优化 - Redux 集成 + 乐观更新
  fix: 修复投资日历切换月份时自动打开事件弹窗的问题
  fix: 修复 CompanyOverview 中 Hooks 顺序错误
2025-12-09 16:36:04 +08:00
zdl
023684b8b7 feat: 事件关注功能优化 - Redux 乐观更新 + Mock 数据状态同步
1. communityDataSlice 添加事件关注乐观更新
   - pending: 立即切换 isFollowing 状态
   - rejected: 回滚到之前状态
   - fulfilled: 使用 API 返回的准确数据覆盖

2. Mock 数据添加内存状态管理
   - 新增 followedEventsSet 和 followedEventsMap 存储
   - toggleEventFollowStatus: 切换关注状态
   - isEventFollowed: 检查是否已关注
   - getFollowedEvents: 获取关注事件列表

3. Mock handlers 使用内存状态
   - follow handler: 使用 toggleEventFollowStatus
   - following handler: 使用 getFollowedEvents 动态返回
   - 事件详情: 返回正确的 is_following 状态

修复: 关注事件后导航栏"自选事件"列表不同步更新的问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 16:34:36 +08:00
b40ca0e23c update pay ui 2025-12-09 16:27:56 +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
c704b12bce feat: 添加mock数据 2025-12-09 11:34:07 +08:00
zdl
46ab71ae29 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
zdl
380b3189f5 feat: 修复数据结构访问 2025-12-05 17:29:32 +08:00
zdl
e8a9a6f180 refactor: 股票数据管理迁移到 Redux,新增类型化 Hooks
- stockSlice: 新增 loadAllStocks action(带缓存检查)
 - stockSlice: watchlist 结构升级为 { stock_code, stock_name }[]
 - store/hooks.ts: 新增 useAppDispatch, useAppSelector 类型化 hooks
 - stockService: 移除 getAllStocks(已迁移到 Redux)
 - mock: 股票搜索支持模糊匹配 + 相关性排序
2025-12-05 17:21:36 +08:00
zdl
5358303db0 feat: 添加mock数据 2025-12-05 15:28:15 +08:00
zdl
6b2d883de8 feat: 添加"我的计划"和"我的复盘"的 mock 数据 2025-12-05 15:00:24 +08:00
f8537606d4 update pay ui 2025-12-05 13:46:27 +08:00
zdl
863212f53f feat: 添加投资日历mock数据
投资日历提取计划列表卡片组件
2025-12-05 13:35:12 +08:00
48d9c76c5e update pay ui 2025-12-05 13:29:18 +08:00
zdl
1d5d06c567 fix: 调整事件详情页面 2025-12-04 19:01:35 +08:00
zdl
846ed816e5 feat: 田间mock数据 2025-12-04 16:51:07 +08:00
zdl
61ed1510c2 fix: 修复自选股添加失败 405 错误
- useWatchlist.js: 修正 API 路径从 /api/account/watchlist/add 改为 /api/account/watchlist
- account.js: 同步修改 mock handler 路径

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:40:35 +08:00
zdl
999fd9b0a3 feat: K线添加mock数据 2025-12-04 14:02:03 +08:00
zdl
8d3e92dfaf feat: 添加批量获取K线数据的 mock handler
- 新增 /api/stock/batch-kline POST 接口 mock
- 支持批量获取多只股票的分时图和日K线数据
- 修复事件详情页面相关股票的K线和分时图无数据问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 13:46:47 +08:00
zdl
f521b89c27 fix:修复添加自选股没反应 2025-12-04 12:20:27 +08:00
zdl
5dc480f5f4 feat: 个股添加个股列表弹窗 2025-12-04 11:51:21 +08:00
zdl
cdca889083 fix: 去除个股中心动画,添加mock数据 2025-12-03 17:28:23 +08:00
zdl
662d140439 feat: 添加mock数据 2025-12-03 15:56:24 +08:00
bd86ccce85 update pay ui 2025-12-02 12:01:59 +08:00
250d585b87 update pay function 2025-11-28 16:08:31 +08:00
8cf2850660 update pay function 2025-11-28 15:32:03 +08:00
9b7a221315 update pay function 2025-11-28 14:49:16 +08:00
zdl
9df725b748 feat: 精简日志 2025-11-26 15:34:11 +08:00
zdl
037471d880 feat: 修复 Mock 路径从 h5-auth-url → h5-auth 2025-11-26 14:52:05 +08:00
zdl
3507cfe9f7 pref: 删除调试工具 2025-11-26 13:16:30 +08:00
zdl
7b4c4be7bf pref:点击手机登陆后日志优化 2025-11-26 11:43:16 +08:00
zdl
7a2c73f3ca :pref: 首屏优化 2025-11-26 11:30:12 +08:00
zdl
105a0b02ea fix:移除日志 2025-11-26 11:17:03 +08:00
zdl
1090a2fc67 feat: 客服接口mock添加 2025-11-26 10:55:18 +08:00
zdl
f8bb46ae64 feat: 添加mock 2025-11-24 16:53:37 +08:00
zdl
2f125a9207 feat: StockChartModal.tsx 替换 KLine 实现 2025-11-24 13:59:44 +08:00
zdl
9fd618c087 feat: 实现评论分页功能并迁移到 TypeScript
- 创建通用分页 Hook (usePagination.ts) 支持任意数据类型
- 将 EventCommentSection 迁移到 TypeScript (.tsx)
- 添加"加载更多"按钮,支持增量加载评论
- 创建分页和评论相关类型定义 (pagination.ts, comment.ts)
- 增加 Mock 评论数据从 5 条到 15 条,便于测试分页

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 17:27:12 +08:00
zdl
e23feb3c23 feat: 添加评论功能 2025-11-14 16:15:13 +08:00
zdl
033f29e90c feat: 处理mock数据 2025-11-07 20:05:14 +08:00
zdl
c5d6247f49 fix: 修复 MSW 接口和调试代码清理... 2025-11-06 01:17:06 +08:00
zdl
e617eddd46 feat: 添加mock数据 2025-11-05 17:49:15 +08:00
zdl
22186eb54a feat: 添加mock数据 2025-11-05 17:43:17 +08:00
zdl
623ec73c62 feat: 添加mock数据 2025-11-05 16:49:13 +08:00
zdl
7e781731c4 feat: mock数据添加 2025-11-05 15:20:59 +08:00
zdl
f9e4265dd6 feat: 配置完全mock环境 2025-11-05 15:00:11 +08:00
zdl
d95bd51206 feat: 导航栏关注事件弹窗增强显示信息
- 添加热度显示(🔥 图标 + 分数)
  - ≥80 红色,≥60 橙色,<60 灰色
- 添加关注数显示(👥 图标 + 人数)
- 保留原有涨跌幅显示(日均、周涨)
- mock 数据补充涨跌幅字段(related_avg_chg, related_max_chg, related_week_chg)
- 智能显示:字段存在时才显示对应 Badge
- 优化 Badge 间距和布局

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 11:05:32 +08:00
zdl
c7334191e5 feat: 调整mock数据 2025-11-04 20:17:56 +08:00
zdl
f17a8fbd87 feat: 实现 Redux 全局状态管理事件关注功能
本次提交实现了滚动列表和事件详情的关注按钮状态同步:

 Redux 状态管理
- communityDataSlice.js: 添加 eventFollowStatus state
- 新增 toggleEventFollow AsyncThunk(复用 EventList.js 逻辑)
- 新增 setEventFollowStatus reducer 和 selectEventFollowStatus selector

 组件集成
- DynamicNewsCard.js: 从 Redux 读取关注状态并传递给子组件
- EventScrollList.js: 接收并传递关注状态给事件卡片
- DynamicNewsDetailPanel.js: 移除本地 state,使用 Redux 状态

 Mock API 支持
- event.js: 添加 POST /api/events/:eventId/follow 处理器
- 返回 { is_following, follower_count } 模拟数据

 Bug 修复
- EventDetail/index.js: 添加 useRef 导入
- concept.js: 导出 generatePopularConcepts 函数
- event.js: 添加 /api/events/:eventId/concepts 处理器

功能:
- 点击滚动列表的关注按钮,详情面板的关注状态自动同步
- 点击详情面板的关注按钮,滚动列表的关注状态自动同步
- 关注人数实时更新
- 状态在整个应用中保持一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 17:40:09 +08:00
zdl
6a0a8e8e2b feat: 添加mock接口 2025-11-03 17:31:25 +08:00