zdl
|
e05ea154a2
|
feat: 文案调整
|
2025-10-28 14:16:30 +08:00 |
|
|
|
8787d5ddb7
|
整合register端口进入login端口
|
2025-10-28 13:45:45 +08:00 |
|
zdl
|
c33181a689
|
feat: 修复首页新闻中心卡片布局跳变问题
问题根源:
使用 useBreakpointValue 的 isMobile 变量在初始渲染时返回 undefined,导致:
1. 服务端渲染/首次加载时显示一种布局
2. 客户端水合后切换到另一种布局
3. 用户看到明显的布局跳变(先横向后纵向,或反之)
解决方案:
不使用条件渲染两套完全不同的 JSX,而是使用响应式样式让同一套 JSX 自动适应不同屏幕。
修改策略:
将移动端(VStack)和桌面端(Flex横向)合并为一套响应式布局:
- 使用 Flex + 响应式 flexDirection
- flexDirection={{ base: column, md: row }}(移动端纵向,桌面端横向)
- 统一使用响应式属性而不是条件渲染
|
2025-10-28 13:06:46 +08:00 |
|
|
|
29f035b1cf
|
Merge branch 'feature' of https://git.valuefrontier.cn/vf/vf_react into feature
|
2025-10-28 11:21:11 +08:00 |
|
|
|
513134f285
|
整合register端口进入login端口
|
2025-10-28 11:20:50 +08:00 |
|
zdl
|
7da50aca40
|
Merge branch 'feature' of https://git.valuefrontier.cn/vf/vf_react into feature
|
2025-10-28 11:18:50 +08:00 |
|
zdl
|
72aae585d0
|
fix: 修复首页路由跳转失败的问题
|
2025-10-28 11:18:39 +08:00 |
|
|
|
24c6c9e1c6
|
修改个股详情中桑基图提示Stack: Error: Sankey is a DAG
|
2025-10-28 10:46:23 +08:00 |
|
zdl
|
58254d3e8f
|
bugfix:调整
|
2025-10-27 22:31:41 +08:00 |
|
zdl
|
760ce4d5e1
|
feat: 路由链接调整
|
2025-10-27 22:31:06 +08:00 |
|
zdl
|
95c1eaf97b
|
bugfix:修复警告错误
|
2025-10-27 22:29:53 +08:00 |
|
zdl
|
657c446594
|
feat: 错误logger 不在被error页面捕获
|
2025-10-27 21:14:51 +08:00 |
|
zdl
|
10f519a764
|
Merge branch 'feature' of https://git.valuefrontier.cn/vf/vf_react into feature
|
2025-10-27 17:52:39 +08:00 |
|
zdl
|
f072256021
|
feat(EventList): 重构渲染和UI - 精简/详细模式优化、推送控制、描述展开
**主要变更**:
1. **渲染函数重构**:
- 重写 renderCompactEvent:标题2行+标签内联+按钮右侧布局
- 重写 renderDetailedEvent:标题+优先级+统计+价格标签+时间作者
- 添加 getTimelineBoxStyle 函数统一时间轴样式
- renderCompactEvent 支持隔行变色(index % 2)
2. **顶部控制栏全面升级**:
- 改为 sticky 定位,全宽白色背景
- 左侧占位,中间嵌入分页器,右侧控制按钮
- 新增桌面推送开关(使用 handlePushToggle)
- WebSocket 状态简化为 🟢实时/🔴离线
- 精简模式切换改为 xs 尺寸
3. **描述展开/收起功能**:
- 详细模式支持长描述(>120字符)展开/收起
- 使用 expandedDescriptions 状态管理
- noOfLines 动态切换
4. **统一时间格式**:
- 所有时间显示统一为 YYYY-MM-DD HH:mm
**效果**:
- 精简模式更紧凑,信息密度更高
- 详细模式布局更清晰,价格标签更易读
- 顶部控制栏功能集中,操作更便捷
- 推送权限管理可视化
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-27 17:46:13 +08:00 |
|
zdl
|
0e3bdc9b8c
|
feat(EventList): 功能增强 - 集成NotificationContext和添加动画
**主要变更**:
1. **集成NotificationContext**:
- 引入 useNotification hook,替代本地通知权限状态
- 删除本地 notificationPermission 状态和 useEffect
- 使用 browserPermission 和 requestBrowserPermission
- 添加 handlePushToggle 函数处理推送开关切换
2. **添加动画支持**:
- 从 @emotion/react 引入 keyframes
- 定义 pulseAnimation 脉冲动画(用于S/A级重要性标签)
3. **添加描述展开状态**:
- 新增 expandedDescriptions 状态管理
**效果**:
- 推送权限管理更集中统一
- 支持动画效果增强视觉体验
- 为后续UI优化做准备
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-27 17:40:51 +08:00 |
|
zdl
|
5e4c4e7cea
|
feat(EventList): UI优化 - 简化标签文字和调整顶部间距
**改进内容**:
1. 简化涨跌幅标签文字
- 平均涨幅 → 平均
- 最大涨幅 → 最大
- 周涨幅 → 周
2. 调整顶部间距
- 移除顶部padding (py={8} → pb={8})
- 控制栏紧贴页面顶部
**效果**: 节省显示空间,标签更简洁,顶部无留白
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-27 17:36:28 +08:00 |
|
zdl
|
31a7500388
|
feat: 热点事件UI调整成轮播图
|
2025-10-27 17:22:03 +08:00 |
|
zdl
|
03c113fe1b
|
feat: 修复数据获取bug
|
2025-10-27 17:21:31 +08:00 |
|
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 |
|