聊天组件说明文档1 事件的监听(包括图片、以及表情、文本、禁言)1.1 监听消息事件的回调通知2 消息的发送3 图片的发送4 公有的方法4.1 当前房间是否禁言4.2 当前用户是否被禁言4.3 禁言单个用户4.4 取消禁言某个用户4.5 全体禁言4.6 取消全体禁言
聊天组件的核心类是CCChatManager;
//在工程需要的地方引入头文件//1、类的实例化+ (instancetype)sharedChat;//2、与BaseSDK建立联系- (void)addBasicClient:(CCStreamerBasic *)basic;下面所有的场景都以demo为例,如场景:CCPlayViewController控制器,具体可参考demo实现; 在控制器添加监听,如下:
//#pragma mark -- 接收-(void)addObserver{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveSocketEvent:) name:CCNotiReceiveSocketEvent object:nil];}在不需要使用的时候移除监听,如下
-(void)removeObserver{ [[NSNotificationCenter defaultCenter] removeObserver:self];}监听事件处理如下:
- (void)receiveSocketEvent:(NSNotification *)noti{ CCSocketEvent event = (CCSocketEvent)[noti.userInfo[@"event"] integerValue]; id value = noti.userInfo[@"value"]; if (event == CCSocketEvent_Chat) { NSLog(@"%d", __LINE__); //聊天信息 [self chat_message:value]; } else if (event == CCSocketEvent_GagOne) { //判断自己是否被禁言 BOOL isSelfGag = [self.ccChatManager isUserGag]; } else if (event == CCSocketEvent_GagAll) { //判断房间是否被禁言 BOOL isSelfGag = [self.ccChatManager isRoomGag]; }}//解析聊天信息- (void)chat_message:(NSDictionary *)dic{ CCLog(@"chat_message_received:%@",dic); __unused NSString *role = dic[@"userrole"]; //根据userid判断消息的发送者 NSString *msg = dic[@"msg"]; if ([msg isKindOfClass:[NSString class]] || [msg isKindOfClass:[NSMutableString class]]) { [self showMessage:@"收到聊天message!"]; } else { [self showMessage:@"收到聊天Pic!"]; }}由发送端发起通知
/*! @method @abstract 发送公聊信息 */- (BOOL)sendMsg:(NSString *)message;object 参数说明:
| 参数名称 | 参数类型 | 说明 | 是否必须 |
|---|---|---|---|
| message | NSString | 发送消息 | 必选 |
由发送端发起通知
/*! @method @abstract 发送聊天图片 @param image 图片 @param completion 回调 */- (void)sendImage:(UIImage *)image completion:(CCComletionBlock)completion;object 参数说明:
| 参数名称 | 参数类型 | 说明 | 是否必须 |
|---|---|---|---|
| image | UIImage | image数据 | 必选 |
/*! @method @abstract 用户是否被禁言 */- (BOOL)isRoomGag; /*! @method @abstract 房间是否被禁言 */- (BOOL)isUserGag; /*! @method @abstract 对某个学生禁言 @param userID 学生ID @return 操作结果 */- (BOOL)gagUser:(NSString *)userID; /*! @method @abstract 取消对某个学生禁言 @param userID 学生ID @return 操作结果 */- (BOOL)recoveGagUser:(NSString *)userID; /*! @method @abstract 全体禁言 @param completion 回调闭包 @return 操作结果 */- (BOOL)gagAll:(CCComletionBlock)completion; /*! @method @abstract 取消全体禁言 @param completion 回调闭包 @return 操作结果 */- (BOOL)recoverGagAll:(CCComletionBlock)completion;