cdts/xdts-ios 3/TUICalling/Source/Model/Util/TRTCCallingUtils.m

97 lines
2.8 KiB
Mathematica
Raw Normal View History

2023-07-27 09:20:00 +08:00
//
// TUIUtils.m
// TXIMSDK_TUIKit_iOS
//
// Created by xiangzhang on 2020/7/3.
//
#import "TRTCCallingUtils.h"
@implementation TRTCCallingUtils
+ (TRTCCallingUtils *)shareInstance {
static dispatch_once_t onceToken;
static TRTCCallingUtils *g_sharedInstance = nil;
dispatch_once(&onceToken, ^{
g_sharedInstance = [[TRTCCallingUtils alloc] init];
});
return g_sharedInstance;
}
// roomID roomID
+ (UInt32)generateRoomID {
// android int32roomID 0
UInt32 random = 1 + arc4random() % (INT32_MAX - 1);
return random;
}
+ (void)getCallUserModel:(NSString *)userID finished:(void(^)(CallUserModel *))finished {
[[V2TIMManager sharedInstance] getUsersInfo:@[userID] succ:^(NSArray<V2TIMUserFullInfo *> *infoList) {
V2TIMUserFullInfo *info = infoList.firstObject;
if (info) {
CallUserModel *model = [[CallUserModel alloc] init];
model.name = info.nickName;
model.avatar = info.faceURL;
model.userId = info.userID;
finished(model);
} else {
finished(nil);
}
} fail:^(int code, NSString *desc) {
finished(nil);
}];
}
+ (NSString *)dictionary2JsonStr:(NSDictionary *)dict {
return [[NSString alloc] initWithData:[self dictionary2JsonData:dict] encoding:NSUTF8StringEncoding];
}
+ (NSDictionary *)jsonSring2Dictionary:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err = nil;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err];
if (err || ![dic isKindOfClass:[NSDictionary class]]) {
NSLog(@"Json parse failed: %@", jsonString);
return nil;
}
return dic;
}
+ (NSData *)dictionary2JsonData:(NSDictionary *)dict {
// Json
if ([NSJSONSerialization isValidJSONObject:dict])
{
NSError *error = nil;
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
if(error)
{
NSLog(@"[%@] Post Json Error", [self class]);
}
return data;
}
else
{
NSLog(@"[%@] Post Json is not valid", [self class]);
}
return nil;
}
+ (NSDictionary *)jsonData2Dictionary:(NSData *)jsonData {
if (jsonData == nil) {
return nil;
}
NSError *err = nil;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err];
if (err || ![dic isKindOfClass:[NSDictionary class]]) {
NSLog(@"Json parse failed");
return nil;
}
return dic;
}
@end