zdl
|
395dc27fe2
|
refactor: ShareholderPanel 拆分为子组件 + 黑金主题优化
- 新增 ActualControlCard 实际控制人卡片组件
- 新增 ConcentrationCard 股权集中度卡片(含 ECharts 饼图)
- 新增 ShareholdersTable 合并表格(支持十大股东/十大流通股东)
- Mock 数据优化:股东名称改为真实格式
- Handler 修复:数组格式处理 + holding_ratio 百分比转换
- UI: 黑金主题统一、表格 hover 金色半透明
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 18:00:00 +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
|
a7ab87f7c4
|
feat: StockQuoteCard 顶部导航区视觉优化
- 股票名称字号放大至 26px,字重 800,突出显示
- 添加行业标签(金融 · 银行),Badge 边框样式
- 保留指数标签(沪深300、上证180)
- Mock 数据补充 industry、industry_l1、index_tags 字段
- 类型定义新增 industry、industryL1 可选字段
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 11:30:18 +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
|
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
|
2148d319ad
|
feat: 添加mock 数据
|
2025-12-09 15:08:15 +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 |
|