Tekkaman

导航

 

用户

  LeanCloud 提供了一个特殊的用户类叫 AV.User 来自动处理有关用户的账户管理的功能。

  AV.User 是 AV.Object 的一个子类。

  通过AV.User注册。

  

  这个调用会异步地在你的应用中创建一个新的用户。在它这样做之前,它同样会确认用户名和 email 在应用内都是唯一的。密码散列过后存储在 LeanCloud 中,用户密码不会以明文存储,也不会用明文向任何客户端发送密码。

  注意我们使用了 signUp 方法而不是 save 方法。新的 AV.User 永远应该使用 signUp 方法来新建,而随后的用户的信息更新可以调用 save 来做。

  使用login方法登陆。

  

  用户修改密码,跟修改其他属性没有什么区别,前提是要求处于登录状态:

  

  有时候,你希望验证用户的当前密码之后才允许更新密码,可以用 updatePassword方法:

  

  如果用户注册提供了 mobilePhoneNumber 属性,并且你希望验证用户手机号码的真实性,你可能希望发送一条短信,并且让用户输入短信中的验证码来确认手机号码的真实性:

  

  为了发送短信,你需要在 控制台 > 设置 > 应用选项 > 用户账号 中启用 用户注册时,向注册手机号码发送验证短信。

  如果用户注册没有收到短信,你可以通过 requestMobilePhoneVerify 方法强制重新发送:
  
 
  当用户收到验证短信后,会有 6 位数字的验证码,让用户输入,并调用 verifyMobilePhone 来确认是否正确:
  

  验证成功后,用户的 mobilePhoneVerified 属性变为 true,并且调用云引擎的 AV.Cloud.onVerifed('sms', function) 方法。

  当用户有填写 mobilePhoneNumber 的时候,可以使用手机和密码登录:

  

  很多情况下,我们希望用户直接输入手机号码,获取短信然后注册或者登录,如果没有注册过就注册,否则就直接登录,我们提供了一个 API signUpOrlogInWithMobilePhone 来实现。

  

  用户拿到短信后,使用下列代码注册或者登录:

  

  当一个用户成功注册或者登录(使用 signIn 或 logIn 方法)后,该用户的信息就会保存在 localStorage 中。这样你可以从缓存中来读取该用户的数据,并认为该用户已经登录了。

  

  你可以通过 logOut 来清除掉当前的用户:

  

  用户成功注册或登录后,服务器会返回 sessionToken,用来认证该用户随后的请求,你可以通过AV.User.current()._sessionToken 来获取当前登录用户的 sessionToken。在知道用户的 sessionToken 的情况下,可以使用 AV.User.become() 方法来以该用户身份登录。

  

关联】  

  关联一个 AV.User 的对象可以很快就见效。比如说,假设你有一个 blog 程序,为了保存一个用户的新 post 还有读取他们所有的 post:

  

参考:https://leancloud.cn/docs/js_guide.html#查询-1

posted on 2016-02-23 20:45  Tekkaman  阅读(302)  评论(0编辑  收藏  举报