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
|
aac031f17c
|
feat: 添加mock数据
|
2025-12-09 11:34:07 +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 |
|
zdl
|
5f26ae0f77
|
feat: 修复数据结构访问
|
2025-12-05 17:29:32 +08:00 |
|
zdl
|
c681b511b4
|
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
|
cace21df71
|
feat: 添加mock数据
|
2025-12-05 15:28:15 +08:00 |
|
zdl
|
d3ff5c24da
|
feat: 添加"我的计划"和"我的复盘"的 mock 数据
|
2025-12-05 15:00:24 +08:00 |
|
|
|
c70ba52c29
|
update pay ui
|
2025-12-05 13:46:27 +08:00 |
|
zdl
|
b81efc9d27
|
feat: 添加投资日历mock数据
投资日历提取计划列表卡片组件
|
2025-12-05 13:35:12 +08:00 |
|
|
|
98e975e755
|
update pay ui
|
2025-12-05 13:29:18 +08:00 |
|
zdl
|
d3cf8687d8
|
fix: 调整事件详情页面
|
2025-12-04 19:01:35 +08:00 |
|
zdl
|
f1b1e7523d
|
feat: 田间mock数据
|
2025-12-04 16:51:07 +08:00 |
|
zdl
|
1225d332f7
|
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
|
69c1f66e57
|
feat: K线添加mock数据
|
2025-12-04 14:02:03 +08:00 |
|
zdl
|
bd0248cfb3
|
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
|
db0a49fb4a
|
fix:修复添加自选股没反应
|
2025-12-04 12:20:27 +08:00 |
|
zdl
|
0a2fff0ffc
|
feat: 个股添加个股列表弹窗
|
2025-12-04 11:51:21 +08:00 |
|
zdl
|
f4157d3e4f
|
fix: 去除个股中心动画,添加mock数据
|
2025-12-03 17:28:23 +08:00 |
|
zdl
|
b5126520cb
|
feat: 添加mock数据
|
2025-12-03 15:56:24 +08:00 |
|
|
|
e950075f96
|
update pay ui
|
2025-12-02 12:01:59 +08:00 |
|
|
|
fe07032b13
|
update pay function
|
2025-11-28 16:08:31 +08:00 |
|
|
|
ff966c5cbe
|
update pay function
|
2025-11-28 15:32:03 +08:00 |
|
|
|
17a76d3f7f
|
update pay function
|
2025-11-28 14:49:16 +08:00 |
|
zdl
|
cdbc2b04b5
|
feat: 精简日志
|
2025-11-26 15:34:11 +08:00 |
|
zdl
|
73ed44037b
|
feat: 修复 Mock 路径从 h5-auth-url → h5-auth
|
2025-11-26 14:52:05 +08:00 |
|
zdl
|
3e8f0d9866
|
pref: 删除调试工具
|
2025-11-26 13:16:30 +08:00 |
|
zdl
|
00d718ddba
|
pref:点击手机登陆后日志优化
|
2025-11-26 11:43:16 +08:00 |
|
zdl
|
be8f563d1d
|
:pref: 首屏优化
|
2025-11-26 11:30:12 +08:00 |
|
zdl
|
087defc84e
|
fix:移除日志
|
2025-11-26 11:17:03 +08:00 |
|
zdl
|
ab6b0e983b
|
feat: 客服接口mock添加
|
2025-11-26 10:55:18 +08:00 |
|
zdl
|
8c0a8e36d3
|
feat: 添加mock
|
2025-11-24 16:53:37 +08:00 |
|
zdl
|
c486bf1f43
|
feat: StockChartModal.tsx 替换 KLine 实现
|
2025-11-24 13:59:44 +08:00 |
|
zdl
|
79308cec48
|
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
|
f44c5d37ed
|
feat: 添加评论功能
|
2025-11-14 16:15:13 +08:00 |
|
zdl
|
a3e7301074
|
feat: 处理mock数据
|
2025-11-07 20:05:14 +08:00 |
|
zdl
|
c6de3671cc
|
fix: 修复 MSW 接口和调试代码清理...
|
2025-11-06 01:17:06 +08:00 |
|
zdl
|
cb5258b480
|
feat: 添加mock数据
|
2025-11-05 17:49:15 +08:00 |
|
zdl
|
a8d865f0d6
|
feat: 添加mock数据
|
2025-11-05 17:43:17 +08:00 |
|
zdl
|
a37d70a6d4
|
feat: 添加mock数据
|
2025-11-05 16:49:13 +08:00 |
|
zdl
|
d6d2057998
|
feat: mock数据添加
|
2025-11-05 15:20:59 +08:00 |
|
zdl
|
07600fb437
|
feat: 配置完全mock环境
|
2025-11-05 15:00:11 +08:00 |
|
zdl
|
6c20f201da
|
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
|
3e34eb884d
|
feat: 调整mock数据
|
2025-11-04 20:17:56 +08:00 |
|
zdl
|
6872d7477f
|
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
|
2422e19eed
|
feat: 添加mock接口
|
2025-11-03 17:31:25 +08:00 |
|
zdl
|
ca28596c0c
|
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
|
293d84e065
|
feat本次提交包含的优化
✅ StockChangeIndicators 组件优化
- 调整 padding 使布局更紧凑
- 修复窄卡片中的折行问题
- 自动根据内容调整宽度
✅ 重要性等级视觉优化
- 统一使用红色系(S→A→B→C:从深红到浅红)
- 添加 badgeBg 字段支持新的角标样式
✅ DynamicNewsEventCard 卡片改版
- 左上角矩形角标显示重要性(镂空边框样式)
- 悬浮显示所有等级说明
- 标题限制两行显示
✅ Mock 数据完整性
- 添加缺失的 related_week_chg 字段
- 确保三个涨跌幅指标数据完整
|
2025-11-03 15:38:30 +08:00 |
|
zdl
|
b84eccb319
|
fix: 修改相关概念组件以匹配真实API数据结构
修改内容:
- SimpleConceptCard.js: 改用 concept.concept 和 concept.score 字段
- DetailedConceptCard.js: 改用 concept.concept、concept.score 和 concept.price_info.avg_change_pct
- RelatedConceptsSection/index.js: 导航时使用 concept.concept 字段
- events.js mock数据: 更新keywords生成函数,使用concept/score/price_info结构
数据结构变更:
- name → concept (概念名称)
- relevance (0-100) → score (0-1)
- avg_change_pct → price_info.avg_change_pct (嵌套结构)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 14:18:17 +08:00 |
|
zdl
|
3b5caf8a01
|
feat: 实现实时要闻服务端分页功能
功能新增:
- 实时要闻组件支持服务端分页,每次切换页码重新请求数据
- 分页控制器组件,支持数字页码、上下翻页、快速跳转
- Mock 数据量从 100 条增加到 200 条,支持分页测试
技术实现:
1. Redux 状态管理(communityDataSlice.js)
- fetchDynamicNews 接收分页参数 { page, per_page }
- 返回数据结构调整为 { events, pagination }
- initialState 新增 dynamicNewsPagination 字段
- Reducer 分别存储 events 和 pagination 信息
- Selector 返回完整的 pagination 数据
2. 组件层(index.js → DynamicNewsCard → EventScrollList)
- Community/index.js: 获取并传递 pagination 信息
- DynamicNewsCard.js: 管理分页状态,触发服务端请求
- EventScrollList.js: 接收服务端 totalPages,渲染当前页数据
- 页码切换时自动选中第一个事件
3. 分页控制器(PaginationControl.js)
- 精简版设计:移除首页/末页按钮
- 上一页/下一页按钮,边界状态自动禁用
- 智能页码列表(最多5个,使用省略号)
- 输入框跳转功能,支持回车键
- Toast 提示非法输入
- 全部使用 xs 尺寸,紧凑布局
4. Mock 数据(events.js)
- 总事件数从 100 增加到 200 条
- 支持服务端分页测试(40 页 × 5 条/页)
分页流程:
1. 初始加载:请求 page=1, per_page=5
2. 切换页码:dispatch(fetchDynamicNews({ page: 2, per_page: 5 }))
3. 后端返回:{ events: [5条], pagination: { page, total, total_pages } }
4. 前端更新:显示新页面数据,更新分页控制器状态
UI 优化:
- 紧凑的分页控制器布局
- 移除冗余元素(首页/末页/总页数提示)
- xs 尺寸按钮,减少视觉负担
- 保留核心功能(翻页、页码、跳转)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 12:38:25 +08:00 |
|
zdl
|
0eeb6a8f21
|
feat: 提交历史事件对比组件
|
2025-11-02 16:37:46 +08:00 |
|