初学者 LeanCloud数据存储(LeanStorage)用户的关联和第三方的关联

今天要做有关第三方登陆与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就是锁定用户的。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。