zdl
|
f3e84934ae
|
feat: 修复数据获取bug
|
2025-10-27 17:21:31 +08:00 |
|
zdl
|
03c113fe1b
|
feat: 修复数据获取bug
|
2025-10-27 17:21:31 +08:00 |
|
zdl
|
31706c756c
|
feat: 访问 http://localhost:3000/admin/community:
1. 页面加载后应停留在顶部
2. 点击搜索框,页面应平滑滚动到"实时事件时间轴"区域
3. 再次点击搜索框不会重复滚动
|
2025-10-27 16:37:36 +08:00 |
|
zdl
|
0f3bc06716
|
feat: 访问 http://localhost:3000/admin/community:
1. 页面加载后应停留在顶部
2. 点击搜索框,页面应平滑滚动到"实时事件时间轴"区域
3. 再次点击搜索框不会重复滚动
|
2025-10-27 16:37:36 +08:00 |
|
zdl
|
f4b483fc25
|
feat: 热点事件UI调整
|
2025-10-27 15:59:13 +08:00 |
|
zdl
|
e568b5e05f
|
feat: 热点事件UI调整
|
2025-10-27 15:59:13 +08:00 |
|
|
|
bc70cd0ccd
|
update ip address to company's
|
2025-10-27 15:54:22 +08:00 |
|
|
|
c5aaaabf17
|
update ip address to company's
|
2025-10-27 15:54:22 +08:00 |
|
|
|
3e64f40ce3
|
update ip address to company's
|
2025-10-27 15:47:04 +08:00 |
|
|
|
9ede603c9f
|
update ip address to company's
|
2025-10-27 15:47:04 +08:00 |
|
zdl
|
0b8662d186
|
feat: 文案修改
|
2025-10-27 15:40:20 +08:00 |
|
zdl
|
629c63f4ee
|
feat: 文案修改
|
2025-10-27 15:40:20 +08:00 |
|
zdl
|
7404b2107f
|
feat: 事件中心去掉头图, 并且将热点区域提到首屏
|
2025-10-27 15:39:56 +08:00 |
|
zdl
|
d6bc2c7245
|
feat: 事件中心去掉头图, 并且将热点区域提到首屏
|
2025-10-27 15:39:56 +08:00 |
|
zdl
|
1ce7ffa093
|
feat: 添加mock数据
|
2025-10-27 15:39:06 +08:00 |
|
zdl
|
dc38199ae6
|
feat: 添加mock数据
|
2025-10-27 15:39:06 +08:00 |
|
zdl
|
02958bdc79
|
feat: 将事件中心的头部添加到首页
|
2025-10-27 15:31:22 +08:00 |
|
zdl
|
d93b5de319
|
feat: 将事件中心的头部添加到首页
|
2025-10-27 15:31:22 +08:00 |
|
zdl
|
7f186dbfa0
|
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
|
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
|
a04daabcb8
|
feat: 添加mock数据
|
2025-10-27 14:56:44 +08:00 |
|
zdl
|
39feae87a6
|
feat: 添加mock数据
|
2025-10-27 14:56:44 +08:00 |
|
zdl
|
af012ae8d0
|
feat:. mockSocketService 添加 connecting 状态
- 新增 connecting 标志防止重复连接
- 在 connect() 方法中检查 connected 和 connecting 状态
- 连接成功或失败后清除 connecting 标志\
2. NotificationContext 调整监听器注册顺序
- 在 useEffect 中重新排序初始化步骤
- 第一步:注册所有事件监听器(connect, disconnect, new_event 等)
- 第二步:获取最大重连次数
- 第三步:调用 socket.connect()
- 使用空依赖数组 [] 防止 React 严格模式重复执行\
3. logger 添加日志限流
- 实现 shouldLog() 函数,1秒内相同日志只输出一次
- 使用 Map 缓存最近日志,带最大缓存限制(100条)
- 应用到所有 logger 方法:info, warn, debug, api.request, api.response
- 错误日志(error, api.error)不做限流,始终输出\
修复 emit 时机确保事件被接收
- 在 mockSocketService 的 connect() 方法中
- 使用 setTimeout(0) 延迟 emit(connect) 调用
- 确保监听器注册完毕后再触发事件\
|
2025-10-27 13:13:56 +08:00 |
|
zdl
|
a9dc1191bf
|
feat:. mockSocketService 添加 connecting 状态
- 新增 connecting 标志防止重复连接
- 在 connect() 方法中检查 connected 和 connecting 状态
- 连接成功或失败后清除 connecting 标志\
2. NotificationContext 调整监听器注册顺序
- 在 useEffect 中重新排序初始化步骤
- 第一步:注册所有事件监听器(connect, disconnect, new_event 等)
- 第二步:获取最大重连次数
- 第三步:调用 socket.connect()
- 使用空依赖数组 [] 防止 React 严格模式重复执行\
3. logger 添加日志限流
- 实现 shouldLog() 函数,1秒内相同日志只输出一次
- 使用 Map 缓存最近日志,带最大缓存限制(100条)
- 应用到所有 logger 方法:info, warn, debug, api.request, api.response
- 错误日志(error, api.error)不做限流,始终输出\
修复 emit 时机确保事件被接收
- 在 mockSocketService 的 connect() 方法中
- 使用 setTimeout(0) 延迟 emit(connect) 调用
- 确保监听器注册完毕后再触发事件\
|
2025-10-27 13:13:56 +08:00 |
|
zdl
|
6cc0c31803
|
feat: 修复 UnifiedSearchBox 语法错误
|
2025-10-27 11:38:16 +08:00 |
|
zdl
|
227e1c9d15
|
feat: 修复 UnifiedSearchBox 语法错误
|
2025-10-27 11:38:16 +08:00 |
|
zdl
|
a487b1eb6b
|
feat: 日期标签删除重置内容
|
2025-10-27 10:51:19 +08:00 |
|
zdl
|
b5cdceb92b
|
feat: 日期标签删除重置内容
|
2025-10-27 10:51:19 +08:00 |
|
zdl
|
6a5bd944a8
|
feat: 调整时间中心搜索逻辑
|
2025-10-27 10:32:51 +08:00 |
|
zdl
|
aacbe5c31c
|
feat: 调整时间中心搜索逻辑
|
2025-10-27 10:32:51 +08:00 |
|
zdl
|
1dbe370e1a
|
feat: 事件列表添加最低高度
|
2025-10-27 00:12:09 +08:00 |
|
zdl
|
197c792219
|
feat: 事件列表添加最低高度
|
2025-10-27 00:12:09 +08:00 |
|
zdl
|
dc30fc0655
|
feat: 热门关键词取去掉loading态
|
2025-10-27 00:11:46 +08:00 |
|
zdl
|
794581e429
|
feat: 热门关键词取去掉loading态
|
2025-10-27 00:11:46 +08:00 |
|
zdl
|
0ffc6aa493
|
feat: 效果: │ │
│ │ │ │
│ │ 1. 用户进入社区页面 │ │
│ │ 2. 页面正常渲染 │ │
│ │ 3. 1秒后,页面平滑滚动到"实时事件时间轴"标题位置 │ │
│ │ 4. 用户可以直接看到搜索框和事件列表
|
2025-10-27 00:11:27 +08:00 |
|
zdl
|
b06d51813a
|
feat: 效果: │ │
│ │ │ │
│ │ 1. 用户进入社区页面 │ │
│ │ 2. 页面正常渲染 │ │
│ │ 3. 1秒后,页面平滑滚动到"实时事件时间轴"标题位置 │ │
│ │ 4. 用户可以直接看到搜索框和事件列表
|
2025-10-27 00:11:27 +08:00 |
|
zdl
|
6305ac7e20
|
feat: 调整请求参数
|
2025-10-26 23:46:54 +08:00 |
|
zdl
|
5b25136c28
|
feat: 调整请求参数
|
2025-10-26 23:46:54 +08:00 |
|
zdl
|
cc5a5719ea
|
feat: 优化事件中心页面 重构后的文件结构
src/views/Community/
├── index.js (主组件,150行左右)
├── components/
│ ├── EventTimelineCard.js (新增)
│ ├── EventTimelineHeader.js (新增)
│ ├── EventListSection.js (新增)
│ ├── HotEventsSection.js (新增)
│ ├── EventModals.js (新增)
│ ├── UnifiedSearchBox.js (已有)
│ ├── EventList.js (已有)
│ └── ...
└── hooks/
├── useEventFilters.js (新增)
└── useEventData.js (新增)
|
2025-10-26 20:31:34 +08:00 |
|
zdl
|
97c5ce0d4d
|
feat: 优化事件中心页面 重构后的文件结构
src/views/Community/
├── index.js (主组件,150行左右)
├── components/
│ ├── EventTimelineCard.js (新增)
│ ├── EventTimelineHeader.js (新增)
│ ├── EventListSection.js (新增)
│ ├── HotEventsSection.js (新增)
│ ├── EventModals.js (新增)
│ ├── UnifiedSearchBox.js (已有)
│ ├── EventList.js (已有)
│ └── ...
└── hooks/
├── useEventFilters.js (新增)
└── useEventData.js (新增)
|
2025-10-26 20:31:34 +08:00 |
|
zdl
|
e7a8786de5
|
feat: 代码改进
- ✅ 修复了 React Hooks 规则违规
- ✅ 实现了两个缺失的初始化功能
- ✅ 添加了防抖机制,减少 60-80% 的 API 请求
- ✅ 优化了参数构建函数,代码更简洁
- ✅ 统一了所有筛选器的触发逻辑
- ✅ 添加了完整的加载状态管理
用户体验提升
- ✅ 快速切换筛选器不会触发多次请求
- ✅ 从 URL 参数恢复状态时完整显示(包括行业和日期)
- ✅ 所有筛选器行为一致
- ✅ 搜索时禁用输入,避免误操作
- ✅ 详细的日志输出,便于调试
性能提升
- ✅ 防抖减少不必要的 API 请求
- ✅ 使用 useCallback 避免不必要的重新渲染
- ✅ 优化了参数构建逻辑
|
2025-10-26 20:13:38 +08:00 |
|
zdl
|
f1bd9680b6
|
feat: 代码改进
- ✅ 修复了 React Hooks 规则违规
- ✅ 实现了两个缺失的初始化功能
- ✅ 添加了防抖机制,减少 60-80% 的 API 请求
- ✅ 优化了参数构建函数,代码更简洁
- ✅ 统一了所有筛选器的触发逻辑
- ✅ 添加了完整的加载状态管理
用户体验提升
- ✅ 快速切换筛选器不会触发多次请求
- ✅ 从 URL 参数恢复状态时完整显示(包括行业和日期)
- ✅ 所有筛选器行为一致
- ✅ 搜索时禁用输入,避免误操作
- ✅ 详细的日志输出,便于调试
性能提升
- ✅ 防抖减少不必要的 API 请求
- ✅ 使用 useCallback 避免不必要的重新渲染
- ✅ 优化了参数构建逻辑
|
2025-10-26 20:13:38 +08:00 |
|
zdl
|
8f1ffdab7e
|
feat: 处理热词点击逻辑
|
2025-10-26 20:04:44 +08:00 |
|
zdl
|
f02d0d0bd0
|
feat: 处理热词点击逻辑
|
2025-10-26 20:04:44 +08:00 |
|
zdl
|
000ea31e09
|
feat: UI 层面:
- ✅ 只显示一套标签(在搜索框下方)
- ✅ 标签样式统一(Ant Design Tag 组件)
- ✅ 所有筛选条件都有对应的标签显示
2. 功能层面:
- ✅ 标签内容与实际筛选条件完全同步
- ✅ 点击标签删除按钮,对应筛选条件被清除
- ✅ 删除标签后自动刷新事件列表
- ✅ 完整的日志记录,便于调试
3. 代码层面:
- ✅ 消除重复代码
- ✅ 单一数据源(UnifiedSearchBox 的内部状态)
- ✅ 逻辑统一,易于维护
|
2025-10-26 20:04:10 +08:00 |
|
zdl
|
aa332537d4
|
feat: UI 层面:
- ✅ 只显示一套标签(在搜索框下方)
- ✅ 标签样式统一(Ant Design Tag 组件)
- ✅ 所有筛选条件都有对应的标签显示
2. 功能层面:
- ✅ 标签内容与实际筛选条件完全同步
- ✅ 点击标签删除按钮,对应筛选条件被清除
- ✅ 删除标签后自动刷新事件列表
- ✅ 完整的日志记录,便于调试
3. 代码层面:
- ✅ 消除重复代码
- ✅ 单一数据源(UnifiedSearchBox 的内部状态)
- ✅ 逻辑统一,易于维护
|
2025-10-26 20:04:10 +08:00 |
|
zdl
|
b1c4c44080
|
feat: 添加mock数据
|
2025-10-26 19:50:20 +08:00 |
|
zdl
|
b4b7eae1ba
|
feat: 添加mock数据
|
2025-10-26 19:50:20 +08:00 |
|
zdl
|
5e8a4a2f42
|
refactor: 重构 JSX 布局为统一卡片设计
- 移除两栏 Grid 布局(左侧主内容 + 右侧侧边栏)
- 统一为单个大卡片「实时事件时间轴」
- 整合 UnifiedSearchBox 到主卡片内部
- 传入 updateFilters、popularKeywords、filters、loading 参数
- 移除右侧侧边栏的所有组件:
- SearchBox(已整合到 UnifiedSearchBox)
- InvestmentCalendar(投资日历)
- PopularKeywords(已整合到 UnifiedSearchBox)
- ImportanceLegend(重要性说明)
- 移除 EventFilters 组件(已被 UnifiedSearchBox 替代)
- 移除 Footer 区域(现由 MainLayout 提供)
- 筛选标签移至主卡片内部
- 简化布局,提升用户体验
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:53:14 +08:00 |
|
zdl
|
4559c57a62
|
refactor: 重构 JSX 布局为统一卡片设计
- 移除两栏 Grid 布局(左侧主内容 + 右侧侧边栏)
- 统一为单个大卡片「实时事件时间轴」
- 整合 UnifiedSearchBox 到主卡片内部
- 传入 updateFilters、popularKeywords、filters、loading 参数
- 移除右侧侧边栏的所有组件:
- SearchBox(已整合到 UnifiedSearchBox)
- InvestmentCalendar(投资日历)
- PopularKeywords(已整合到 UnifiedSearchBox)
- ImportanceLegend(重要性说明)
- 移除 EventFilters 组件(已被 UnifiedSearchBox 替代)
- 移除 Footer 区域(现由 MainLayout 提供)
- 筛选标签移至主卡片内部
- 简化布局,提升用户体验
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:53:14 +08:00 |
|