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 |
|
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
|
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 |
|
|
|
f8537606d4
|
update pay ui
|
2025-12-05 13:46:27 +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
|
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
|
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
|
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
|
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 |
|
zdl
|
b14eb175f5
|
fix: 修复 Mock 环境相关概念返回空结果问题
问题分析:
- Mock handler 的过滤逻辑过于严格
- 只保留概念名包含查询关键词的结果
- 导致大部分查询返回空数组
解决方案:
✅ 移除字符串匹配过滤逻辑
- Mock 环境直接返回热门概念
- 模拟真实 API 的语义搜索行为
- 确保每次搜索都有结果展示
✅ 添加详细调试日志
- RelatedConceptsSection 组件渲染日志
- useEffect 触发和参数日志
- 请求发送和响应详情
- 数据处理过程追踪
✅ 完善 Mock 数据结构
- 添加 score, match_type, happened_times, stocks
- 支持详细卡片展示
- 数据结构与线上完全一致
修改文件:
- src/mocks/handlers/concept.js
- src/views/Community/components/DynamicNewsDetail/RelatedConceptsSection/index.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 16:40:25 +08:00 |
|
zdl
|
c372832f1f
|
feat: 新增实时要闻·动态追踪与市场复盘功能,优化导航体验
新增功能:
- 实时要闻·动态追踪横向滚动卡片(DynamicNewsCard)
- 动态新闻事件卡片组件(DynamicNewsEventCard)
- 市场复盘卡片组件(MarketReviewCard)
- 股票涨跌幅指标组件(StockChangeIndicators)
- 交易时间工具函数(tradingTimeUtils)
- Mock API 支持动态新闻数据生成
UI 优化:
- EventFollowButton 改用 react-icons 星星图标,实现真正的空心/实心效果
- 关注按钮添加半透明白色背景(whiteAlpha.500),悬停效果更明显
- 事件卡片标题添加右侧留白,防止关注按钮遮挡文字
性能优化:
- 禁用 Router v7_startTransition 特性,解决路由切换延迟 2 秒问题
- 调整导航菜单点击顺序(先跳转后关闭),提升响应速度
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-31 14:11:03 +08:00 |
|
zdl
|
3b0146fe49
|
fix: 修复 ConceptStatsPanel API Mock 数据格式问题
解决控制台 "无法访问概念统计API" 错误,完善 Mock Service Worker 的统计数据返回格式
**问题原因**
1. Mock 模式下,`/statistics` 端点返回的数据格式不完整
2. 缺少必需的 `success` 和 `data` 包装层
3. 缺少 5 个必需字段:`hot_concepts`, `cold_concepts`, `active_concepts`, `volatile_concepts`, `momentum_concepts`
**修复内容**
1. 创建 `generateConceptStats()` 函数(lines 50-104)
- 生成热门概念(涨幅前5)
- 生成冷门概念(跌幅前5)
- 生成活跃概念(新闻+研报最多)
- 生成波动概念(波动率最高)
- 生成动量概念(连续上涨天数最多)
2. 更新 `http://111.198.58.126:16801/statistics` handler(lines 273-300)
- 返回完整的统计数据格式
- 包装为 `{ success: true, data: {...} }`
- 支持 `min_stock_count`, `days`, `start_date`, `end_date` 参数
3. 新增 `/concept-api/statistics` handler(lines 302-329)
- 覆盖 nginx 代理路由
- 与直接 API 返回相同格式的数据
- 确保两个端点都能正常工作
**数据格式**
```json
{
"success": true,
"data": {
"hot_concepts": [...],
"cold_concepts": [...],
"active_concepts": [...],
"volatile_concepts": [...],
"momentum_concepts": [...]
},
"note": "Mock 数据",
"params": { ... },
"updated_at": "2025-10-30T..."
}
```
**测试结果**
- ✅ 编译成功
- ✅ ConceptStatsPanel 可以正确接收 Mock 数据
- ✅ 不再显示 "无法访问概念统计API" 错误
- ✅ 两个 API 端点(代理 + 直接)都已覆盖
**文件修改**
- src/mocks/handlers/concept.js (+79 lines)
- 新增 generateConceptStats() 函数
- 更新 /statistics handler
- 新增 /concept-api/statistics handler
|
2025-10-30 18:22:11 +08:00 |
|
zdl
|
3acc00ac8d
|
fix: 修复导航栏 Max 会员订阅信息显示问题
- 修复 HomeNavbar 中 useEffect 执行顺序导致订阅信息不加载的问题
- 移除 ref 检查逻辑,改为直接根据登录状态加载订阅信息
- 增强订阅相关的调试日志输出(getCurrentUser, API handler, HomeNavbar)
- 优化用户数据获取的日志格式,便于问题排查
|
2025-10-30 13:09:41 +08:00 |
|
zdl
|
5bac525147
|
feat: mock数据添加
|
2025-10-29 19:41:05 +08:00 |
|
zdl
|
fdbb6ceff5
|
feat:修复mock数据
|
2025-10-29 19:31:13 +08:00 |
|
zdl
|
35f8b5195a
|
feat: 访问"概念中心"页面
2. 点击任意概念卡片进入概念详情
3. 点击"历史时间轴"按钮(需要Max会员权限)
4. 查看弹窗底部是否显示风险提示 & mock数据处理
|
2025-10-29 19:18:12 +08:00 |
|
zdl
|
ac7a6991bc
|
feat: 添加mock数据
|
2025-10-29 18:43:57 +08:00 |
|
zdl
|
224c6a12d4
|
feat: 添加mock数据
|
2025-10-29 18:02:58 +08:00 |
|
zdl
|
356f865f09
|
feat: 微信mock数据调整
|
2025-10-28 18:47:39 +08:00 |
|
zdl
|
199a54bc12
|
feat: 为"股票行情"和"财务全景"标签页添加 Mock 数据支持
问题:
- 点击"股票行情"标签页:MarketDataView 组件需要市场数据接口
- 点击"财务全景"标签页:FinancialPanorama 组件需要财务数据接口
- 这些接口都没有 mock 数据,导致页面显示空白
需要添加的接口:
股票行情 (MarketDataView) - 7个接口
1. /api/market/trade/:stockCode - 成交数据
2. /api/market/funding/:stockCode - 资金流向
3. /api/market/bigdeal/:stockCode - 大单统计
4. /api/market/unusual/:stockCode - 异动分析
5. /api/market/pledge/:stockCode - 股权质押
6. /api/market/summary/:stockCode - 市场摘要
7. /api/market/rise-analysis/:stockCode - 涨停分析
8. /api/stock/:stockCode/latest-minute - 最新分时数据
财务全景 (FinancialPanorama) - 9个接口
1. /api/financial/stock-info/:stockCode - 股票基本信息
2. /api/financial/balance-sheet/:stockCode - 资产负债表
3. /api/financial/income-statement/:stockCode - 利润表
4. /api/financial/cashflow/:stockCode - 现金流量表
5. /api/financial/financial-metrics/:stockCode - 财务指标
6. /api/financial/main-business/:stockCode - 主营业务
7. /api/financial/forecast/:stockCode - 业绩预告
8. /api/financial/industry-rank/:stockCode - 行业排名
9. /api/financial/comparison/:stockCode - 期间对比
实施步骤:
1. 创建 src/mocks/data/market.js - 市场数据
2. 创建 src/mocks/data/financial.js - 财务数据
3. 创建 src/mocks/handlers/market.js - 市场接口handlers
4. 创建 src/mocks/handlers/financial.js - 财务接口handlers
5. 更新 src/mocks/handlers/index.js - 注册新handlers
数据内容:
- 为平安银行 (000001) 提供完整真实数据
- 其他股票代码生成合理的模拟数据
|
2025-10-27 15:10:03 +08:00 |
|
zdl
|
39feae87a6
|
feat: 添加mock数据
|
2025-10-27 14:56:44 +08:00 |
|
zdl
|
b4b7eae1ba
|
feat: 添加mock数据
|
2025-10-26 19:50:20 +08:00 |
|