Files
peko-ios/YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager_Migration_Guide.md

3.5 KiB
Raw Blame History

GiftComboManager 迁移指南

概述

为了简化连击功能的实现,我们对 GiftComboManager 进行了接口优化。新接口更加简洁、直观,同时保持了完全的向后兼容性。

新接口 vs 旧接口

状态管理

旧接口 新接口 说明
enableToCombo:YES activate 激活连击功能
enableToCombo:NO deactivate 停用连击功能
isGiftCombing isActive 检查是否激活

计数管理

旧接口 新接口 说明
loadComboCount currentCount 获取当前连击计数
loadComboCountFromSendGiftView incrementCount 增加连击计数
resetCombo reset 重置连击状态

操作控制

旧接口 新接口 说明
forceRemove clear 清除连击状态
sendGift send 发送连击礼物

使用示例

旧方式

// 激活连击
[[GiftComboManager sharedManager] enableToCombo:YES];

// 重置连击
[[GiftComboManager sharedManager] resetCombo];

// 获取计数
NSInteger count = [[GiftComboManager sharedManager] loadComboCount];

// 增加计数
NSInteger currentCount = [[GiftComboManager sharedManager] loadComboCountFromSendGiftView];

// 检查状态
BOOL isCombing = [[GiftComboManager sharedManager] isGiftCombing];

// 清除状态
[[GiftComboManager sharedManager] forceRemove];

新方式

// 激活连击
[[GiftComboManager sharedManager] activate];

// 重置连击
[[GiftComboManager sharedManager] reset];

// 获取计数
NSInteger count = [[GiftComboManager sharedManager] currentCount];

// 增加计数
[[GiftComboManager sharedManager] incrementCount];

// 检查状态
BOOL isActive = [[GiftComboManager sharedManager] isActive];

// 清除状态
[[GiftComboManager sharedManager] clear];

新增功能

状态查询

// 获取完整状态信息
NSDictionary *state = [[GiftComboManager sharedManager] stateInfo];

// 检查是否可以开始连击
BOOL canStart = [[GiftComboManager sharedManager] canStartCombo];

// 验证并修复状态
[[GiftComboManager sharedManager] validateState];

// 获取状态摘要
NSString *summary = [[GiftComboManager sharedManager] statusSummary];

错误处理

// 处理错误
NSError *error = [NSError errorWithDomain:@"ComboError" code:100 userInfo:nil];
[[GiftComboManager sharedManager] handleError:error];

// 获取错误信息
NSString *errorMsg = [[GiftComboManager sharedManager] lastErrorMessage];

// 清除错误
[[GiftComboManager sharedManager] clearError];

便捷方法

// 快速重置并激活
[[GiftComboManager sharedManager] resetAndActivate];

// 安全增加计数
NSInteger newCount = [[GiftComboManager sharedManager] safeIncrementCount];

迁移策略

阶段1并行使用当前

  • 旧接口继续工作,但会显示废弃警告
  • 新接口可以开始使用
  • 逐步迁移现有代码

阶段2完全迁移未来

  • 移除旧接口
  • 统一使用新接口
  • 简化代码结构

注意事项

  1. 向后兼容性:所有旧接口仍然可用
  2. 废弃警告:使用旧接口会显示警告,但不影响功能
  3. 性能优化:新接口内部实现更简洁,性能更好
  4. 错误处理:新接口提供更好的错误处理机制

测试建议

  1. 功能测试:确保新接口功能正确
  2. 兼容性测试:确保旧接口仍然工作
  3. 性能测试:验证新接口的性能表现
  4. 回归测试:确保没有引入新的问题