74 lines
1.3 KiB
Objective-C
74 lines
1.3 KiB
Objective-C
//
|
|
// PublicRoomManager.h
|
|
// YUMI
|
|
//
|
|
// Created by YUMI on 2024/12/19.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <NIMSDK/NIMSDK.h>
|
|
|
|
@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
|