116 lines
5.3 KiB
Mathematica
116 lines
5.3 KiB
Mathematica
|
|
//
|
||
|
|
// 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
|