zoukankan      html  css  js  c++  java
  • 登录,注销

    - (void)logout
    {
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"usertoken"];
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"userid"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        
        SCach *cach = [SCach shareInstance];
        [cach removeFileData:@"loginMode" filePath:nil];
    }

    没有登录,切换 控制器

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        // Override point for customization after application launch.
        self.window.backgroundColor = [UIColor whiteColor];
        [LoginManager shareLoginManager];
        NSString *strUid = [[LoginManager shareLoginManager] getUserId];
        if(strUid){
            rootvc = [[RootTabBarController alloc] init];
            rootvc.view.frame = self.window.bounds;
            self.window.rootViewController = rootvc;
        }
        else{
            [self setLoginViewController];
    
        }
        [self.window makeKeyAndVisible];
        return YES;
    }
    @implementation LoginManager
    
    + (LoginManager *)shareLoginManager
    {
        static LoginManager *lm = nil;
        static dispatch_once_t oncePredicate;
        dispatch_once(&oncePredicate, ^{
            lm = [[LoginManager alloc] init];
        });
        return lm;
    }
    
    - (instancetype)init
    {
        if(self = [super init])
        {
            SCach *cach = [SCach shareInstance];
            [cach valueAsynForKey:@"loginMode" isMemory:NO filePath:nil className:@"LoginMode" block:^(id reslutId) {
                self.logMode = reslutId;
                if(self.logMode.strUid)
                {
                    [self setNetWorkParam:self.logMode.strUid userToke:self.logMode.strToken];
                    StoreMode *sm = [self.logMode.storeList objectAtIndex:0];
                    [self setNetWorkStoreId:sm.strId];
                    [self setCurrentStoreName:sm.strStoreName];
                    [self iosAppGetStoreList];
                }
            }];
        }
        return self;
    }
    - (void)saveUserId:(NSString *)aUserId
    {
        self.strUserId = aUserId;
        [[NSUserDefaults standardUserDefaults] setObject:self.strUserId forKey:@"userid"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    - (void)saveUserToken:(NSString *)aUserToken
    {
        self.strUserToken = aUserToken;
        [[NSUserDefaults standardUserDefaults] setObject:self.strUserToken forKey:@"usertoken"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    
    - (NSString*)getUserId
    {
        if(!self.strUserId)
        {
            self.strUserId = [[NSUserDefaults standardUserDefaults] objectForKey:@"userid"];
        }
        return self.strUserId;
    }
    
    - (NSString*)getUserToken
    {
        if(!self.strUserToken)
        {
            self.strUserToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"userid"];
        }
        return self.strUserToken;
    }

    登录

    - (void)login_request:(NSString *)aUserName pass:(NSString *)aPass
                 retblock:(LOGINRESULTBLOCK)aBlock
    {
        NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:0];
    #ifdef DEBUG
        [dict setValue:aUserName forKey:@"userName"];
        [dict setValue:aPass forKey:@"userPassword"];
    #else
        if(!aUserName || !aPass)
        {
            [SVProgressHUD showErrorWithStatus:@"请输入用户名或密码" duration:1.0f cover:NO offsetY:64];
            return ;
        }
        [dict setValue:aUserName forKey:@"userName"];
        [dict setValue:aPass forKey:@"userPassword"];
    #endif
        
        [dict setValue:@"1" forKey:@"loginUserType"];
        [NetManager requestWith:dict apiName:@"loginApp" method:@"POST" succ:^(NSDictionary *successDict) {
            NSString *msg = successDict[@"msg"];
            if ([msg isEqualToString:@"success"])
            {
                NSDictionary *resultDict = [successDict objectForKey:@"result"];
                if(resultDict)
                {
                    NSString *token = [resultDict objectForKey:@"token"];
                    [self saveUserToken:token];
                    NSString *uid = [resultDict objectForKey:@"uid"];
                    BaseIntToNSString(uid);
                    [self saveUserId:uid];
                    if(!self.logMode)
                    {
                        self.logMode = [[LoginMode alloc] init];
                    }
                    [self.logMode unPacketData:resultDict];
                    [self setNetWorkParam:self.strUserId userToke:self.strUserToken];
                    StoreMode *sm = [self.logMode.storeList objectAtIndex:0];
                    [self setCurrentStoreName:sm.strStoreName];
                    [self setNetWorkStoreId:sm.strId];
                    [self iosAppGetStoreList];
                    [[SCach shareInstance] setAsynValue:self.logMode key:@"loginMode" isMemeory:NO filePath:nil block:^(bool isResult) {
                        
                    }];
                }
                aBlock(@"success");
            }else aBlock(msg);
            
        } failure:^(NSDictionary *failDict, NSError *error) {
            aBlock(@"登陆失败");
        }];
    }
  • 相关阅读:
    java基础(4)--javadoc文档与命令
    java基础(3)--pulic class与class的区别
    java基础(2)--main方法讲解
    java基础(1)--注释
    shell 测试文件状态运算符
    shell 算术运算符
    linux free命令详解
    shell 基本语法
    linux vim编辑器优化
    linux shell介绍
  • 原文地址:https://www.cnblogs.com/songxing10000/p/4881534.html
Copyright © 2011-2022 走看看