提交
This commit is contained in:
115
TUIKit/TUICore/TUIConfig.m
Normal file
115
TUIKit/TUICore/TUIConfig.m
Normal file
@@ -0,0 +1,115 @@
|
||||
//
|
||||
// TUIConfig.m
|
||||
// TUIKit
|
||||
//
|
||||
// Created by kennethmiao on 2018/11/5.
|
||||
// Copyright © 2018 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUIConfig.h"
|
||||
#import "TUICommonModel.h"
|
||||
#import "TUIDefine.h"
|
||||
#import "TUILogin.h"
|
||||
#import "TUIThemeManager.h"
|
||||
|
||||
@interface TUIConfig ()
|
||||
|
||||
@property(nonatomic, strong) UIImage *defaultGroupAvatarImage_Public;
|
||||
@property(nonatomic, strong) UIImage *defaultGroupAvatarImage_Meeting;
|
||||
@property(nonatomic, strong) UIImage *defaultGroupAvatarImage_AVChatRoom;
|
||||
@property(nonatomic, strong) UIImage *defaultGroupAvatarImage_Community;
|
||||
|
||||
@end
|
||||
|
||||
@implementation TUIConfig
|
||||
|
||||
- (id)init {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_avatarCornerRadius = 5.f;
|
||||
_defaultAvatarImage = TUICoreBundleThemeImage(@"default_c2c_head_img", @"default_c2c_head");
|
||||
_defaultGroupAvatarImage = TUICoreBundleThemeImage(@"default_group_head_img", @"default_group_head");
|
||||
_defaultGroupAvatarImage_Public = TUICoreBundleThemeImage(@"default_group_head_public_img", @"default_group_head_public");
|
||||
_defaultGroupAvatarImage_Meeting = TUICoreBundleThemeImage(@"default_group_head_meeting_img", @"default_group_head_meeting");
|
||||
_defaultGroupAvatarImage_AVChatRoom = TUICoreBundleThemeImage(@"default_group_head_avchatroom_img", @"default_group_head_avchatRoom");
|
||||
_defaultGroupAvatarImage_Community = TUICoreBundleThemeImage(@"", @"default_group_head_community");
|
||||
|
||||
_isExcludedFromUnreadCount = NO;
|
||||
_isExcludedFromLastMessage = NO;
|
||||
_enableToast = YES;
|
||||
_displayOnlineStatusIcon = NO;
|
||||
_enableGroupGridAvatar = YES;
|
||||
_avatarType = TAvatarTypeRounded;
|
||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(onChangeTheme) name:TUIDidApplyingThemeChangedNotfication object:nil];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (id)defaultConfig {
|
||||
static dispatch_once_t onceToken;
|
||||
static TUIConfig *config;
|
||||
dispatch_once(&onceToken, ^{
|
||||
config = [[TUIConfig alloc] init];
|
||||
});
|
||||
return config;
|
||||
}
|
||||
|
||||
- (void)onChangeTheme {
|
||||
self.defaultAvatarImage = TUICoreBundleThemeImage(@"default_c2c_head_img", @"default_c2c_head");
|
||||
self.defaultGroupAvatarImage = TUICoreBundleThemeImage(@"default_group_head_img", @"default_group_head");
|
||||
self.defaultGroupAvatarImage_Public = TUICoreBundleThemeImage(@"default_group_head_public_img", @"default_group_head_public");
|
||||
self.defaultGroupAvatarImage_Meeting = TUICoreBundleThemeImage(@"default_group_head_meeting_img", @"default_group_head_meeting");
|
||||
self.defaultGroupAvatarImage_AVChatRoom = TUICoreBundleThemeImage(@"default_group_head_avchatroom_img", @"default_group_head_avchatroom");
|
||||
self.defaultGroupAvatarImage_Community = TUICoreBundleThemeImage(@"default_group_head_community_img", @"default_group_head_community");
|
||||
}
|
||||
|
||||
- (UIImage *)getGroupAvatarImageByGroupType:(NSString *)groupType {
|
||||
if ([groupType isEqualToString:GroupType_Work]) {
|
||||
return self.defaultGroupAvatarImage;
|
||||
} else if ([groupType isEqualToString:GroupType_Public]) {
|
||||
return self.defaultGroupAvatarImage_Public;
|
||||
} else if ([groupType isEqualToString:GroupType_Meeting]) {
|
||||
return self.defaultGroupAvatarImage_Meeting;
|
||||
} else if ([groupType isEqualToString:GroupType_AVChatRoom]) {
|
||||
return self.defaultGroupAvatarImage_AVChatRoom;
|
||||
} else if ([groupType isEqualToString:GroupType_Community]) {
|
||||
return self.defaultGroupAvatarImage_Community;
|
||||
} else {
|
||||
return self.defaultGroupAvatarImage;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Sence
|
||||
- (void)setSceneOptimizParams:(NSString *)path {
|
||||
NSURL *url = [NSURL URLWithString:@"https://demos.trtc.tencent-cloud.com/prod/base/v1/events/stat"];
|
||||
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
|
||||
req.HTTPMethod = @"POST";
|
||||
NSDictionary *msgData =
|
||||
@{@"sdkappid" : @([TUILogin getSdkAppID]), @"bundleId" : NSBundle.mainBundle.bundleIdentifier ?: @"", @"package" : @"", @"component" : path};
|
||||
NSString* userId =[TUILogin getUserID];
|
||||
NSDictionary *param = @{@"userid" : (userId?:@""), @"event" : @"useScenario", @"msg" : msgData};
|
||||
NSData *data = [NSJSONSerialization dataWithJSONObject:param options:NSJSONWritingPrettyPrinted error:nil];
|
||||
if (!data) {
|
||||
return;
|
||||
}
|
||||
req.HTTPBody = data;
|
||||
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
config.HTTPAdditionalHeaders = @{@"api-key" : @"API_KEY", @"Content-Type" : @"application/json"};
|
||||
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
|
||||
[[session dataTaskWithRequest:req
|
||||
completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, NSError *_Nullable error) {
|
||||
if (data) {
|
||||
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
long code = [dic[@"errorCode"] longValue];
|
||||
if (code == 0) {
|
||||
NSLog(@"scene param [%@] success", path);
|
||||
} else {
|
||||
NSString *msg = dic[@"errorMessage"];
|
||||
NSLog(@"scene param [%@] failed: [%ld] %@", path, code, msg);
|
||||
}
|
||||
} else {
|
||||
NSLog(@"scene param [%@] error: res data nil", path);
|
||||
}
|
||||
}] resume];
|
||||
}
|
||||
@end
|
||||
Reference in New Issue
Block a user