没有合适的资源?快使用搜索试试~ 我知道了~
最近很少写一下项目总结了,最近项目虽然做了很多,但是都是一些外包项目,做下来也没有什么值得总结的。最近一个项目用到了融云即时通讯,以前基本都是用环信,所以还遇到了一些问题,在此总结一下记录一下。 1 头像、昵称等用户信息(融云对这个问题有两种处理方式) 1.用户信息提供者 实现步骤(以下代码放在单例中,可以是AppDelegate,最好单独写一个单例) 首先遵守RCIMUserInfoDataSource这个协议 然后是要设置代理 [[RCIM sharedRCIM] setUserInfoDataSource:self]; 最后实现代理方法: - (void)getUserInfo
资源详情
资源评论
资源推荐
详解详解iOS集成融云集成融云SDK即时通讯整理即时通讯整理
最近很少写一下项目总结了,最近项目虽然做了很多,但是都是一些外包项目,做下来也没有什么值得总结的。最近一个项目
用到了融云即时通讯,以前基本都是用环信,所以还遇到了一些问题,在此总结一下记录一下。
1 头像、昵称等用户信息头像、昵称等用户信息(融云对这个问题有两种处理方式融云对这个问题有两种处理方式)
1.用户信息提供者
实现步骤(以下代码放在单例中,可以是AppDelegate,最好单独写一个单例)
首先遵守RCIMUserInfoDataSource这个协议
然后是要设置代理
[[RCIM sharedRCIM] setUserInfoDataSource:self];
最后实现代理方法:
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion {
NSLog(@"getUserInfoWithUserId ----- %@", userId);
RCUserInfo *user = [RCUserInfo new];
if (userId == nil || [userId length] == 0) {
user.userId = userId;
user.portraitUri = @"";
user.name = @"";
completion(user);
return;
}
if ([userId isEqualToString:[UserInfo shareInstance].uid]) {
NSString *urlSelf = [BASIC_URL_image stringByAppendingString:[UserInfo shareInstance].photo];
return completion([[RCUserInfo alloc] initWithUserId:userId name:[UserInfo shareInstance].nickname portrait:urlSelf]);
}else {
//根据存储联系人信息的模型,通过 userId 来取得对应的name和头像url,进行以下设置
[WTBaseHttpRequst postRequstWithURL:getUserHttp params:@{@"uid":[UserInfo shareInstance].uid, @"api_token":[UserInfo shareInstance].api_token,
@"k_uid":userId} successBlock:^(NSDictionary *returnData) {
if ([returnData[@"status"] integerValue] == 1) {
NSString *urlStr = [BASIC_URL_image stringByAppendingString:returnData[@"data"][@"user"][@"photo"]];
return completion([[RCUserInfo alloc] initWithUserId:userId name:returnData[@"data"][@"user"][@"nickname"] portrait:urlStr]);
}else {
completion(user);
}
} failureBlock:^(NSString *error) {
completion(user);
} showHUD:NO];
}
}
这个方法不需要你自己手动调用,只是当你在修改用户信息时调用
[[RCIM sharedRCIM] refreshUserInfoCache:user withUserId:[UserInfo shareInstance].uid]
方法即可
WS(weakSelf);
// 修改用户信息调用
[WTBaseHttpRequst postRequstWithURL:modifyInfoHttp params:dict successBlock:^(NSDictionary *returnData) {
[weakSelf MBProgressHudShowWithTextOnlyWithText:returnData[@"msg"]];
if ([returnData[@"status"] integerValue] == 1) {
RCUserInfo *user = [RCUserInfo new];
user.userId = [UserInfo shareInstance].uid;
user.portraitUri = [BASIC_URL_image stringByAppendingString:[UserInfo shareInstance].photo];
user.name = weakSelf.nickNameTextField.text;
[[RCIM sharedRCIM] refreshUserInfoCache:user withUserId:[UserInfo shareInstance].uid];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.navigationController popViewControllerAnimated:YES];
});
}
} failureBlock:^(NSString *error) {
[weakSelf MBProgressHudShowWithTextOnlyWithText:error];
} showHUD:YES];
2.在扩展消息中携带用户信息在扩展消息中携带用户信息
weixin_38740201
- 粉丝: 7
- 资源: 949
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0