//
|
// Copyright © 2017年 Zhejiang Dahua Technology Co.,Ltd. All rights reserved.
|
//
|
#import "DHModuleConfig.h"
|
#import "UIColor+LeChange.h"
|
#import "UIColor+HexString.h"
|
|
int g_configDistributionVersion = -1;
|
|
@interface DHModuleConfig()
|
@end
|
|
@implementation DHModuleConfig
|
|
+ (instancetype)shareInstance
|
{
|
static dispatch_once_t onceToken;
|
static DHModuleConfig *instance = nil;
|
dispatch_once(&onceToken, ^{
|
instance = [[DHModuleConfig alloc] init];
|
});
|
|
return instance;
|
}
|
|
- (instancetype)init
|
{
|
if (self = [super init]) {
|
[self loadConfigPlist];
|
}
|
|
return self;
|
}
|
|
- (void)loadConfigPlist
|
{
|
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"DHModuleConfig" ofType:@"plist"];
|
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];
|
_dicConfigs = [[NSMutableDictionary alloc] initWithDictionary:dic];
|
}
|
|
|
- (NSDictionary *)shareSheetType
|
{
|
NSDictionary *dicConfig = [_dicConfigs objectForKey:@"ShareSheetType"];
|
return [self generateDictionaryContainColor:dicConfig];
|
}
|
|
- (BOOL)isDistributionVersion
|
{
|
if (g_configDistributionVersion == -1) {
|
NSDictionary *bundleDic = [[NSBundle mainBundle] infoDictionary];
|
BOOL bDistributionVersion = [bundleDic[@"LCDistributionVersion"] boolValue];
|
g_configDistributionVersion = bDistributionVersion ? 1 : 0;
|
}
|
|
return g_configDistributionVersion == 1;
|
}
|
|
- (BOOL)isShareEnable {
|
|
|
return ![self isGeneralVersion];
|
}
|
|
- (BOOL)isLeChange {
|
NSInteger index = [[NSUserDefaults standardUserDefaults] integerForKey:@"GLOBAL_JOINT_CURRENT_MODE"];
|
return index == 0;
|
}
|
|
- (BOOL)isShowAllRecord {
|
id value = [_dicConfigs valueForKey:@"isShowAllRecord"];
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowCollectionMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowCollection"];
|
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowAllRecordMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowAllRecord"];
|
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowMoveAreaMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowMoveArea"];
|
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowLinkAgeMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowLinkage"];
|
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowWeatherMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowWeather"];
|
|
return [value boolValue];
|
}
|
|
- (BOOL)isShowDialogMaskView {
|
NSDictionary *maskView = [_dicConfigs valueForKey:@"MaskView"];
|
id value = [maskView valueForKey:@"isShowDialog"];
|
|
return [value boolValue];
|
}
|
|
- (NSInteger)ptzPanelStyle {
|
id value = [_dicConfigs valueForKey:@"PTZPanelStyle"];
|
return [value integerValue];
|
}
|
|
- (UIColor *)playOperateBgColor {
|
return [self private_colorWithKey:@"PlayOperateBgColor"];
|
}
|
|
- (UIColor *)liveMonitorDateBarColor {
|
return [self private_colorWithKey:@"LiveMonitorDateBarColor"];
|
}
|
|
- (UIColor *)navigationTextColor
|
{
|
return [self private_colorWithKey:@"NavigationTextColor"];
|
}
|
|
- (UIColor *)navigationBarColor
|
{
|
return [self private_colorWithKey:@"NavigationBarColor"];
|
}
|
|
|
- (UIColor *)themeColor {
|
return [self private_colorWithKey:@"ThemeColor"];
|
}
|
|
- (UIColor *)buyCloudTipColor {
|
return [self private_colorWithKey:@"BuyCloudTipColor"];
|
}
|
|
- (UIColor *)zoomFocusProgressBarColor {
|
return [self private_colorWithKey:@"ZoomFocusProgressBarColor"];
|
}
|
|
- (UIColor *)confirmButtonColor {
|
return [self private_colorWithKey:@"ConfirmButtonColor"];
|
}
|
|
- (UIColor *)themeSecondColor {
|
return [self private_colorWithKey:@"ThemeSecondColor"];
|
}
|
|
- (NSDictionary *)commonButtonConfig
|
{
|
NSDictionary *dicConfig = [_dicConfigs objectForKey:@"CommonButtonConfig"];
|
return [self generateDictionaryContainColor:dicConfig];
|
}
|
|
- (NSDictionary *)generateDictionaryContainColor:(NSDictionary *)dicOrigin
|
{
|
NSMutableDictionary *dicResult = [NSMutableDictionary dictionaryWithCapacity:2];
|
|
for (NSString *key in dicOrigin.allKeys) {
|
UIColor *color = [self private_colorWithKey:key value:dicOrigin[key]];
|
|
if (color) {
|
[dicResult setObject:color forKey:key];
|
} else {
|
[dicResult setObject:dicOrigin[key] forKey:key];
|
}
|
}
|
return dicResult;
|
}
|
|
|
|
#pragma mark - Prvivate
|
- (UIColor *)private_colorWithKey:(NSString *)key value:(id)value
|
{
|
UIColor *color;
|
NSString *uppercaseString = [key uppercaseString];
|
|
//将带有Color的转换成Color
|
if ([uppercaseString containsString:@"COLOR"] && [value isKindOfClass:[NSString class]]) {
|
color = [UIColor lc_colorWithHexString:(NSString *)value];
|
|
//兼容颜色转换错误
|
if (color == nil) {
|
color = [UIColor dhcolor_c43];
|
}
|
}
|
|
return color;
|
}
|
|
- (UIColor *)private_colorWithKey:(NSString *)key
|
{
|
NSDictionary *colors = [_dicConfigs valueForKey:@"Color"];
|
NSString *colorString = [colors valueForKey:key];
|
|
return [UIColor lc_colorWithHexString:colorString];
|
}
|
|
//MARK: - Extension
|
- (CGFloat)commonButtonCornerRadius
|
{
|
NSNumber *radius = [self commonButtonConfig][@"cornerRadius"];
|
return radius ? radius.floatValue : 5;
|
}
|
|
- (UIColor *)commonButtonColor
|
{
|
UIColor *color = [self commonButtonConfig][@"backgroundColor"];
|
return color ? : [UIColor dhcolor_c1];
|
}
|
|
- (NSString *)serviceCall
|
{
|
//SMB Todo::
|
return @"0123456789";
|
}
|
|
@end
|