美文网首页
初学者 LeanCloud数据存储(LeanStorage)用户

初学者 LeanCloud数据存储(LeanStorage)用户

作者: 吃货_X | 来源:发表于2016-09-21 21:53 被阅读164次

    今天要做有关第三方登陆与LeanCloud数据关联的存储,遇到了一些问题,现在分享给大家。

    首先是第三方登陆后,我们应该如何解决第三方应用资料与本应用的关联。一开始我认为是只要第三方登陆了本应用就有了相应的资料,然并卵!这儿我们就需要把第三方的资料存储到本应用中,首先我们先把我们需要的用户资料取出来,并在本应用的LeanCloud注册和登陆。这个问题就解决了!

    我这儿是微博的第三方登陆大家参考一下!

    [ShareSDK getUserInfo:SSDKPlatformTypeSinaWeibo

    onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error)

    {

    if (state == SSDKResponseStateSuccess)

    {

    AVUser *user1 = [AVUser user];

    user1.username = user.nickname;// 设置用户名

    user1.password = user.uid;// 设置密码

    //            user1.email = emal;// 设置邮箱

    [user1 signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

    if (succeeded) {

    NSLog(@" 注册成功");

    } else {

    }

    }];

    //然后在登陆

    [AVUser logInWithUsernameInBackground:name password:user.uid block:^(AVUser *user, NSError *error) {

    if (user != nil) {

    NSLog(@" 登陆成功");

    NSLog(@"%@",user.objectId);

    //登陆成功过后 把用户的 objectId 保存下来 (后面需要)

    [[NSUserDefaults standardUserDefaults]setObject:user.objectId forKey:@"objectId"];

    [[NSUserDefaults standardUserDefaults]setObject:@"1" forKey:@"isLogin"];

    AVUser *uuss = [AVUser currentUser];

    NSLog(@"userName = %@",uuss.username);

    NSLog(@"userEmail = %@",uuss.email);

    NSLog(@"userPassword = %@",uuss.password);

    } else {

    }

    }];

    }

    else

    {

    NSLog(@"%@",error);

    }

    }];

    后面有一个问题可能是初学者 最难想到的。我就是😝

    那就是我们在注册登陆过后 怎么把后面的数据个用户关联起来呢?

    这儿我们可能会因为新建一个表后每一个表插入数据也会有一个objectId ,可能会被这个所迷惑。其实我们需要重新新建一个字段,用来存储上面所保存的User objectId,让这个字段与资料关联。

    通过这个字段我们可以查询到自己需要的数据。比如:

    我这儿根据年月查询用户的信息,其中objectId就是锁定用户的。

    我是初学者,所以说 不对之处请谅解!

    相关文章

      网友评论

          本文标题:初学者 LeanCloud数据存储(LeanStorage)用户

          本文链接:https://www.haomeiwen.com/subject/oxnaettx.html