ifish/Ifish/Utinitys/IfishHttpRequest/IfishUserDataUnity.m

223 lines
8.0 KiB
Objective-C

//
// IfishUserDataUnity.m
// Ifish
//
// Created by imac on 17/4/7.
// Copyright © 2017年 lianlian. All rights reserved.
//
#import "IfishUserDataUnity.h"
#import "SVProgressHUD.h"
#import "IfishMianTabViewController.h"
#import "IfishUserDefaultHelper.h"
#import "NSObject+LBLaunchImage.h"
#import "IfishLoadingWebViewController.h"
#import "IfishADTimerViewController.h"
#import "RegistViewController.h"
#import "InfoByImageViewController.h"
@implementation IfishUserDataUnity
+(IfishUserDataUnity*)shareDataInstance
{
static IfishUserDataUnity*instance=nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
instance=[[[self class]alloc]init];
});
return instance;
}
-(void)userloginValidationSuccsess:(NSDictionary *)dataDic phoneNumber:(NSString *)phoneNumber passward:(NSString *)password
{
NSDictionary *userDic=dataDic[@"userInfo"];
UserModel *model=[[UserModel alloc] initWithDict:userDic];
[[DataCenter defaultDtacenter]setValue:model forKey:@"UserLogIn"];
[[DataCenter defaultDtacenter] cacheinit:[model.userId stringValue]];
//金币任务等级
NSDictionary *userAssetDic=dataDic[@"userAsset"];
IfishUserAsset *userAsset =[[IfishUserAsset alloc] initWithDict:userAssetDic];
[[DataCenter defaultDtacenter]setValue:userAsset forKey:@"IfishUserAsset"];
NSUserDefaults*userdefult=[NSUserDefaults standardUserDefaults];
if (password.length)
{
[userdefult setObject:password forKey:@"password"];
}
if (phoneNumber.length) {
[userdefult setObject:phoneNumber forKey:@"name"];
}
if (model.unionId.length) {
[userdefult setObject:model.unionId forKey:@"unionId"];
}
if (model.wechatImgUrl.length) {
[userdefult setObject:model.wechatImgUrl forKey:@"wechatImgUrl"];
}
[userdefult setObject:@"0" forKey:@"isExit"];
[userdefult setObject:model.userId forKey:@"userId"];
if ([model.userSex isEqual:[NSNull null]] || model.userSex ==nil) {
model.userSex=@"";
}
[userdefult setObject:model.userSex forKey:@"userSex"];
[userdefult synchronize];
NSLog(@"userDic:%@",userDic);
NSLog(@"登录成功");
BOOL skiped =[userdefult boolForKey:[CommonUtils getNotNilStr:model.unionId]];
if (!skiped&&[CommonUtils getNotNilStr:model.phoneNumber].length==0&&[CommonUtils getNotNilStr:model.unionId].length)
{
[self bindPhone];
}
else
{
[self setAppTabRoot];
}
}
#pragma mark - 自动登录
-(void)userAutologinSuccsess:(NSDictionary *)dataDic
{
NSDictionary *userDic=dataDic[@"userInfo"];
UserModel *model=[[UserModel alloc] initWithDict:userDic];
[[DataCenter defaultDtacenter]setValue:model forKey:@"UserLogIn"];
[[DataCenter defaultDtacenter] cacheinit:[model.userId stringValue]];
NSUserDefaults*userdefult=[NSUserDefaults standardUserDefaults];
if (model.unionId.length) {
[userdefult setObject:model.unionId forKey:@"unionId"];
}
if (model.wechatImgUrl.length) {
[userdefult setObject:model.wechatImgUrl forKey:@"wechatImgUrl"];
}
[userdefult synchronize];
//金币任务等级
NSDictionary *userAssetDic=dataDic[@"userAsset"];
IfishUserAsset *userAsset =[[IfishUserAsset alloc] initWithDict:userAssetDic];
[[DataCenter defaultDtacenter]setValue:userAsset forKey:@"IfishUserAsset"];
//是否升级
NSString *oldGradeNum = [IfishUserDefaultHelper getDefualtGradNum];
NSString *gradeNum = [NSString stringWithFormat:@"%@",userAsset.gradeNum];
if ([oldGradeNum intValue]<[gradeNum intValue]){
[[IfishUserObsever sharedInstance] showLevelUpWith:gradeNum];
[IfishUserDefaultHelper chageLevlelGrad:gradeNum];
}
//完成登陆验证开始 广告页倒计时
// [self setAdViewVC];
//去除广告
[self setAppTabRoot];
}
-(void)setAdViewVC
{
IfishADTimerViewController *mianVC=[[IfishADTimerViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mianVC];
[UIApplication sharedApplication].delegate.window.rootViewController=nav;
}
-(void)startLounchImg{
__weak typeof(self) weakSelf = self;
[NSObject makeLBLaunchImageAdView:^(LBLaunchImageAdView *imgAdView) {
[[UIApplication sharedApplication].keyWindow addSubview:imgAdView];
//设置广告的类型
imgAdView.getLBlaunchImageAdViewType(LogoAdType);
//设置本地启动图片
imgAdView.localAdImgName = @"Ifishlaunch_adView.jpg";
//自定义跳过按钮
imgAdView.skipBtn.backgroundColor = [UIColor blackColor];
//各种点击事件的回调
imgAdView.clickBlock = ^(clickType type){
switch (type) {
case clickAdType:{
NSLog(@"点击广告回调");
//TestViewController *vc = [[TestViewController alloc]init];
//vc.view.backgroundColor = [UIColor whiteColor];
//[[UIApplication sharedApplication].delegate.window.rootViewController presentViewController:vc animated:YES completion:^{
// }];
IfishMianTabViewController *mianVC=[[IfishMianTabViewController alloc] init];
[UIApplication sharedApplication].delegate.window.rootViewController=mianVC;
// IfishLoadingWebViewController *pushVC = [[IfishLoadingWebViewController alloc] init];
// pushVC.pushlink = IFISH_DEVCEITROURL;
// [mianVC.navigationController pushViewController:pushVC animated:YES];
InfoByImageViewController*info=[[InfoByImageViewController alloc]init];
info.title=NSLocalizedString(@"ifish_deviceuse", nil);;;
info.type=@"instruction";
info.image=[UIImage imageNamed:@"instruction"];
[mianVC.navigationController pushViewController:info animated:YES];
}
break;
case skipAdType:
{
NSLog(@"点击跳过回调");
[weakSelf setAppTabRoot];
}
break;
case overtimeAdType:
{
NSLog(@"倒计时完成后的回调");
[weakSelf setAppTabRoot];
}
break;
default:
break;
}
};
}];
}
//设置根视图
-(void)setAppTabRoot{
UserModel*model=[dataContorl getUserInfo];
NSUserDefaults*userdefult=[NSUserDefaults standardUserDefaults];
BOOL skiped =[userdefult boolForKey:[CommonUtils getNotNilStr:model.unionId]];
if (!skiped&&[CommonUtils getNotNilStr:model.phoneNumber].length==0&&[CommonUtils getNotNilStr:model.unionId].length)
{
RegistViewController*revv=[[RegistViewController alloc]init];
revv.isBind=YES;
revv.isFromLogin=YES;
UINavigationController*navi = [[UINavigationController alloc]initWithRootViewController:revv];
[UIApplication sharedApplication].delegate.window.rootViewController=navi;
}
else
{
IfishMianTabViewController *mianVC=[[IfishMianTabViewController alloc] init];
[UIApplication sharedApplication].delegate.window.rootViewController=mianVC;
}
}
-(void)bindPhone
{
RegistViewController*revv=[[RegistViewController alloc]init];
revv.isBind=YES;
revv.isFromLogin=YES;
UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:revv];
[UIApplication sharedApplication].delegate.window.rootViewController=nav;
}
@end