zdl
|
41fdbab680
|
Merge branch 'feature_2025/1028_event' into feature_bugfix/251104_event
* feature_2025/1028_event:
实现多选重要性,采用逗号分隔
|
2025-11-04 15:39:28 +08:00 |
|
zdl
|
64a441b717
|
Merge branch 'feature_2025/1028_event' into feature_bugfix/251104_event
* feature_2025/1028_event:
实现多选重要性,采用逗号分隔
|
2025-11-04 15:39:28 +08:00 |
|
zdl
|
e7703c7816
|
feat: 提取常量和 Hooks 到独立文件(已完成)
|
2025-11-04 15:38:54 +08:00 |
|
zdl
|
5b9155a30c
|
feat: 提取常量和 Hooks 到独立文件(已完成)
|
2025-11-04 15:38:54 +08:00 |
|
zdl
|
00e0a1eb8a
|
feat: 添加serverworker注册事件
|
2025-11-04 15:34:17 +08:00 |
|
zdl
|
6e5eaa9089
|
feat: 添加serverworker注册事件
|
2025-11-04 15:34:17 +08:00 |
|
|
|
d77b51c393
|
实现多选重要性,采用逗号分隔
|
2025-11-04 15:33:23 +08:00 |
|
|
|
1ed54d7ee0
|
实现多选重要性,采用逗号分隔
|
2025-11-04 15:33:23 +08:00 |
|
zdl
|
62b537563e
|
pref: 日志管理优化
|
2025-11-04 15:19:49 +08:00 |
|
zdl
|
8ed65b062b
|
pref: 日志管理优化
|
2025-11-04 15:19:49 +08:00 |
|
zdl
|
eb212698d1
|
feat: 筛选添加收益率筛选
|
2025-11-04 15:19:24 +08:00 |
|
zdl
|
868b4ccebc
|
feat: 筛选添加收益率筛选
|
2025-11-04 15:19:24 +08:00 |
|
zdl
|
6a94c847ac
|
feat:拆分 handlePageChange 为子函数(减少复杂度)
|
2025-11-04 15:05:25 +08:00 |
|
zdl
|
67981f21a2
|
feat:拆分 handlePageChange 为子函数(减少复杂度)
|
2025-11-04 15:05:25 +08:00 |
|
zdl
|
705fcbec7f
|
feat: 提取 usePagination Hook
|
2025-11-04 14:58:02 +08:00 |
|
zdl
|
0a10270ab0
|
feat: 提取 usePagination Hook
|
2025-11-04 14:58:02 +08:00 |
|
zdl
|
50d1369cdd
|
feat: 优化社区动态新闻分页和预加载策略
## 主要改动
### 1. 修复分页显示问题
- 修复总页数计算错误(使用服务端 total 而非缓存 cachedCount)
- 修复目标页数据检查逻辑(排除 null 占位符)
### 2. 实现请求拆分策略 (Critical Fix)
- 将合并请求(per_page: 15)拆分为单页循环请求(per_page: 5)
- 解决后端无法处理动态 per_page 导致返回空数据的问题
- 后台预加载和显示 loading 两个场景均已拆分
### 3. 优化智能预加载逻辑
- 连续翻页(上/下页):预加载前后各 2 页
- 跳转翻页(点页码):只加载当前页
- 目标页已缓存时立即切换,后台静默预加载其他页
### 4. Redux 状态管理优化
- 添加 pageSize 参数用于正确计算索引
- 重写 reducer 插入逻辑(append/replace/jump 三种模式)
- 只在 append 模式去重,避免替换和跳页时数据丢失
- 修复 selector 计算有效数量(排除 null)
### 5. 修复 React Hook 规则违规
- 将所有 useColorModeValue 移至组件顶层
- 添加缺失的 HStack 导入
## 影响范围
- 仅影响社区页面动态新闻分页功能
- 无后端变更,向后兼容
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 11:43:54 +08:00 |
|
zdl
|
ce46820105
|
feat: 优化社区动态新闻分页和预加载策略
## 主要改动
### 1. 修复分页显示问题
- 修复总页数计算错误(使用服务端 total 而非缓存 cachedCount)
- 修复目标页数据检查逻辑(排除 null 占位符)
### 2. 实现请求拆分策略 (Critical Fix)
- 将合并请求(per_page: 15)拆分为单页循环请求(per_page: 5)
- 解决后端无法处理动态 per_page 导致返回空数据的问题
- 后台预加载和显示 loading 两个场景均已拆分
### 3. 优化智能预加载逻辑
- 连续翻页(上/下页):预加载前后各 2 页
- 跳转翻页(点页码):只加载当前页
- 目标页已缓存时立即切换,后台静默预加载其他页
### 4. Redux 状态管理优化
- 添加 pageSize 参数用于正确计算索引
- 重写 reducer 插入逻辑(append/replace/jump 三种模式)
- 只在 append 模式去重,避免替换和跳页时数据丢失
- 修复 selector 计算有效数量(排除 null)
### 5. 修复 React Hook 规则违规
- 将所有 useColorModeValue 移至组件顶层
- 添加缺失的 HStack 导入
## 影响范围
- 仅影响社区页面动态新闻分页功能
- 无后端变更,向后兼容
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 11:43:54 +08:00 |
|
zdl
|
3ae8607cd8
|
fix: 修复微信扫码登录后页面跳转问题
修改 iframe 显示条件,仅在 WAITING 状态时显示 iframe,
当状态变更为 SCANNED/AUTHORIZED 时立即移除 iframe,
防止微信页面执行父页面跳转操作。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 11:43:54 +08:00 |
|
zdl
|
012c13c49a
|
fix: 修复微信扫码登录后页面跳转问题
修改 iframe 显示条件,仅在 WAITING 状态时显示 iframe,
当状态变更为 SCANNED/AUTHORIZED 时立即移除 iframe,
防止微信页面执行父页面跳转操作。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 11:43:54 +08:00 |
|
zdl
|
7f91311c09
|
feat: 恢复bugfix
|
2025-11-04 11:43:54 +08:00 |
|
zdl
|
0e9a0d9123
|
feat: 恢复bugfix
|
2025-11-04 11:43:54 +08:00 |
|
|
|
23d6e38c4f
|
fix
|
2025-11-04 09:45:12 +08:00 |
|
|
|
4f163af846
|
fix
|
2025-11-04 09:45:12 +08:00 |
|
zdl
|
8a5241cc31
|
feat: bugfix
|
2025-11-03 19:45:32 +08:00 |
|
zdl
|
ce495ed6fa
|
feat: bugfix
|
2025-11-03 19:45:32 +08:00 |
|
zdl
|
e78822fa5a
|
fix: 修复 PostHog 生产环境配置问题
## 问题描述
生产环境部署后,PostHog 只收到 localhost:3000 的错误报告,而不是生产环境的真实 URL。
## 根本原因
构建脚本未显式加载生产环境配置文件,导致 PostHog API Key 和 Host 配置未正确嵌入到打包文件中。
## 解决方案
1. 新增 `.env.production` 生产环境专用配置文件
- 包含正确的 PostHog API Key 和 Host
- 设置 REACT_APP_ENV=production
- 禁用 Mock 数据 (REACT_APP_ENABLE_MOCK=false)
- 配置生产 API 地址
2. 修改 package.json 构建脚本
- 使用 env-cmd 显式加载 .env.production
- 确保构建时环境变量正确嵌入
## 影响范围
- ✅ 生产环境构建: 现在会正确加载配置
- ✅ PostHog 功能: 将使用正确的配置初始化
- ✅ 开发环境: 无影响,仍使用各自的环境文件
- ✅ 部署流程: 服务器构建时自动使用新配置
## 测试计划
1. 本地执行 npm run build 验证构建成功
2. 部署到生产环境
3. 验证 PostHog 后台收到正确的生产 URL
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 18:42:58 +08:00 |
|
zdl
|
0e66bb471f
|
fix: 修复 PostHog 生产环境配置问题
## 问题描述
生产环境部署后,PostHog 只收到 localhost:3000 的错误报告,而不是生产环境的真实 URL。
## 根本原因
构建脚本未显式加载生产环境配置文件,导致 PostHog API Key 和 Host 配置未正确嵌入到打包文件中。
## 解决方案
1. 新增 `.env.production` 生产环境专用配置文件
- 包含正确的 PostHog API Key 和 Host
- 设置 REACT_APP_ENV=production
- 禁用 Mock 数据 (REACT_APP_ENABLE_MOCK=false)
- 配置生产 API 地址
2. 修改 package.json 构建脚本
- 使用 env-cmd 显式加载 .env.production
- 确保构建时环境变量正确嵌入
## 影响范围
- ✅ 生产环境构建: 现在会正确加载配置
- ✅ PostHog 功能: 将使用正确的配置初始化
- ✅ 开发环境: 无影响,仍使用各自的环境文件
- ✅ 部署流程: 服务器构建时自动使用新配置
## 测试计划
1. 本地执行 npm run build 验证构建成功
2. 部署到生产环境
3. 验证 PostHog 后台收到正确的生产 URL
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 18:42:58 +08:00 |
|
zdl
|
6f60948ce5
|
feat: bugfix
|
2025-11-03 18:26:59 +08:00 |
|
zdl
|
82cb0b4034
|
feat: bugfix
|
2025-11-03 18:26:59 +08:00 |
|
zdl
|
8804f759d9
|
feat: bugfix
|
2025-11-03 18:20:57 +08:00 |
|
zdl
|
78e7001372
|
feat: bugfix
|
2025-11-03 18:20:57 +08:00 |
|
zdl
|
e798942656
|
feat: bugfix
|
2025-11-03 18:11:21 +08:00 |
|
zdl
|
26ad017d32
|
feat: bugfix
|
2025-11-03 18:11:21 +08:00 |
|
zdl
|
c97406e2bc
|
Merge branch 'feature_2025/1028_event' into feature
* feature_2025/1028_event: (107 commits)
feat: 实现 Redux 全局状态管理事件关注功能
feat: 添加mock接口
feat: 单排/双排列表模式切换
feat: bug修复
fix: 修复 Mock 环境相关概念返回空结果问题
refactor: 优化 StockChangeIndicators 颜色层次和视觉对比度
feat: 统一事件详情和滚动列表的重要性颜色样式
feat: 优化 EventScrollList 分页控制器位置和样式
feat本次提交包含的优化
fix: 完全移除 EventScrollList 顶部间距
fix: 减少 EventScrollList 顶部间距
fix: 修改 EventScrollList 左右箭头为翻页功能
feat: 优化社区页面滚动和分页交互体验…) ⎿ [feature_2025/1028_event 5dedbb3] feat: 优化社区页面滚动和分页交互体验 6 files changed, 1355 insertions(+), 49 deletions(-) create mode 100644 docs/test-cases/Community351241265351235242346265213350257225347224250344276213.md
fix: 修改相关概念组件以匹配真实API数据结构
refactor: 移除 RelatedConcepts 组件中的 API_BASE_URL 配置
feat: 增强历史事件对比卡片交互,支持点击跳转事件详情
feat: 修复相关概念卡片跳转逻辑,支持跳转至概念中心
feat: 优化股票卡片交互体验
feat: 在 DynamicNewsCard 头部集成搜索和筛选功能
feat(HistoricalEvents): 优化历史事件列表 UI 和相关股票弹窗
...
|
2025-11-03 17:41:28 +08:00 |
|
zdl
|
fea0bc3bbe
|
Merge branch 'feature_2025/1028_event' into feature
* feature_2025/1028_event: (107 commits)
feat: 实现 Redux 全局状态管理事件关注功能
feat: 添加mock接口
feat: 单排/双排列表模式切换
feat: bug修复
fix: 修复 Mock 环境相关概念返回空结果问题
refactor: 优化 StockChangeIndicators 颜色层次和视觉对比度
feat: 统一事件详情和滚动列表的重要性颜色样式
feat: 优化 EventScrollList 分页控制器位置和样式
feat本次提交包含的优化
fix: 完全移除 EventScrollList 顶部间距
fix: 减少 EventScrollList 顶部间距
fix: 修改 EventScrollList 左右箭头为翻页功能
feat: 优化社区页面滚动和分页交互体验…) ⎿ [feature_2025/1028_event 5dedbb3] feat: 优化社区页面滚动和分页交互体验 6 files changed, 1355 insertions(+), 49 deletions(-) create mode 100644 docs/test-cases/Community351241265351235242346265213350257225347224250344276213.md
fix: 修改相关概念组件以匹配真实API数据结构
refactor: 移除 RelatedConcepts 组件中的 API_BASE_URL 配置
feat: 增强历史事件对比卡片交互,支持点击跳转事件详情
feat: 修复相关概念卡片跳转逻辑,支持跳转至概念中心
feat: 优化股票卡片交互体验
feat: 在 DynamicNewsCard 头部集成搜索和筛选功能
feat(HistoricalEvents): 优化历史事件列表 UI 和相关股票弹窗
...
|
2025-11-03 17:41:28 +08:00 |
|
zdl
|
6872d7477f
|
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
|
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
|
2422e19eed
|
feat: 添加mock接口
|
2025-11-03 17:31:25 +08:00 |
|
zdl
|
6a0a8e8e2b
|
feat: 添加mock接口
|
2025-11-03 17:31:25 +08:00 |
|
zdl
|
9bd59cf2c5
|
feat: 单排/双排列表模式切换
|
2025-11-03 17:21:07 +08:00 |
|
zdl
|
8ebfad9992
|
feat: 单排/双排列表模式切换
|
2025-11-03 17:21:07 +08:00 |
|
zdl
|
7b6cd3ffaa
|
feat: bug修复
|
2025-11-03 17:12:01 +08:00 |
|
zdl
|
c208ba36b7
|
feat: bug修复
|
2025-11-03 17:12:01 +08:00 |
|
zdl
|
ca28596c0c
|
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
|
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 |
|
|
|
3f367a241e
|
修改总结
|
2025-11-03 16:10:35 +08:00 |
|
|
|
0d84ffe87f
|
修改总结
|
2025-11-03 16:10:35 +08:00 |
|
zdl
|
603f6513b5
|
refactor: 优化 StockChangeIndicators 颜色层次和视觉对比度
优化:
- 背景色统一使用 50 最浅色 (red.50/orange.50/green.50/teal.50)
- 边框色根据涨跌幅大小动态调整 (100-200 级别)
- 确保背景 < 边框 < 文字的颜色深度层次
- 提升视觉对比度和可读性
- 更新注释说明颜色逻辑
修改文件:
- src/components/StockChangeIndicators.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 16:01:42 +08:00 |
|
zdl
|
b95607e9b4
|
refactor: 优化 StockChangeIndicators 颜色层次和视觉对比度
优化:
- 背景色统一使用 50 最浅色 (red.50/orange.50/green.50/teal.50)
- 边框色根据涨跌幅大小动态调整 (100-200 级别)
- 确保背景 < 边框 < 文字的颜色深度层次
- 提升视觉对比度和可读性
- 更新注释说明颜色逻辑
修改文件:
- src/components/StockChangeIndicators.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 16:01:42 +08:00 |
|