zdl
|
941b8368ab
|
refactor(StockDetailPanel): 提取5个UI组件和工具函数
**新增组件**:
- MiniTimelineChart.js (175行) - K线分时图组件
- StockSearchBar.js (50行) - 股票搜索栏
- StockTable.js (230行) - 股票列表表格
- LockedContent.js (50行) - 权限锁定提示
- RelatedStocksTab.js (110行) - 关联股票Tab
**新增工具**:
- klineDataCache.js (160行) - K线数据缓存管理
- 智能刷新策略:交易时段30秒,非交易时段1小时
- 请求去重机制
✨ 特性:
- 保持100%原有功能
- 遵循单一职责原则
- 支持组件复用
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:53:00 +08:00 |
|
zdl
|
d0a5afe83b
|
feat: 删除已迁移的文件
|
2025-10-30 14:52:16 +08:00 |
|
zdl
|
09db05c448
|
docs: 将所有文档迁移到 docs/ 目录
- 移动42个文档文件到 docs/ 目录
- 更新 .gitignore 允许 docs/ 下的 .md 文件
- 删除根目录下的重复文档文件
📁 文档分类:
- StockDetailPanel 重构文档(3个)
- PostHog 集成文档(6个)
- 系统架构和API文档(33个)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:51:22 +08:00 |
|
zdl
|
3a5c1b9d9c
|
refactor: 优化路由别名,统一路由规范
- 删除 /concept 别名路由,统一使用 /concepts
- 删除 /stock-overview 别名路由 (死代码,从未使用)
- 修改 StockOverview 中的链接: /concept → /concepts
优化收益:
- 路由配置从 18 个减少到 16 个
- 每个页面只有一个标准路径,避免混淆
- 统一使用复数形式 (concepts, stocks)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:43:39 +08:00 |
|
zdl
|
4130498b8e
|
refactor: 重构 App.js 使用声明式路由配置
- 移除 140+ 行路由定义 JSX,改用 AppRoutes 组件
- 移除 10 个懒加载组件声明 (已迁移到 routes/lazy-components.js)
- 移除 ProtectedRoute/ProtectedRouteRedirect 导入 (路由系统内部处理)
- 简化 AppContent 组件,只保留核心逻辑
效果:
- App.js 从 330 行减少到 165 行 (-50%)
- 代码职责更清晰,易于维护
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 14:42:54 +08:00 |
|
zdl
|
b29c37149a
|
feat: 创建声明式路由配置系统'
|
2025-10-30 14:37:20 +08:00 |
|
zdl
|
d5881462d2
|
feat: 将 AuthModalProvider 迁移到 Redux
## 主要改动
### 新增
- 创建 `store/slices/authModalSlice.js` - Redux Slice 管理认证弹窗状态
- 创建 `hooks/useAuthModal.js` - 自定义 Hook,组合 Redux 状态和业务逻辑
### 修改
- 更新 `store/index.js` - 添加 authModal reducer
- 更新 `App.js` - 移除 AuthModalProvider 包裹层
- 更新 5 个组件的 import 路径:
- AuthFormContent.js
- AuthModalManager.js
- WechatRegister.js
- HomeNavbar.js
- ProtectedRoute.js
### 删除
- 删除 `contexts/AuthModalContext.js` - 旧的 Context 实现
## 迁移效果
- ✅ 减少 Provider 嵌套层级(4层 → 3层)
- ✅ 统一状态管理架构(Redux)
- ✅ 更好的调试体验(Redux DevTools)
- ✅ 保持 API 兼容性(无破坏性修改)
## 技术细节
- 使用 `useRef` 存储 `onSuccessCallback`(函数不可序列化)
- 保持与 AuthContext 的依赖关系(AuthProvider 暂未迁移)
- 所有业务逻辑保持不变,仅改变状态管理方式
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 13:22:45 +08:00 |
|
zdl
|
3acc00ac8d
|
fix: 修复导航栏 Max 会员订阅信息显示问题
- 修复 HomeNavbar 中 useEffect 执行顺序导致订阅信息不加载的问题
- 移除 ref 检查逻辑,改为直接根据登录状态加载订阅信息
- 增强订阅相关的调试日志输出(getCurrentUser, API handler, HomeNavbar)
- 优化用户数据获取的日志格式,便于问题排查
|
2025-10-30 13:09:41 +08:00 |
|
zdl
|
1d5efd88b2
|
feat: 创建第三个 Hook - useStockMonitoring.js(实时监控功能)
|
2025-10-30 13:06:48 +08:00 |
|
zdl
|
19a8866305
|
feat: 提交 Custom Hooks
|
2025-10-30 13:04:42 +08:00 |
|
zdl
|
3472d267af
|
feat: 提交 Redux Slice
|
2025-10-30 13:03:31 +08:00 |
|
zdl
|
c77061f36d
|
feat: 将 IndustryProvider (176行) 完整迁移到 Redux
|
2025-10-30 12:54:32 +08:00 |
|
zdl
|
a9e30d4eb9
|
feat: 修复 EventList.js 缺少 Tooltip 导入的错误
|
2025-10-30 12:24:12 +08:00 |
|
zdl
|
fb1f5e10db
|
docs: 添加 EventList.js 重构文档
|
2025-10-30 12:19:37 +08:00 |
|
zdl
|
4a0194e26c
|
feat: 重构主组件
│ │
│ │ - ❌ 移除 renderPriceChange 函数(60行) │ │
│ │ - ❌ 移除 renderCompactEvent 函数(200行) │ │
│ │ - ❌ 移除 renderDetailedEvent 函数(300行) │ │
│ │ - ❌ 移除 expandedDescriptions state │ │
│ │ - ❌ 精简 Chakra UI 导入 │ │
│ │ - ✅ 使用 EventCard 组件统一渲染 │ │
│ │ - ✅ 保留所有业务逻辑(WebSocket、通知、关注)
|
2025-10-30 12:15:55 +08:00 |
|
zdl
|
ff9f1fe2a1
|
feat: 创建组合组件(Molecules)
- EventHeader: 标题头部组件(100行) │ │
│ │ - CompactEventCard: 紧凑模式卡片(160行) │ │
│ │ - DetailedEventCard: 详细模式卡片(170行) │ │
│ │ - index.js: EventCard 统一入口(60行)
|
2025-10-30 12:15:03 +08:00 |
|
zdl
|
a39d57f9de
|
feat: 创建原子组件(Atoms) - EventTimeline: 时间轴显示(60行) │ │
│ │ - EventImportanceBadge: 重要性等级标签(100行) │ │
│ │ - EventStats: 统计信息组件(60行) │ │
│ │ - EventFollowButton: 关注按钮(40行) │ │
│ │ - EventPriceDisplay: 价格变动显示(130行) │ │
│ │ - EventDescription: 描述文本组件(60行)
|
2025-10-30 12:14:27 +08:00 |
|
zdl
|
57a7d3b9e7
|
feat: 拆分 EventList.js/提取价格相关工具函数到 utils/priceFormatters.js
|
2025-10-30 11:13:09 +08:00 |
|
zdl
|
cb84b0238a
|
Merge branch 'feature_2025/251029_legal_notice' into feature
* feature_2025/251029_legal_notice: (32 commits)
feat: API优化
feat: mock数据添加
feat: 修改内容:添加风险提示到K线图弹窗
feat:修复mock数据
feat: 访问"概念中心"页面 2. 点击任意概念卡片进入概念详情 3. 点击"历史时间轴"按钮(需要Max会员权限) 4. 查看弹窗底部是否显示风险提示 & mock数据处理
feat: 事件中心股票详情添加风险提示
feat: 涨停分析/股票详情弹窗 添加风险提示
feat: 添加mock数据
feat: 事件中心 事件详情底部添加风险提示
feat: 添加mock数据
feat: 核心页面添加风险提示
feat: 创建风险提示通用组件
feat: bugfix
feat: 优化packge.json
feat: package.json 优化方案
feat: 任务 1: 集成 TradingSimulation 追踪事件任务 2: 传递 tradingEvents 到子组件
feat: 统一的Hook架构
feat: 集成导航上报
feat: 已完成的工作: - ✅ 创建了4个P1优先级Hook(搜索、导航、个人资料、订阅) - ✅ 将其中3个Hook集成到5个组件中 - ✅ 在个人资料、设置、搜索、订阅流程中添加了15+个追踪点 - ✅ 覆盖了完整的收入漏斗(支付发起 → 成功 → 订阅创建) - ✅ 添加了留存追踪(个人资料更新、设置修改、搜索查询)
feat: P1通用功能:4个Hook创建完成(待集成)现在您可以追踪:
...
|
2025-10-30 10:41:24 +08:00 |
|
zdl
|
433fc4a0f5
|
feat: API优化
|
2025-10-29 19:49:20 +08:00 |
|
zdl
|
5bac525147
|
feat: mock数据添加
|
2025-10-29 19:41:05 +08:00 |
|
zdl
|
a049d0365b
|
feat: 修改内容:添加风险提示到K线图弹窗
|
2025-10-29 19:34:33 +08:00 |
|
zdl
|
fdbb6ceff5
|
feat:修复mock数据
|
2025-10-29 19:31:13 +08:00 |
|
zdl
|
35f8b5195a
|
feat: 访问"概念中心"页面
2. 点击任意概念卡片进入概念详情
3. 点击"历史时间轴"按钮(需要Max会员权限)
4. 查看弹窗底部是否显示风险提示 & mock数据处理
|
2025-10-29 19:18:12 +08:00 |
|
zdl
|
77aafd5661
|
feat: 事件中心股票详情添加风险提示
|
2025-10-29 19:12:18 +08:00 |
|
zdl
|
ce1bf29270
|
feat: 涨停分析/股票详情弹窗 添加风险提示
|
2025-10-29 19:08:51 +08:00 |
|
zdl
|
ac7a6991bc
|
feat: 添加mock数据
|
2025-10-29 18:43:57 +08:00 |
|
zdl
|
4435ef9392
|
feat: 事件中心 事件详情底部添加风险提示
|
2025-10-29 18:33:46 +08:00 |
|
zdl
|
224c6a12d4
|
feat: 添加mock数据
|
2025-10-29 18:02:58 +08:00 |
|
zdl
|
d0d8b1ebde
|
feat: 核心页面添加风险提示
|
2025-10-29 17:49:05 +08:00 |
|
zdl
|
bf8aff9e7e
|
feat: 创建风险提示通用组件
|
2025-10-29 17:42:24 +08:00 |
|
zdl
|
f3c7e016ac
|
Merge branch '1028_bugfix' into feature
* 1028_bugfix:
手机号格式适配-前端修改
添加微信扫码的几种其他状态
整合register端口进入login端口
|
2025-10-29 16:27:31 +08:00 |
|
zdl
|
ad21398e1c
|
feat: bugfix
|
2025-10-29 16:19:01 +08:00 |
|
zdl
|
0e1cc11330
|
feat: 优化packge.json
|
2025-10-29 16:01:28 +08:00 |
|
zdl
|
e9b54ce10d
|
feat: package.json 优化方案
主要改动: 配置本地开发环境 PostHog 上报到 Cloud\
1. 修改 npm start 默认行为
- start → 使用 .env.mock (默认 mock 数据)
- 添加 start:real → 使用 .env.local (真实后端)
2. 添加 PostHog 测试脚本
- 新增 test:tracking → 启用 PostHog debug 模式 + mock 数据
3. 清理冗余脚本
- 移除 start:local (冗余,只是调用 npm start)
- 重命名 install:clean → reinstall (移除自动启动)
- 添加 dev 快捷命令 (等同于 npm start)
- 添加 clean 命令 (只清理,不安装)
4. 优化 NODE_OPTIONS
- 不在每个命令中重复,通过注释说明可以提取为环境变量
- 保持 exit 0 在 lint 命令中
|
2025-10-29 16:00:21 +08:00 |
|
zdl
|
e5ab99bae6
|
feat: 任务 1: 集成 TradingSimulation 追踪事件任务 2: 传递 tradingEvents 到子组件
|
2025-10-29 14:24:39 +08:00 |
|
zdl
|
8632e40c94
|
feat: 统一的Hook架构
|
2025-10-29 13:15:14 +08:00 |
|
zdl
|
173b13bc70
|
feat: 集成导航上报
|
2025-10-29 12:52:34 +08:00 |
|
zdl
|
02cd234def
|
feat: 已完成的工作:
- ✅ 创建了4个P1优先级Hook(搜索、导航、个人资料、订阅)
- ✅ 将其中3个Hook集成到5个组件中
- ✅ 在个人资料、设置、搜索、订阅流程中添加了15+个追踪点
- ✅ 覆盖了完整的收入漏斗(支付发起 → 成功 → 订阅创建)
- ✅ 添加了留存追踪(个人资料更新、设置修改、搜索查询)
影响:
- 完整的用户订阅旅程可见性
- 个人资料/设置参与度追踪
- 搜索行为分析
- 完整的支付漏斗追踪(微信支付)
|
2025-10-29 12:29:41 +08:00 |
|
zdl
|
e3a953559f
|
feat: P1通用功能:4个Hook创建完成(待集成)现在您可以追踪:
1. 完整的用户旅程
- 从进入网站 → 浏览内容 → 使用功能 → 遇到付费墙 → 付费转化
2. 核心业务指标
- DAU/MAU(活跃用户)
- 功能使用率(哪些功能最受欢迎)
- 搜索热度(用户需求洞察)
- Revenue转化漏斗(付费转化分析)
- 用户参与度(Profile更新、设置变更)
3. 产品优化方向
- 哪些功能需要优化?
- 用户在哪个环节流失?
- 哪些内容最受欢迎?
- 如何提高付费转化率?
|
2025-10-29 12:01:26 +08:00 |
|
zdl
|
78e4b8f696
|
feat: Retention(留存)分析
1. 最受欢迎的功能
- 哪些功能用户使用最频繁?
- 新闻、事件、个股、模拟盘的使用对比
2. 用户行为路径
- 用户从哪里进入?
- 在每个页面停留多久?
- 从哪个环节流失?
3. 内容偏好
- 什么类型的新闻最受欢迎?
- 用户关注哪些行业?
- 哪些事件获得最多关注?
Revenue(收入)转化
1. 付费转化漏斗
个人中心查看 →
自选股/关注事件使用 →
订阅页面查看 →
升级按钮点击 →
(付费转化)
2. 模拟盘转化分析
模拟盘进入 →
搜索股票 →
下单操作 →
持续使用 →
(付费转化)
|
2025-10-29 11:48:29 +08:00 |
|
zdl
|
1cf6169370
|
feat: 创建了 4个核心埋点Hook
- ✅ 覆盖了 45+个追踪事件
- ✅ 补充了 4个核心功能模块的完整埋点
- ✅ 提供了 详细的集成指南和示例代码
- ✅ 提升了 Retention指标覆盖率至90%
- ✅ 建立了 Revenue转化追踪基础
|
2025-10-29 11:40:32 +08:00 |
|
|
|
8417ab17be
|
手机号格式适配-前端修改
|
2025-10-29 11:20:41 +08:00 |
|
|
|
dd59cb6385
|
添加微信扫码的几种其他状态
|
2025-10-29 07:33:44 +08:00 |
|
zdl
|
e3721b22ff
|
feat: LimitAnalyse(涨停分析) - 1 个 Hook,主页面集成
|
2025-10-28 21:58:43 +08:00 |
|
zdl
|
357b8bbdd7
|
feat: Company - 5个事件(页面浏览、股票搜索、Tab 切换、自选股管理)
|
2025-10-28 21:52:27 +08:00 |
|
zdl
|
c6a6444d9a
|
feat: 概念中心的事件追踪
|
2025-10-28 21:45:51 +08:00 |
|
zdl
|
c42a14aa8f
|
feat: 首页登陆事件追踪
|
2025-10-28 21:45:06 +08:00 |
|
zdl
|
cddd0e860e
|
feat: Concept 页面 - 9个事件搜索、筛选、概念交互、个股查看、时间轴、视图切换
新建文件:
- src/views/Concept/hooks/useConceptEvents.js (203行)
- 提供8个追踪函数
- 页面浏览自动追踪
- 完整的事件属性定义
修改文件:
- src/views/Concept/index.js
- 添加 useConceptEvents Hook
- 集成追踪到9个关键函数:
i. handleSearch - 搜索查询
ii. handleSortChange - 排序变化
iii. handleDateChange - 日期变化
iv. handlePageChange - 翻页
v. handleConceptClick - 概念点击(传递位置)
vi. handleViewStocks - 查看个股
vii. handleViewContent - 历史时间轴
viii. 视图切换按钮 - 网格/列表切换
ix. ConceptCard/ConceptListItem - 位置追踪
追踪事件: 9个
1. CONCEPT_CENTER_VIEWED - 页面浏览
2. SEARCH_QUERY_SUBMITTED - 搜索查询
3. SEARCH_FILTER_APPLIED - 筛选(sort/date)
4. CONCEPT_CLICKED - 概念点击(含位置)
5. CONCEPT_STOCKS_VIEWED - 查看个股
6. CONCEPT_STOCK_CLICKED - 股票点击
7. CONCEPT_TIMELINE_VIEWED - 历史时间轴
8. NEWS_LIST_VIEWED - 翻页(复用)
9. VIEW_MODE_CHANGED - 视图切换
|
2025-10-28 21:40:33 +08:00 |
|
zdl
|
fbe3434521
|
feat: 完成集成后,您可以在 PostHog 中分析:
- 用户搜索行为:搜索频率、热门搜索词、搜索成功率
- 概念关注度:哪些概念最受关注、点击排名分布
- 热力图使用情况:用户点击的股票市值分布、涨跌偏好
- 日期筛选模式:用户倾向查看哪些日期的数据
- 转化漏斗:从页面浏览 → 搜索 → 点击 → 详情的转化率
|
2025-10-28 21:26:13 +08:00 |
|