Commit Graph

465 Commits

Author SHA1 Message Date
zdl
dc8f3404b0 feat: 更新md文档 2025-11-07 15:07:38 +08:00
zdl
db947d9bb3 feat: 配置调整; 2025-11-07 14:48:27 +08:00
zdl
ded5325149 feat: 删除不需要的组件 2025-11-07 14:31:50 +08:00
zdl
9c79c44519 feat: 事件详情添加浏览量点击机制 2025-11-07 14:16:11 +08:00
zdl
3846e10538 feat: Community 页面有了自己独立的技术文档 2025-11-07 14:01:24 +08:00
zdl
6812fdfeda feat: CLAUDE.md **🌐 语言偏好** 2025-11-07 14:00:57 +08:00
zdl
bef65a3bb9 feat: 删除无用代码 2025-11-07 13:19:51 +08:00
zdl
07be325a00 feat: 添加通知组件调试信息 2025-11-07 12:34:05 +08:00
zdl
b5236f4889 feat: 补充md文档 2025-11-07 12:19:41 +08:00
zdl
747d4739d8 feat: CLAUDE.md 文档已经完全中文化 2025-11-07 12:19:41 +08:00
fd43f24b0a 事件中心UI优化 2025-11-07 11:20:45 +08:00
bffbe62e3f 事件中心UI优化 2025-11-07 11:08:06 +08:00
0686ea61f0 Merge branch 'feature_bugfix/251104_event' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251104_event 2025-11-07 10:56:21 +08:00
c3b6f50ba3 事件中心UI优化 2025-11-07 10:56:08 +08:00
zdl
31406eb979 feat: 删除不需要的组件 2025-11-07 10:35:20 +08:00
bd35a26199 事件中心UI优化 2025-11-07 10:31:42 +08:00
578805eab2 事件中心UI优化 2025-11-07 10:16:21 +08:00
fbd78ee0c5 事件中心UI优化 2025-11-07 09:57:49 +08:00
130e191948 事件中心UI优化 2025-11-07 09:45:42 +08:00
bf89506470 优惠码Bug修复 2025-11-07 08:13:12 +08:00
5582c8237c 优惠码Bug修复 2025-11-07 07:53:07 +08:00
a99cb9c25f 优惠码Bug修复 2025-11-07 07:35:13 +08:00
zdl
9c526d528c fix: 修复重置按钮不生效问题
问题描述:
- 用户选择所有筛选条件后,点击"重置"按钮无反应
- 筛选条件未被清空,事件列表未重新加载

根本原因:
- 当筛选条件从"有值"重置为"空值"或从"空值"重置为"空值"时
- 如果 filters 对象的字段值没有实质变化
- DynamicNewsCard 的 useEffect 依赖项检测不到变化,不会触发重新加载

解决方案:
1. UnifiedSearchBox.handleReset() 添加 _forceRefresh 时间戳标志
   - 每次重置都生成唯一的 Date.now() 时间戳
   - 确保 filters 对象每次重置都不同

2. DynamicNewsCard 筛选 useEffect 依赖数组添加 filters._forceRefresh
   - 监听强制刷新标志的变化
   - 即使其他筛选条件未变,也能触发重新加载

3. 增强调试日志
   - 添加完整的重置流程日志输出
   - 便于排查后续问题

修改文件:
- src/views/Community/components/UnifiedSearchBox.js (Line 505-536)
- src/views/Community/components/DynamicNewsCard.js (Line 264)

测试场景:
 选择所有筛选条件后点击重置 - 清空并重新加载
 未选择筛选条件时点击重置 - 强制刷新第1页
 重置后 Redux 缓存被清空 (clearCache: true)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 18:00:53 +08:00
zdl
22b29bf727 fix: 修复分页、筛选和模式切换相关问题
主要修复:
1. 修复模式切换时 per_page 参数错误
   - 在 useEffect 内直接根据 mode 计算 per_page
   - 避免使用可能过时的 pageSize prop

2. 修复 DISPLAY_MODES 未定义错误
   - 在 DynamicNewsCard.js 中导入 DISPLAY_MODES 常量

3. 添加空状态显示
   - VerticalModeLayout 添加无数据时的友好提示
   - 显示图标和提示文字,引导用户调整筛选条件

4. 修复无限请求循环问题
   - 移除模式切换 useEffect 中的 filters 依赖
   - 避免筛选和模式切换 useEffect 互相触发

5. 修复筛选参数传递问题
   - usePagination 使用 useRef 存储最新 filters
   - 避免 useCallback 闭包捕获旧值
   - 修复时间筛选参数丢失问题

6. 修复分页竞态条件
   - 允许用户在加载时切换到不同页面
   - 只阻止相同页面的重复请求

涉及文件:
- src/views/Community/components/DynamicNewsCard.js
- src/views/Community/components/DynamicNewsCard/VerticalModeLayout.js
- src/views/Community/components/DynamicNewsCard/hooks/usePagination.js
- src/views/Community/hooks/useEventFilters.js
- src/store/slices/communityDataSlice.js
- src/views/Community/components/UnifiedSearchBox.js

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 17:39:03 +08:00
zdl
4bb7bc04cf refactor: 恢复 TradingTimeFilter 到原版本
- 移除 timeRange prop 及其同步逻辑
- 恢复原有的 value 同步逻辑
- 简化组件接口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 15:33:54 +08:00
zdl
c53edd90e2 refactor: 删除 FilterModal 筛选弹窗组件
- 移除 FilterModal.js 文件
- 简化组件结构,筛选功能保留在 CardHeader 的 UnifiedSearchBox 中

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 15:33:36 +08:00
zdl
570722ce7c feat: VerticalModeLayout 详情/列表模式自动切换
- 点击事件自动切换到详情模式
- 切换到列表模式时重置详情面板(通过 key 强制重新渲染)
- 添加独立滚动容器,支持左右两侧独立滚动
- 优化布局高度控制,使用 h="100%" 撑满父容器

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 14:13:06 +08:00
zdl
ac3feeeec5 fix: 修复 EventScrollList 和 EventDetailScrollPanel 布局问题
- EventScrollList.js: 添加 h="100%" 和 data-scroll-container 属性,支持独立滚动
- EventDetailScrollPanel.js: 移除 maxHeight 限制,允许详情面板撑满容器高度
- 修复布局显示问题,优化滚动体验

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 14:12:05 +08:00
zdl
d1d1faf958 feat: 创建 FilterModal 筛选弹窗组件
- 新增 FilterModal.js 组件,用于在固定模式下显示筛选弹窗
- 复用 UnifiedSearchBox 组件实现筛选功能
- 支持 mode 和 pageSize 参数传递
- 添加 scrollBehavior="outside" 避免下拉菜单被遮挡

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 14:09:59 +08:00
zdl
e2f04e694f feat: bundle升级 2025-11-06 13:30:28 +08:00
zdl
f0ff52f473 feat: 时间筛选重置调整 2025-11-06 12:41:32 +08:00
zdl
bd86348805 feat: 搜索框布局调整 2025-11-06 12:40:58 +08:00
zdl
2de2daf8d0 feat: 热门关键词展示一行,且不展示股票数量 2025-11-06 12:37:37 +08:00
zdl
dd59911e8e feat: 搜索框接入交易时间段筛选能力 2025-11-06 11:48:31 +08:00
zdl
6ddebe480c feat: 添加交易时间段筛选组件 2025-11-06 11:46:31 +08:00
zdl
d0e66d2e62 pref: UI优化 2025-11-06 11:35:10 +08:00
zdl
e655e1d72e pref: 去掉无用代码 2025-11-06 10:26:43 +08:00
zdl
f1a7cac132 feat: 从替换式渲染 → 蒙层式渲染
之前的问题:

  - Loading 时替换整个列表组件
  - 组件频繁挂载/卸载,性能差
  - 切换模式时界面跳动明显

  现在的方案:

  -  列表组件始终渲染(避免频繁挂载卸载)
  -  Loading 通过蒙层叠加显示
  -  旧数据保持可见直到新数据加载完成
  -  更平滑的视觉过渡
2025-11-06 10:17:10 +08:00
zdl
ab4be46eef Merge branch 'feature_bugfix/251104_event' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251104_event
* 'feature_bugfix/251104_event' of https://git.valuefrontier.cn/vf/vf_react:
  加入优惠码机制,预置3个优惠码
2025-11-06 01:40:28 +08:00
zdl
2878b769f2 fix: 优化模式切换体验和渲染逻辑
## 问题修复
1. 模式切换时不再闪现"暂无事件数据"
2. 模式切换按钮始终可见,不会因加载状态而隐藏

## 技术改进
- 将控制栏(模式切换+分页)提取到 EventScrollList 外层
- 使用 mode(立即同步)而非 currentMode(延迟一帧)检查缓存
- 优化渲染顺序:loading → 数据 → 空状态,避免闪烁

## 文件修改
- DynamicNewsCard.js: 添加控制栏导入,优化渲染逻辑
- EventScrollList.js: 移除重复的控制栏代码

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 01:40:24 +08:00
zdl
12bfd32e7e feat: 添加 RTK Query 集成用于事件数据获取(实验性)... 2025-11-06 01:25:44 +08:00
zdl
67ca7855c1 feat: 相关概念添加 PRO 权限控制... 2025-11-06 01:20:33 +08:00
zdl
56a4f2c181 refactor: 优化分页存储架构和缓存逻辑... 2025-11-06 01:20:07 +08:00
zdl
c6de3671cc fix: 修复 MSW 接口和调试代码清理... 2025-11-06 01:17:06 +08:00
zdl
4aca13972e feat: UI调整 2025-11-05 23:54:43 +08:00
zdl
4a2eab88db feat:平铺模式 | 隐藏顶部分页控制器" 2025-11-05 22:34:07 +08:00
zdl
5368ad3acb refactor: 删除未使用的 lastUpdated 和 cachedCount 状态
- 删除 initialState 中的 lastUpdated 和 cachedCount
  - 删除所有 reducer 中相关的设置代码
  - 更新 selectors 使用 .length 替代 cachedCount
  - 删除 shouldRefresh 工具函数

  简化理由:
  - lastUpdated 未被使用
  - cachedCount 可以通过 events.length 直接获取
2025-11-05 22:33:25 +08:00
zdl
32c8230a7c feat: 事件详情权限加上权限校验 2025-11-05 21:31:02 +08:00
zdl
eca9931884 feat: 翻页bugfix 2025-11-05 19:28:17 +08:00
zdl
530e0bce0f feat: feat: 优化事件卡片 UI 和交互体验
修复 useColorModeValue 调用位置(提升到顶层)
优化分页和滚动逻辑
动态 indicatorSize 支持(detail/list 模式)
2025-11-05 19:15:36 +08:00