Files
yinmeng-ios/xplan-ios/Main/Tabbar/ClientConfig.m
2022-08-09 16:50:17 +08:00

78 lines
2.4 KiB
Objective-C

//
// ClientConfig.m
// xplan-ios
//
// Created by 冯硕 on 2021/12/11.
//
#import "ClientConfig.h"
#import "Api+Main.h"
/// tool
#import "DESEncrypt.h"
#import "XPConstant.h"
#import <MJExtension/MJExtension.h>
#import "XPRoomFaceTool.h"
#import "NSString+Utils.h"
#import "YYUtility.h"
@interface ClientConfig ()
///重试的次数 10次 如果你还是失败的话 那就算了 没办法了
@property (nonatomic,assign) int retryCount;
@end
@implementation ClientConfig
+ (instancetype)shareConfig {
static dispatch_once_t onceToken;
static ClientConfig * config;
dispatch_once(&onceToken, ^{
config = [[ClientConfig alloc] init];
});
return config;
}
- (void)clientInit {
[Api clientInitConfig:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
self.retryCount = 0;
NSDictionary * initData = data.data;
self.iosPhoneBind = [initData[@"iosPhoneBind"] boolValue];
//糖果树配置
self.openCandyTree = [initData[@"openBoxSwitch"] boolValue];
self.openCandyTreeLimitLevel = [initData[@"openBoxSwitchLevelNo"] intValue];
ClientDataModel * model = [ClientDataModel modelWithDictionary:data.data];
self.configInfo = model;
//表情包
NSString *json = initData[@"faceJson"][@"json"];
NSString *deJson = [DESEncrypt decryptUseDES:json key:KeyWithType(KeyType_FacePwdEncode)];
NSDictionary *faceInitData = [deJson toJSONObject];
model.faceInitData = faceInitData;
if (faceInitData) {
[XPRoomFaceTool shareFaceTool].version = [NSString stringWithFormat:@"%@",faceInitData[@"version"]];
[XPRoomFaceTool shareFaceTool].zipMd5 = [[NSString stringWithFormat:@"%@",faceInitData[@"zipMd5"]] uppercaseString];
[XPRoomFaceTool shareFaceTool].zipUrl = [NSString stringWithFormat:@"%@",faceInitData[@"zipUrl"]];
///表情的数据保存本地
[[XPRoomFaceTool shareFaceTool] saveFaceInfoList:faceInitData];
///开始下载
[[XPRoomFaceTool shareFaceTool] downFaceData];
}
//是否展示公屏
NSString *serverVer = initData[@"appStoreAuditNoticeVersion"];
NSString *shortVer = [YYUtility appVersion];
BOOL isHigh = [NSString versionCompareOldStr:serverVer andNewStr:shortVer];
model.appStoreAuditNoticeVersion = isHigh;
self.configInfo = model;
} else {
if (self.retryCount < 10) {
[self clientInit];
self.retryCount+=1;
}
}
}];
}
@end