iOS 环信相关

环信设置聊天页面用户头像

设置EaseMessageViewControllerDataSource协议, 实现- (id)messageViewController:(EaseMessageViewController *)viewController modelForMessage:(EMMessage *)message 协议方法.

- (id)messageViewController:(EaseMessageViewController *)viewController modelForMessage:(EMMessage *)message {
    TGUserInfoModel *userInfo = [TGUserInfoModel yl_getDataWithKey:KUserInfoSaveKey];
    id model = [[EaseMessageModel alloc] initWithMessage:message];
    if (model.isSender) { // 发送者头像
        model.avatarURLPath = userInfo.doctor_avatar;
        model.nickname = @"";
    } else { // 我的头像
        model.avatarURLPath = self.model.member_avatar;
        model.nickname = @"";
    }
    return model;
}

发送扩展消息, 这里以发送文本消息为例,其他消息类似.

- (void)sendTextMessage:(NSString *)text {
    if (![self _checkAuthOfSendMessage]) { // 此处为是否可以发送消息验证, 可删除
        return;
    }
    // dt_recommend_id 推荐医生ID
    EMMessage *message = [EaseSDKHelper getTextMessage:[text yl_replaceStringWithPattern:@"[0-9]{6,}" replaceStr:@"***"] to:self.conversation.conversationId messageType:EMChatTypeChat messageExt:nil];
    NSMutableDictionary *extDic = [NSMutableDictionary dictionary];
    [extDic setObject:@([self _getNowTimeTimestamp]) forKey:@"ctime"];
    [extDic setObject:self.model.dt_record_id forKey:@"dtRecordId"];
    [extDic setObject:self.detailModel.dt_record_from forKey:@"dt_record_from"];
    [extDic setObject:self.dt_record_type forKey:@"dt_record_type"];
    if (self.dt_record_type.integerValue == 5) {
        [extDic setObject:@"1" forKey:@"m_private_type"];
    }
    if (self.dt_record_type.integerValue == 4) {
        [extDic setObject:@"2" forKey:@"m_private_type"];
    }
    if (KObjectIsEmpty(self.doctorModel)) {
        message.ext = extDic;
    } else {
        [extDic setObject:self.doctorModel.doctor_id forKey:@"dt_recommend_id"];
        message.ext = extDic; // 为消息设置扩展字段
        self.doctorModel = nil;
    }
    // 我这里是继承环信的EaseMessageViewController实现聊天页面, 此处调用父类发送消息的方法即可发送消息
    [self sendMessage:message isNeedUploadFile:NO];
}

你可能感兴趣的:(iOS)