融云 服务器获取消息,融云IM 获取好友添加消息
1.设置会话类型
//设置需要显示哪些类型的会话,由于楼主只需要单聊功能,所以只设置ConversationType_PRIVATE
[self setDisplayConversationTypes:@[@(ConversationType_PRIVATE),@(ConversationType_SYSTEM)
]];
2.依据文本消息的附加信息判断是否是好友添加类型消息
//重写RCConversationListViewController的onSelectedTableRow事件
- (void)onSelectedTableRow:(RCConversationModelType)conversationModelType
conversationModel:(RCConversationModel *)model
atIndexPath:(NSIndexPath *)indexPath {
UIMConversationController *conversationVC = [[UIMConversationController alloc]init];
conversationVC.displayUserNameInCell = YES;
//聊天界面的聊天类型
conversationVC.conversationType = model.conversationType;
//需要打开和谁聊天的会话界面,和谁聊天其实是通过TargetId来联系的。
conversationVC.targetId = model.targetId;
conversationVC.title = model.targetId;
RCTextMessage *msg = [RCTextMessage new];
msg = model.lastestMessage;
NSString *extra = msg.extra;
if ([extra isEqualToString:@"ConversationType_SYSTEM"]) {
NSLog(extra);
// push时隐藏
self.hidesBottomBarWhenPushed = YES;
// 进入到是否确认好友请求页面
UIMAddressBookViewController *addressBookVC = [UIMAddressBookViewController addressBookViewController];
UIMFriendModel *user = [UIMFriendModel new];
user.userId = model.targetId;
user.name = model.targetId;
user.icon = @"http://img4.duitang.com/uploads/item/201511/26/20151126112617_vUaQf.jpeg";
[self postGetfriendstatus:[RCIM sharedRCIM].currentUserInfo.userId friendid:model.targetId success:^(id responseObject) {
// NSLog(responseObject);
user.status = responseObject[@"m_status"];
} failure:^(NSError *error) {
NSLog(error);
}];
addressBookVC.friendInfo = user;
[self.navigationController pushViewController:addressBookVC animated:YES];
} else {
[self.navigationController pushViewController:conversationVC animated:YES];
};
}
附:
向客户端服务器发送添加好友的申请
image.png
#pragma mark - 请求添加好友
- (void)postAddfriendrequest: (NSString *)userid friendid:(NSString *)friendid success:(void (^)(id responseObject))success failure:(void (^)(NSError *error))failure
{
NSURL *url = [NSURL URLWithString:@".......url......."];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";
// 数据体
NSString *str = [NSString stringWithFormat:@"fromuser=%@&touser=%@&message=%@&messagetype=%@",userid,friendid,@"请求添加好友",@"ConversationType_SYSTEM"];
// 将字符串转换成数据
request.HTTPBody = [str dataUsingEncoding:NSUTF8StringEncoding];
// 3. 连接,异步
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (connectionError == nil) {
// 网络请求结束之后执行!
// 将Data转换成字符串
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
success(str);
}else{
failure(connectionError);
}
}];
// num = 1
NSLog(@"come here %@", [NSThread currentThread]);
}
融云 服务器获取消息,融云IM 获取好友添加消息相关推荐
- java云服务器系统选择,java云服务器系统选择
java云服务器系统选择 内容精选 换一换 登录Windows操作系统弹性云服务器时,无法正常进入系统.自启动系统修复模式,但选择修复选项后报错,无法继续进行系统恢复.Windows文件已损坏.登录管 ...
- 查找手机型号云服务器,查找手机型号云服务器
查找手机型号云服务器 内容精选 换一换 您可以通过"应用管理"页面的应用列表,快速查看应用状态,及相关异常信息,如图1所示.包括:应用状态:即图1中的①应用异常信息:即图1中的②云 ...
- 云服务器操作系统怎么安装,云服务器上怎么安装操作系统
云服务器上怎么安装操作系统 内容精选 换一换 当创建文件系统后,您需要使用云服务器来挂载该文件系统,以实现多个云服务器共享使用文件系统的目的.CIFS类型的文件系统不支持使用Linux操作系统的云服务 ...
- 传文件进云服务器,传文件进云服务器
传文件进云服务器 内容精选 换一换 本节操作介绍本地Linux操作系统主机通过SCP向Linux云服务器传输文件的操作步骤.登录管理控制台,在ECS列表页面记录待上传文件的云服务器的弹性公网IP.上传 ...
- mac系统做云服务器,mac系统的云服务器
mac系统的云服务器 内容精选 换一换 查询弹性云服务器的详细信息.该接口支持查询弹性云服务器的计费方式,以及是否被冻结.您可以在API Explorer中直接运行调试该接口.GET /v1/{pro ...
- 云服务器怎么选系统,云服务器怎么选择操作系统
云服务器怎么选择操作系统 内容精选 换一换 只有运行中的弹性云服务器才允许用户登录.Linux操作系统用户名"root".忘记密码,请先通过"重置密码"功能设置 ...
- 华为云服务器自己维护吗,云服务器要维护吗
云服务器要维护吗 内容精选 换一换 购买多台云服务器时,有以下两种方式设置有序的云服务器名称.自动排序:购买多台云服务器时自动按序增加4位数字后缀.正则排序:按照name_prefix[begin_n ...
- 云服务器转租赁协议,关于云服务器的租赁协议
关于云服务器的租赁协议 内容精选 换一换 本节操作指导用户关闭Windows操作系统云服务器的防火墙,以及防火墙添加例外端口的操作.本节操作以2012操作系统云服务器为例.防火墙开启和设置安全组是对云 ...
- 云服务器php版本修改,云服务器 更改php版本
云服务器 更改php版本 内容精选 换一换 本节操作介绍在管理控制台创建启动模板的操作步骤.每个账号在每个区域最多可创建30个启动模板.创建启动模板时,所有配置项均为可选.但如果缺失了创建实例的必要参 ...
- 网站云服务器资料本地备份,云服务器上备份本地数据
云服务器上备份本地数据 内容精选 换一换 云服务器备份(CSBS,Cloud Server Backup Service)提供对弹性云服务器(Elastic Cloud Server)和裸金属服务器( ...
最新文章
- ubuntu 下 object-c环境配置与hello world 编译
- 简单编译安装Apache
- windowsDOS命令
- 50个常用元器件图片_50个最常用的英语短语(一),值得收藏!
- LeetCode 663. 均匀树划分(树形DP)
- Android 数据访问之Internal Storage 数据保存在内存 demo+笔记
- react生命周期钩子
- 《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令
- 拓端tecdat|Matlab通过市场数据校准Hull-White利率模型参数
- Visual Assist X V10.4.1626.0 不错的软件,让VC++也能自动提示
- 关于浏览器存储问题理解
- labview和python哪个易学_如何学好labview?
- 接口测试用例设计思路_最全测试用例设计方法~思路分析
- (转载)一套键鼠控制多台电脑操作——Synergy软件(windows环境)
- win7配置计算机失败还原更改,win7系统更新失败 卡在还原更改处的解决方法
- 2019暑期建模培训简单总结
- 一日一签免费算卦_一日一签app免费算卦
- 《听读书怪才解读24部名人传记》笔记
- 富文本关键字搜索高亮,解决方法及优化(收藏!)
- 华为云SNAT 操作(脚本执行)
热门文章
- 嵌入式AI在linux芯片平台上的部署方案,选型。
- C语言开源代码网站收集
- photoshop9.0 中文免费版
- idea连接mysql数据库时报错‘The specified database user/password combination is rejected‘
- 前端项目中在线无插件预览xlsx、docx、ppt格式的文件方法
- 【FinE】蒙特卡洛模拟(1)
- 用html制作的蚂蜂窝旅游网页设计,爬取马蜂窝用户评论页面
- Museui 图标速览,再也不用担心网页打不开了
- 广汽埃安取消与华为联合开发AH8,转向自主研发
- java.lang.NoSuchMethodException: com.wwy.missionallowance.entities.Level.<init>()问题解决