zdl
|
0f3bc06716
|
feat: 访问 http://localhost:3000/admin/community:
1. 页面加载后应停留在顶部
2. 点击搜索框,页面应平滑滚动到"实时事件时间轴"区域
3. 再次点击搜索框不会重复滚动
|
2025-10-27 16:37:36 +08:00 |
|
zdl
|
e568b5e05f
|
feat: 热点事件UI调整
|
2025-10-27 15:59:13 +08:00 |
|
|
|
c5aaaabf17
|
update ip address to company's
|
2025-10-27 15:54:22 +08:00 |
|
|
|
9ede603c9f
|
update ip address to company's
|
2025-10-27 15:47:04 +08:00 |
|
zdl
|
629c63f4ee
|
feat: 文案修改
|
2025-10-27 15:40:20 +08:00 |
|
zdl
|
d6bc2c7245
|
feat: 事件中心去掉头图, 并且将热点区域提到首屏
|
2025-10-27 15:39:56 +08:00 |
|
zdl
|
dc38199ae6
|
feat: 添加mock数据
|
2025-10-27 15:39:06 +08:00 |
|
zdl
|
d93b5de319
|
feat: 将事件中心的头部添加到首页
|
2025-10-27 15:31:22 +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
|
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
|
227e1c9d15
|
feat: 修复 UnifiedSearchBox 语法错误
|
2025-10-27 11:38:16 +08:00 |
|
zdl
|
b5cdceb92b
|
feat: 日期标签删除重置内容
|
2025-10-27 10:51:19 +08:00 |
|
zdl
|
aacbe5c31c
|
feat: 调整时间中心搜索逻辑
|
2025-10-27 10:32:51 +08:00 |
|
zdl
|
197c792219
|
feat: 事件列表添加最低高度
|
2025-10-27 00:12:09 +08:00 |
|
zdl
|
794581e429
|
feat: 热门关键词取去掉loading态
|
2025-10-27 00:11:46 +08:00 |
|
zdl
|
b06d51813a
|
feat: 效果: │ │
│ │ │ │
│ │ 1. 用户进入社区页面 │ │
│ │ 2. 页面正常渲染 │ │
│ │ 3. 1秒后,页面平滑滚动到"实时事件时间轴"标题位置 │ │
│ │ 4. 用户可以直接看到搜索框和事件列表
|
2025-10-27 00:11:27 +08:00 |
|
zdl
|
5b25136c28
|
feat: 调整请求参数
|
2025-10-26 23:46:54 +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
|
f1bd9680b6
|
feat: 代码改进
- ✅ 修复了 React Hooks 规则违规
- ✅ 实现了两个缺失的初始化功能
- ✅ 添加了防抖机制,减少 60-80% 的 API 请求
- ✅ 优化了参数构建函数,代码更简洁
- ✅ 统一了所有筛选器的触发逻辑
- ✅ 添加了完整的加载状态管理
用户体验提升
- ✅ 快速切换筛选器不会触发多次请求
- ✅ 从 URL 参数恢复状态时完整显示(包括行业和日期)
- ✅ 所有筛选器行为一致
- ✅ 搜索时禁用输入,避免误操作
- ✅ 详细的日志输出,便于调试
性能提升
- ✅ 防抖减少不必要的 API 请求
- ✅ 使用 useCallback 避免不必要的重新渲染
- ✅ 优化了参数构建逻辑
|
2025-10-26 20:13:38 +08:00 |
|
zdl
|
f02d0d0bd0
|
feat: 处理热词点击逻辑
|
2025-10-26 20:04:44 +08:00 |
|
zdl
|
aa332537d4
|
feat: UI 层面:
- ✅ 只显示一套标签(在搜索框下方)
- ✅ 标签样式统一(Ant Design Tag 组件)
- ✅ 所有筛选条件都有对应的标签显示
2. 功能层面:
- ✅ 标签内容与实际筛选条件完全同步
- ✅ 点击标签删除按钮,对应筛选条件被清除
- ✅ 删除标签后自动刷新事件列表
- ✅ 完整的日志记录,便于调试
3. 代码层面:
- ✅ 消除重复代码
- ✅ 单一数据源(UnifiedSearchBox 的内部状态)
- ✅ 逻辑统一,易于维护
|
2025-10-26 20:04:10 +08:00 |
|
zdl
|
b4b7eae1ba
|
feat: 添加mock数据
|
2025-10-26 19:50:20 +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 |
|
zdl
|
9eb13206cc
|
refactor: 优化事件处理器和防抖逻辑
- 更新所有 handler 函数使用 updateFilters 替代 updateUrlParams
- handleFilterChange
- handlePageChange(移除 loadEvents 调用,由 useEffect 自动触发)
- handleKeywordClick
- handleRemoveFilterTag(移除 loadEvents 调用)
- 重构 useEffect:监听 filters 状态替代 searchParams
- 分离 Redux 数据加载到独立的 useEffect
- 保持防抖逻辑(500ms)
- 简化 useEffect 注释
适配新的状态管理模式,提升性能
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:46:17 +08:00 |
|
zdl
|
8db9a9429e
|
refactor: 重构状态管理从 URL 驱动到本地状态
- 移除 getFiltersFromUrl 函数
- 添加 filters 本地状态(初始化时从 URL 读取)
- 重命名 updateUrlParams 为 updateFilters
- updateFilters 不再修改 URL,只更新本地状态
- 更新 loadEvents 使用本地 filters 依赖
- 移除 filterTags 中重复的 filters 声明
简化状态管理逻辑,避免 URL 和状态同步问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:39:45 +08:00 |
|
zdl
|
916537f25b
|
refactor: 替换为统一搜索组件导入
- 移除旧组件导入: EventFilters, SearchBox, PopularKeywords, ImportanceLegend, InvestmentCalendar
- 添加 UnifiedSearchBox 组件导入(整合了多个组件功能)
- 移除未使用的 Chakra UI Link 组件导入
- 添加注释说明 Antd 组件占位符
为后续 JSX 布局重构做准备
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:34:40 +08:00 |
|
zdl
|
3d90ae7f74
|
feat: Community 页面引入 Redux 状态管理
- 添加 Redux hooks (useSelector, useDispatch)
- 导入 fetchPopularKeywords 和 fetchHotEvents action creators
- 移除本地状态 popularKeywords 和 hotEvents
- 移除 loadPopularKeywords 和 loadHotEvents 函数
- 使用 Redux dispatch 替代本地数据获取
- 利用 Redux 内置的缓存机制优化性能
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:33:39 +08:00 |
|
zdl
|
3580385967
|
feat: 添加行业分类Cascader组件
- 新增 IndustryCascader 组件,支持多级行业分类选择
- 集成 IndustryContext 全局行业数据管理
- 支持懒加载和搜索功能
- 提供清晰的行业选择路径展示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-26 14:22:18 +08:00 |
|
zdl
|
67c3d3a875
|
feat: 事件中心添加搜索框
|
2025-10-26 14:13:06 +08:00 |
|
zdl
|
65d0ec5354
|
feat: 调整关键字请求为外部传入
|
2025-10-26 14:11:54 +08:00 |
|
zdl
|
05307d6501
|
feat: 添加数据
|
2025-10-26 14:11:24 +08:00 |
|
zdl
|
a5702b631c
|
feat: 调整依赖
|
2025-10-26 13:48:29 +08:00 |
|
zdl
|
a96f778779
|
feat: 主要优化点:
1. 消除 extraReducers 重复代码
- 创建通用的 createDataReducers 工厂函数
- 自动生成 pending/fulfilled/rejected cases
- 减少约 30 行重复代码
2. 创建独立的 CacheManager 类
- 封装所有缓存操作(get/set/clear/isExpired)
- 支持多种存储方式(localStorage/sessionStorage)
- 更易于单元测试和 mock
3. 添加请求去重机制
- 使用 Promise 缓存防止重复请求
- 同一时间多次调用只发起一次 API 请求
- 提高性能,减少服务器负担
4. 优化 Selectors(使用 reselect)
- 添加 memoized selectors
- 避免不必要的组件重新渲染
- 提升性能
5. 添加缓存预热功能
- 应用启动时自动加载常用数据
- 改善用户体验
|
2025-10-25 18:32:29 +08:00 |
|
zdl
|
0a0d617b20
|
feat: 添加行业筛选器Box
|
2025-10-25 18:23:20 +08:00 |
|
zdl
|
506f89e64e
|
feat: 修复全局样式报错问题
|
2025-10-25 18:22:58 +08:00 |
|
zdl
|
094793c022
|
feat: 热门关键词UI调整 数据获取逻辑调整 接入redux
|
2025-10-25 18:22:41 +08:00 |
|
zdl
|
873adda1fd
|
feat: 添加股票mock数据
|
2025-10-24 17:43:47 +08:00 |
|
zdl
|
b0ae5a2871
|
feat: 添加mock数据
|
2025-10-24 17:29:07 +08:00 |
|
zdl
|
6f34cab6d1
|
feat: 优化依赖
|
2025-10-24 17:18:08 +08:00 |
|
zdl
|
5aebd4b113
|
feat: 将 AppFooter 集成到 MainLayout
|
2025-10-24 17:17:31 +08:00 |
|
zdl
|
70f2676c79
|
feat: 添加appfooter
|
2025-10-24 17:10:29 +08:00 |
|
zdl
|
0b316a5ed8
|
feat: 优化依赖
|
2025-10-24 17:10:11 +08:00 |
|
zdl
|
72a009e1ae
|
feat: session 添加节流检查
|
2025-10-24 17:09:42 +08:00 |
|
zdl
|
a92d556486
|
feat: 调整错误提示
|
2025-10-24 16:40:26 +08:00 |
|
|
|
6df66abcb4
|
调整socket对应的浏览器通知处理逻辑
|
2025-10-24 14:29:45 +08:00 |
|
|
|
16d04a6d28
|
调整socket对应的浏览器通知处理逻辑
|
2025-10-24 14:22:30 +08:00 |
|
zdl
|
3f881d000b
|
feat: 添加修改行业分类不展示的问题
|
2025-10-24 13:30:52 +08:00 |
|
zdl
|
801113b7e5
|
Merge branch 'feature' of https://git.valuefrontier.cn/vf/vf_react into feature
|
2025-10-24 12:54:54 +08:00 |
|
zdl
|
e0cd71880b
|
feat: 申银万国数据分类调整
|
2025-10-24 12:54:42 +08:00 |
|