// // PublicRoomManager.h // YUMI // // Created by YUMI on 2024/12/19. // #import #import @class UserInfoModel; NS_ASSUME_NONNULL_BEGIN /** * 公共聊天房间管理器 * 负责管理用户进入公共聊天房间的逻辑 */ @interface PublicRoomManager : NSObject #pragma mark - 单例方法 + (instancetype)sharedManager; #pragma mark - 生命周期管理 /** * 初始化公共房间管理器 * 在用户登录成功后调用 */ - (void)initialize; /** * 重置公共房间管理器 * 在用户登出时调用,清理所有状态 */ - (void)reset; #pragma mark - 状态查询 /** * 是否已初始化 */ - (BOOL)isInitialized; /** * 是否已进入公共房间 */ - (BOOL)isInPublicRoom; /** * 获取当前公共房间ID */ - (NSString *)currentPublicRoomId; // 更新来自 config 的数据 - (void)updateConfig; - (void)updateUserInfo:(UserInfoModel *)userInfo; #pragma mark - 手动控制 /** * 手动进入公共房间 * @param completion 完成回调 */ - (void)enterPublicRoomWithCompletion:(void(^)(NSError * _Nullable error))completion; /** * 手动退出公共房间 * @param completion 完成回调 */ - (void)exitPublicRoomWithCompletion:(void(^)(NSError * _Nullable error))completion; @end NS_ASSUME_NONNULL_END