前言

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

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. mongodb 压缩——3.0+支持zlib和snappy

    转自:https://scalegrid.io/blog/enabling-data-compression-in-mongodb-3-0/ MongoDB 3.0 with the wired ti ...

  2. phpMyAdmin安装与配置(涉及LAMP配置)

    作者:zccst 安装一个phpMyAdmin还真麻烦,遇到很多问题.不过在解决过程中发现,PHP的水还真深,不是短时间可以看透的. 1,下载 建议去百度软件中心下载 2,使用 (1)解压后,复制配置 ...

  3. coreGraphs和动画

    http://www.jianshu.com/p/b71c3d450e8e http://blog.csdn.net/volcan1987/article/details/9969455 http:/ ...

  4. iOS开发——工厂模式

    工厂模式很好用,为表诚意,我直接搞个实用的例子放这,解析一个订单的数据,并且这个订单里面可能不止一件商品的做法. 还是直接上代码,不懂的地方,再提出来. 1.在MyOrderDeals.h文件中 #i ...

  5. leetcode--010 Linked List Cycle II

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApAAAACICAIAAADfzUzYAAANeklEQVR4nO3dQa7bthbG8W4mK/A+so

  6. Python3基础 nonlocal关键字 内部函数访问到外部函数的变量

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  7. UVa 10602 - Editor Nottoobad

    题目大意:有一个编辑器,它有两种命令,“重复上一个单词” 和 “删除前一个字母”,给出一系列字符串,求最少的敲击键盘的次数. 题目中强调第一个敲的单词必须是给的第一个单词,于是就考虑按照单词与第一个单 ...

  8. Chrome Timeline的指标说明:Blocked、Connect、Send、Wait、Receive

    Blocked time includes any pre-processing time (such as cache lookup) and the time spent waiting for ...

  9. MVVM指南(课程学习)

    iOS MVVM 参考 iOS MVVM 前世今生 iOS MVVM 优缺点 下面是我对MVVM知识的总结,主要包括模块划分.开发步骤.重点解说三部分.做这篇文章,主要是考虑总结出可执行的开发步骤,按 ...

  10. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...