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 |
|
zdl
|
b7c56de05e
|
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
|
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
|
0ab9ebaeab
|
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
|
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
|
d6fd6ab273
|
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
|
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
|
4f81851c99
|
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
|
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
|
3752ef47dc
|
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
|
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
|
c47d68ac34
|
feat: 事件中心添加搜索框
|
2025-10-26 14:13:06 +08:00 |
|
zdl
|
67c3d3a875
|
feat: 事件中心添加搜索框
|
2025-10-26 14:13:06 +08:00 |
|
zdl
|
d8707cf19f
|
feat: 调整关键字请求为外部传入
|
2025-10-26 14:11:54 +08:00 |
|
zdl
|
65d0ec5354
|
feat: 调整关键字请求为外部传入
|
2025-10-26 14:11:54 +08:00 |
|
zdl
|
06a36aaab4
|
feat: 添加数据
|
2025-10-26 14:11:24 +08:00 |
|
zdl
|
05307d6501
|
feat: 添加数据
|
2025-10-26 14:11:24 +08:00 |
|
zdl
|
050c5b921a
|
feat: 调整依赖
|
2025-10-26 13:48:29 +08:00 |
|
zdl
|
a5702b631c
|
feat: 调整依赖
|
2025-10-26 13:48:29 +08:00 |
|
zdl
|
33aea60713
|
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
|
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
|
9e4c0e31d6
|
feat: 添加行业筛选器Box
|
2025-10-25 18:23:20 +08:00 |
|
zdl
|
0a0d617b20
|
feat: 添加行业筛选器Box
|
2025-10-25 18:23:20 +08:00 |
|
zdl
|
8534503371
|
feat: 修复全局样式报错问题
|
2025-10-25 18:22:58 +08:00 |
|
zdl
|
506f89e64e
|
feat: 修复全局样式报错问题
|
2025-10-25 18:22:58 +08:00 |
|
zdl
|
ef61e7b66c
|
feat: 热门关键词UI调整 数据获取逻辑调整 接入redux
|
2025-10-25 18:22:41 +08:00 |
|
zdl
|
094793c022
|
feat: 热门关键词UI调整 数据获取逻辑调整 接入redux
|
2025-10-25 18:22:41 +08:00 |
|
zdl
|
1dc961a5e7
|
feat: 添加股票mock数据
|
2025-10-24 17:43:47 +08:00 |
|
zdl
|
873adda1fd
|
feat: 添加股票mock数据
|
2025-10-24 17:43:47 +08:00 |
|
zdl
|
24f896d848
|
feat: 添加mock数据
|
2025-10-24 17:29:07 +08:00 |
|
zdl
|
b0ae5a2871
|
feat: 添加mock数据
|
2025-10-24 17:29:07 +08:00 |
|
zdl
|
c79437e1d4
|
feat: 优化依赖
|
2025-10-24 17:18:08 +08:00 |
|
zdl
|
6f34cab6d1
|
feat: 优化依赖
|
2025-10-24 17:18:08 +08:00 |
|
zdl
|
3abdaf9373
|
feat: 将 AppFooter 集成到 MainLayout
|
2025-10-24 17:17:31 +08:00 |
|