lafay
|
1bee7ea551
|
refactor(message): modularize MessageManager architecture
Frontend CI / ota-android (push) Successful in 11m20s
Frontend CI / build-and-push-web (push) Successful in 34m19s
Frontend CI / build-android-apk (push) Successful in 57m45s
重构消息管理模块,将单体 MessageManager 拆分为职责单一的子模块:
- MessageStateManager: 纯状态管理
- MessageDeduplication: 消息去重服务
- UserCacheService: 用户缓存服务
- ReadReceiptManager: 已读回执管理
- ConversationOperations: 会话操作
- MessageSendService: 消息发送
- MessageSyncService: 消息同步
- WSMessageHandler: WebSocket 消息处理
新增类型定义和常量文件,保持原有 API 向后兼容。修复 CallScreen 状态值错误,补充 PostDetailScreen 缺失样式,优化 GroupInfoPanel 导入。
|
2026-03-31 16:13:24 +08:00 |
|
lafay
|
de94447844
|
fix(frontend): 修复 TypeScript 类型错误,与后端 API 响应结构对齐
Frontend CI / build-android-apk (push) Has been cancelled
Frontend CI / build-and-push-web (push) Has been cancelled
Frontend CI / ota-android (push) Has been cancelled
- 修复 UserDTO 类型定义,字段改为非 nullable 类型
- 修复 PostMapper 使用正确的 snake_case 字段名
- 修复 UserMapper 移除不存在的 is_blocked 和 updated_at 字段
- 修复 MessageMapper 使用 segments 替代已移除的字段
- 修复 MessageSyncService 正确处理 API 响应类型
- 修复 LocalDataSource SQLite 参数类型问题
- 修复导航相关类型错误
- 修复 PostDetailScreen 和 EditProfileScreen 的 null/undefined 类型不匹配
|
2026-03-19 10:53:09 +08:00 |
|
lafay
|
a6cdb97e24
|
refactor: 架构重构 - 解耦过度耦合模块
主要改动:
1. 创建乐观更新工具函数 (optimisticUpdate.ts)
- 消除 userStore.ts 中的重复代码
2. 拆分 useResponsive.ts (485行 -> 12个专注模块)
- useBreakpoint: 断点检测
- useOrientation: 方向检测
- usePlatform: 平台检测
- useScreenSize: 屏幕尺寸
- useResponsiveValue: 响应式值
- useResponsiveStyle: 响应式样式
- useMediaQuery: 媒体查询
- useColumnCount: 列数计算
- useResponsiveSpacing: 响应式间距
3. 整理数据层 (Repository 层)
- ApiDataSource: API数据源
- LocalDataSource: 本地数据源
- CacheDataSource: 缓存数据源
- MessageRepository: 消息仓库
4. 重构 messageManager.ts (2194行 -> 4个模块)
- MessageStateManager: 状态管理
- WebSocketMessageHandler: WebSocket处理
- MessageSyncService: 消息同步
- ReadReceiptManager: 已读管理
5. 导航解耦 (MainNavigator.tsx: 1118行 -> 100行)
- 创建 NavigationService 解耦层
- 拆分多个 Navigator 组件
架构改进:
- 单一职责原则: 每个模块职责明确
- 依赖倒置: 通过接口解耦
- 代码复用: 工具函数可被多处使用
- 可测试性: 各模块可独立测试
|
2026-03-18 12:11:49 +08:00 |
|