zoukankan      html  css  js  c++  java
  • 依赖lean cloud的注册与登录

    前言

    实现登录注册的基本功能,没有添加手机验证和邮箱验证的功能,有相应的方法,如果需要,可以自己加上其相应的方法

    github的网址:

    效果图:

    正文

    1.导入leancloud相应的第三方,这个等我再写一个博客告诉大家怎么用,leancloud的官方文档也都有写,官方网址:https://leancloud.cn/?

    2.在你注册的leancloud里创建一个应用,那到appkey写到Appdelegate.m中,在这个应该中你就可以看见注册你的app的用户信息了.

    3.当你布置好页面以后,我的习惯先写注册功能,先创建一个用户AVUser

     //1.创建一个用户
        AVUser *user = [AVUser user];
        user.username = userName;
        user.password = passWord;
        
    //2.注册的方法
        [user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
            NSLog(@"lls");
            if (succeeded) {
                
                //3.如果注册成功就直接登陆
    
                   NSLog(@"注册成功");
             
            }else{
        
                NSLog(@"注册失败");
            }
            
        }];

    4.注册成功的话,要调用登录的方法

    //1.登陆的方法
        [AVUser logInWithUsernameInBackground:userName password:passWord block:^(AVUser *user, NSError *error) {
            
            //有用户
            if (user != nil) {
                
                //2.登陆成功,去根视图
                AppDelegate *app = [UIApplication sharedApplication].delegate;
       
                RootViewController *rootVC = [[RootViewController alloc] init];
                UINavigationController *rootNC = [[UINavigationController alloc] initWithRootViewController:rootVC];
                
                app.window.rootViewController = rootNC;
    
            }else{
           
            }
            
        }];

    5.基本功能完成了,开始解决问题

      1)不能每次都让你的用户登录,如果之前登录了,再次启动时不用用户再次登录,写一个判断方法,之前用block回调通知是否登录了,

     isLoginBlock(YES);
     isLoginBlock(NO);

      2)知道是否登录后,需要知道用户名和密码和用户id让他自动登录,所以之前应该保证到本地数据

     //把信息存在本地
                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
                //存放
                [defaults setObject:user.username forKey:@"userName"];
                [defaults setObject:user.objectId forKey:@"objectId"];
                [defaults setObject:user.password forKey:@"password"];
                
                
                [defaults setObject:@"YES" forKey:@"isLogin"];

      3)如果block的结果是YES,就当本地取数据,之后更换你的根视图

     //在本地取
        NSUserDefaults *userDegaults = [NSUserDefaults standardUserDefaults];
         //就是之前登陆了
        if ([[userDegaults objectForKey:@"isLogin"] isEqualToString:@"YES"]) {
           
            [UserManager shareUser].userName = [userDegaults objectForKey:@"userName"];
            [UserManager shareUser].passWord = [userDegaults objectForKey:@"password"];
            [UserManager shareUser].userId = [userDegaults objectForKey:@"objectId"];
            
            RootViewController *rootVC = [[RootViewController alloc] init];
            self.window.rootViewController = rootVC;

      4)如果block的结果是NO,根视图就是登录页面

    miaomiaocat小语

    注册登录方法思路应该有很多,这仅代表我自己的想法,当然有很多不足,也需大家一个帮助更改,欢迎评价.

  • 相关阅读:
    比特币搬砖对冲策略Python源码
    30行JavaScript代码实现一个比特币量化策略
    JBOSS EJB发布WebService
    位运算小练习(1)
    第二周作业
    第一周作业
    CentOS虚拟机NAT方式无法上网
    go语言实现排序算法
    Ubuntu更换科大源
    将Windows下的文件同步到Linux下
  • 原文地址:https://www.cnblogs.com/miaomiaocat/p/5034407.html
Copyright © 2011-2022 走看看