Commit Graph

22 Commits

Author SHA1 Message Date
zdl
c639b418f0 refactor(Center): 重构个人中心为左右布局
- 左侧自适应:投资仪表盘、规划中心、论坛
- 右侧固定200px:关注股票、关注事件
- 使用 THEME 黑金配色
- 宽度与导航栏保持一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-22 18:59:09 +08:00
39cbf98d6a update watchlist 2025-12-15 18:40:11 +08:00
50d881b889 update watchlist 2025-12-15 18:35:59 +08:00
8221180200 update watchlist 2025-12-15 18:28:35 +08:00
zdl
a9c21d8478 fix(UI): Profile 取消按钮样式、HotEvents 轮播箭头、Dashboard 按钮优化
- Profile: 取消按钮添加深色主题样式 (color, borderColor, hover)
- HotEvents: 轮播箭头添加 user-select: none 防止连续点击选中文本
- Dashboard: "查看更多"按钮改为图标按钮 (IconButton + FiPlus)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 15:20:02 +08:00
zdl
b74d88e592 fix: 适配 watchlist 新数据结构
- CompactSearchBox: 改用 Redux 获取股票列表
 - useWatchlist: 适配 { stock_code, stock_name }[] 结构
 - Center: 修复 watchlist key + H5 评论 Badge 溢出
2025-12-05 17:23:51 +08:00
zdl
c9801014c7 style: Dashboard Center 页面 H5 响应式适配 2025-12-05 14:42:37 +08:00
zdl
f64c1ffb19 feat: 事件详情页 URL ID 加密,防止用户遍历
- 新增 idEncoder.ts 工具:使用 Base64 + 前缀混淆加密 ID
- 路由改为查询参数形式:/event-detail?id=xxx
- 更新所有入口使用 getEventDetailUrl() 生成加密链接
- 兼容旧链接:纯数字 ID 仍可正常访问

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 18:26:01 +08:00
4ba6fd34ff update pay ui 2025-12-02 19:44:46 +08:00
2b3700369f update pay ui 2025-12-02 17:55:01 +08:00
f60c6a8ae9 update pay ui 2025-12-02 17:36:35 +08:00
f24f37c50d update pay ui 2025-12-02 17:30:52 +08:00
zdl
d69a32a320 fix: 修复个人中心不显示新发表的评论问题
问题描述:
- 用户在事件中心发表评论后,打开个人中心看不到新评论
- 个人中心"我的评论"区域始终为空或显示旧数据

根本原因:
- 项目存在两套独立的评论系统:
  1. 旧系统(EventComment 表)- 个人中心查询此表
  2. 新系统(Post 表)- 事件中心写入此表
- 创建评论时写入 Post 表,但个人中心查询 EventComment 表
- 两个表完全独立,数据不同步

修复方案(统一到 Post 系统):
1. 后端新增 API:GET /api/account/events/posts
   - 查询 Post 表中当前用户的所有评论
   - 返回格式完全兼容旧 EventComment.to_dict()
   - 新增 event_title 字段(改进点,旧 API 没有)

2. 前端修改 API 调用:Center.js
   - 将 /api/account/events/comments 改为 /api/account/events/posts
   - 无需修改数据渲染逻辑(格式兼容)

修改文件:
- app.py (第 4144-4187 行) - 新增 get_my_event_posts API
  - 查询 Post 表(user_id 过滤 + 按时间倒序)
  - JOIN 查询关联的 Event(获取 event_title)
  - 返回兼容格式:author(字符串), likes, created_at, event_title

- src/views/Dashboard/Center.js (第 105 行) - 修改 API 调用路径
  - 修改前:GET /api/account/events/comments
  - 修改后:GET /api/account/events/posts

数据兼容性:
- author 字段:字符串类型(与旧 EventComment 一致)
- likes 字段:映射自 likes_count
- created_at 字段:ISO 8601 格式
- 新增:event_title 字段(个人中心可显示评论关联的事件)

修复效果:
- 用户在事件中心发表评论 → 立即在个人中心看到新评论 
- 评论显示完整信息:内容、时间、关联事件标题 
- 前端无需修改渲染逻辑(完全兼容) 

🤖 Generated with Claude Code
2025-11-17 11:25:18 +08:00
zdl
5d8ad5e442 feat: bugfix 2025-10-31 10:33:53 +08:00
zdl
78e4b8f696 feat: Retention(留存)分析
1. 最受欢迎的功能
    - 哪些功能用户使用最频繁?
    - 新闻、事件、个股、模拟盘的使用对比
  2. 用户行为路径
    - 用户从哪里进入?
    - 在每个页面停留多久?
    - 从哪个环节流失?
  3. 内容偏好
    - 什么类型的新闻最受欢迎?
    - 用户关注哪些行业?
    - 哪些事件获得最多关注?

  Revenue(收入)转化

  1. 付费转化漏斗
  个人中心查看 →
  自选股/关注事件使用 →
  订阅页面查看 →
  升级按钮点击 →
  (付费转化)
  2. 模拟盘转化分析
  模拟盘进入 →
  搜索股票 →
  下单操作 →
  持续使用 →
  (付费转化)
2025-10-29 11:48:29 +08:00
zdl
6f34cab6d1 feat: 优化依赖 2025-10-24 17:18:08 +08:00
zdl
6c96299b8f feat: 添加合规 2025-10-20 21:25:33 +08:00
zdl
d695f8ff7b feat: 登陆状态调整 2025-10-20 13:58:07 +08:00
zdl
44f9fea624 feat: 添加导航徽章 2025-10-20 13:28:37 +08:00
zdl
47fcb570c0 feat: 日志优化 2025-10-18 17:33:15 +08:00
zdl
36558e0715 feat: 1. 基础设施(2个文件)
-  src/utils/logger.js - 统一日志工具
    - API 请求/响应/错误日志
    - 组件错误/警告/调试日志
    - 开发环境详细分组,生产环境仅错误
  -  src/utils/axiosConfig.js - axios 全局拦截器
    - 自动记录所有请求/响应
    - 统一 baseURL 和 credentials 配置\
2. 核心文件重构(8个文件)\
 AuthFormContent.js |  保留登录/注册成功 toast 移除验证码发送 toast 添加 .trim() 所有 API 添加 logger |  完成 |
  | Center.js          |  移除所有 toast 移除 toast 依赖 添加错误 logger                         |  完成 |
  | Community/index.js |  移除所有 toast 和导入 移除 toast 依赖 添加错误 logger                     |  完成 |
  | authService.js     |  统一 apiRequest 函数 所有请求自动记录 移除 console.error                 |  完成 |
  | eventService.js    |  重构 apiRequest 所有方法添加 logger 移除 console.log/error           |  完成 |
  | stockService       |  所有方法添加 logger 移除 console 输出                                 |  完成 |
  | indexService       |  添加 logger 移除 console 输出                                     |  完成 |
  | AuthContext.js     |  保留注册/登出成功 toast 移除验证码发送 toast 所有方法添加 logger                |  完成 |\
3. Mock 数据完善(\
 Mock 数据完善(1个文件)

  -  src/mocks/handlers/account.js - 个人中心 Mock
    -  自选股列表 (GET /api/account/watchlist)
    -  实时行情 (GET /api/account/watchlist/realtime)
    -  添加自选股 (POST /api/account/watchlist/add)
    -  删除自选股 (DELETE /api/account/watchlist/:id)
    -  关注的事件 (GET /api/account/events/following)
    -  事件评论 (GET /api/account/events/comments)
    -  当前订阅 (GET /api/subscription/current)\
4. API 文档(1个文件)

  -  API_ENDPOINTS.md - 完整 API 接口文档
    - 认证相关: 4个接口
    - 个人中心: 12个接口
    - 事件相关: 12个接口
    - 总计: 28+个接口\
5。Toast 策略执行:
  -  保留: 3种(登录成功、注册成功、登出成功)
  -  移除: 15+处(验证码、数据加载等)

  Logger 替换:
  -  console.log → logger.debug/logger.info
  -  console.error → logger.error\- console.warn → logger.warn

  Mock 数据:
  已有: auth.js, event.js, users.js, events.js
  新增: account.js(7个新接口)
6.用户体验改进
  静默优化:不再弹出验证码发送成功提示(静默处理)不再弹出数据加载失败提示(console 记录) 仅在关键操作显示 toast(登录/注册/登出)

  开发体验: Console 中有清晰的分组日志(🌐 🔴 ⚠️ 等图标), 所有 API 请求/响应自动记录,错误日志包含完整上下文和堆栈,Mock 服务完善
 测试场景: 登录/注册 - 仅显示成功 toast,验证码静默发送 个人中心 - 加载自选股、实时行情、关注事件 社区页面 - 加载事件列表、Console 查看
9. 添加日志:API Request /  API Response /  API Error
2025-10-18 07:48:00 +08:00
8107dee8d3 Initial commit 2025-10-11 12:02:01 +08:00