zdl
|
a5e001d975
|
refactor: 优化分页存储架构和缓存逻辑...
|
2025-11-06 01:20:07 +08:00 |
|
zdl
|
b470a3184b
|
fix: 添加 mockSocketService 缺失的事件订阅方法
修复控制台警告 "[useEventNotifications] socket.subscribeToEvents 方法不存在"
**问题原因**
- mockSocketService.js 中缺少 `subscribeToEvents`、`unsubscribeFromEvents` 等方法
- socketService.js 有这些方法,但 mock 版本没有实现
- 导致 useEventNotifications Hook 无法正常工作
**修复内容**
在 mockSocketService.js 中添加以下方法(lines 688-793):
1. **subscribeToEvents(options)** - 订阅事件推送
- 参数:eventType, importance, onNewEvent, onSubscribed
- Mock 实现:立即触发 onSubscribed 回调(100ms 延迟)
- 注册 onNewEvent 监听器到 'new_event' 事件
2. **unsubscribeFromEvents(options)** - 取消订阅
- 参数:eventType, onUnsubscribed
- Mock 实现:移除 'new_event' 监听器
- 立即触发 onUnsubscribed 回调(100ms 延迟)
3. **subscribeToAllEvents(onNewEvent)** - 快捷方法:订阅所有事件
- 调用 subscribeToEvents,eventType='all', importance='all'
4. **subscribeToImportantEvents(importance, onNewEvent)** - 快捷方法:按重要性订阅
- 调用 subscribeToEvents,eventType='all'
5. **subscribeToEventType(eventType, onNewEvent)** - 快捷方法:按类型订阅
- 调用 subscribeToEvents,importance='all'
**实现方式**
- Mock 实现使用 setTimeout 模拟异步回调
- 使用现有的 EventEmitter 机制(on/off)
- 与 socketService.js 保持 API 一致
**测试结果**
- ✅ 编译成功
- ✅ 不再显示 "socket.subscribeToEvents 方法不存在" 警告
- ✅ useEventNotifications Hook 可以正常调用订阅方法
- ✅ Mock 模式下事件订阅功能可用
**文件修改**
- src/services/mockSocketService.js (+108 lines)
- 新增 subscribeToEvents 方法
- 新增 unsubscribeFromEvents 方法
- 新增 3 个快捷订阅方法
|
2025-10-30 18:31:45 +08:00 |
|
zdl
|
f3c7e016ac
|
Merge branch '1028_bugfix' into feature
* 1028_bugfix:
手机号格式适配-前端修改
添加微信扫码的几种其他状态
整合register端口进入login端口
|
2025-10-29 16:27:31 +08:00 |
|
|
|
dd59cb6385
|
添加微信扫码的几种其他状态
|
2025-10-29 07:33:44 +08:00 |
|
zdl
|
b221c2669c
|
feat: 微信登陆逻辑调整
|
2025-10-28 19:04:58 +08:00 |
|
zdl
|
e05ea154a2
|
feat: 文案调整
|
2025-10-28 14:16:30 +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
|
094793c022
|
feat: 热门关键词UI调整 数据获取逻辑调整 接入redux
|
2025-10-25 18:22:41 +08:00 |
|
zdl
|
9dcd4bfbf3
|
feat: 调整行业请求数据结构
|
2025-10-23 14:24:26 +08:00 |
|
|
|
0b1591c3dd
|
update /api/events/<int:event_id>/stocks resp format
|
2025-10-23 08:18:13 +08:00 |
|
zdl
|
23188d5690
|
feat: 修改文件 │
│ │
│ 1. src/services/socketService.js - 指数退避 + 无限重试 │
│ 2. src/components/ConnectionStatusBar/index.js - UI 优化 + 自动消失 │
│ 3. src/App.js - handleClose 实现 + dismissed 状态管理 │
│ 4. src/contexts/NotificationContext.js - 添加成功状态检测 │
│ 5. NOTIFICATION_SYSTEM.md - v2.11.0 文档更新
|
2025-10-21 18:34:38 +08:00 |
|
zdl
|
09c9273190
|
feat: sockt 弹窗功能添加
|
2025-10-21 17:50:21 +08:00 |
|
zdl
|
c93f689954
|
Merge branch 'feature' of https://git.valuefrontier.cn/vf/vf_react into feature
|
2025-10-21 15:53:01 +08:00 |
|
zdl
|
38499ce650
|
feat: 添加消息推送能力
|
2025-10-21 15:48:38 +08:00 |
|
|
|
74968d5bc8
|
添加socketservice
|
2025-10-21 15:13:11 +08:00 |
|
zdl
|
5a3a3ad42b
|
feat: 添加消息推送能力,添加新闻催化分析页的合规提示
|
2025-10-21 10:59:52 +08:00 |
|
zdl
|
6c96299b8f
|
feat: 添加合规
|
2025-10-20 21:25:33 +08:00 |
|
zdl
|
a7695c7365
|
feat: 日志优化
|
2025-10-18 12:26:08 +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 |
|
zdl
|
081eb3c5c3
|
pref: 去除开发环境配置
|
2025-10-16 15:54:57 +08:00 |
|
zdl
|
7d283aab8e
|
feat: 注册和登录兼容h5
|
2025-10-15 11:43:04 +08:00 |
|
zdl
|
e0ca328e1c
|
feat: 调整注册逻辑
|
2025-10-14 16:02:33 +08:00 |
|
zdl
|
495ad758ea
|
feat: 10.10线上最新代码提交
|
2025-10-11 16:16:02 +08:00 |
|
|
|
4d0dc109bc
|
updated
|
2025-10-11 12:10:00 +08:00 |
|
|
|
8107dee8d3
|
Initial commit
|
2025-10-11 12:02:01 +08:00 |
|