前言

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

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小语

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

依赖lean cloud的注册与登录的更多相关文章

  1. Spring Cloud Eureka 注册安全一定要做到位!

    /eureka/ 参考配置如下: defaultZone: http://javastack:javastack@eureka1:8761/eureka/, http://javastack:java ...

  2. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...

  3. Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!

    Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...

  4. Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用

    转自:https://www.cnblogs.com/keepfool/p/5665953.html 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST AP ...

  5. spring cloud 服务注册中心eureka高可用集群搭建

    spring cloud 服务注册中心eureka高可用集群搭建 一,准备工作 eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心 1 本文三台eu ...

  6. Net Core Identity 身份验证:注册、登录和注销 (简单示例)

    一.前言 一般我们自己的系统都会用自己设置的一套身份验证授权的代码,这次用net core的identity来完成简单的注册.登录和注销. 二.数据库 首先就是创建上下文,我这里简单的建了Users和 ...

  7. Spring Cloud Gateway注册到服务器中心(Consul)

    Spring Cloud Gateway注册到服务器中心(Consul) 准备环境 启动Consul(./consul agent -dev)作为服务中心,默认是8500端口,然后启动spring-c ...

  8. 一 注册功能&登录功能,权限拦截

    注册功能: 前端JSP:提供表单注册信息以及访问路径,发送请求到Strus2. Struts2 : 通过模型驱动接收并封装User对象,Spring依赖注入(无参构造+setter方法)获取业务层Us ...

  9. Bootstrap实战 - 注册和登录

    一.介绍 注册和登录在社交和商业网站中是必不可少的一个部分. 二.知识点 2.1 标签页 2.1.1 基础标签页 标签页的使用与导航栏类似,同时都依赖于基础样式 nav,不同的是附加样式变成了 nav ...

随机推荐

  1. Scala中function的理解

    在函数式语言中,函数是和value一样地位的一等公民,他可以作为变量,或者作为参数传递给另一个函数 ##作为变量 val f=(x:Int)=>x+1 为啥可以这样写? 由于scala是OOP, ...

  2. 3DTouch简单了解

    3D Touch的三大模块 代码Demo:https://github.com/haozheMa/3DTouch 在我们的app中使用3D Touch功能,主要分为以下三个模块: 1.Home Scr ...

  3. linux命令学习-2-dmesg

    DMESG NAME dmesg - print or control the kernel ring buffer(打印或者控制内核环缓冲) Usage: dmesg [options] Optio ...

  4. 《算法导论》习题2.3-6 改进的InsertSort

    InsertSort中有关键的一步是把当前元素A[i]插入到已经排好序的A[1,i-1]的合适的位置上,在原始的InsertSort算法中, 采用的是从后往前一步一步查找的方法,习题2.3-6要求利用 ...

  5. coding菜鸟养成记

    http://www.cnblogs.com/xdp-gacl/category/563690.html http://www.cnblogs.com/vincent-blog/p/4402327.h ...

  6. 二级横向菜单实现——ListView

    实现类似于大众点评客户端的横向listview二级列表 这种横向的listview二级列表在手机软件上还不太常见,但是使用过平板的都应该知道,在平板上市比较常见的.可能是因为平板屏幕比较大,而且也能展 ...

  7. Struts2验证

    一.声明式验证 1.字段验证 fielderror的两种显示方式 fielderror的提示信息可以国际化 2.非字段验证:actionErrors / <s:actionerror> 例 ...

  8. Swift去除两边的特定字符(空格或其它)

    var str_trim = "   !hi  !23   !" str_trim.stringByTrimmingCharactersInSet(NSCharacterSet.w ...

  9. 1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)

    项目创建时会有 “Use Core Data" ,但是,有时没有勾选这个选项,那么就要手动链接Core Data Framework. 选中 Grocery Dude Target Gene ...

  10. 兼容IE6及以上的导航栏子菜单栏滑过显示隐藏效果

    ;(function(window){        var li = document.getElementById('parentnav').getElementsByTagName('li')[ ...