diff --git a/keyBoard/Class/Login/VM/KBLoginVM.h b/keyBoard/Class/Login/VM/KBLoginVM.h index 4846abd..aa9f8c8 100644 --- a/keyBoard/Class/Login/VM/KBLoginVM.h +++ b/keyBoard/Class/Login/VM/KBLoginVM.h @@ -25,10 +25,6 @@ typedef void(^KBLoginCompletion)(BOOL success, NSError * _Nullable error); completion:(KBLoginCompletion)completion; -/// 邮箱登录 -- (void)signInWithAppleFromViewController:(UIViewController *)presenter - completion:(KBLoginCompletion)completion; - /// 邮箱登录 - (void)emailLoginEmail:(NSString *)email password:(NSString *)password WithCompletion:(KBLoginCompletion)completion; diff --git a/keyBoard/Class/Me/VC/KBPersonInfoVC.m b/keyBoard/Class/Me/VC/KBPersonInfoVC.m index 5e54e51..0cafe99 100644 --- a/keyBoard/Class/Me/VC/KBPersonInfoVC.m +++ b/keyBoard/Class/Me/VC/KBPersonInfoVC.m @@ -336,15 +336,21 @@ [p loadObjectOfClass:UIImage.class completionHandler:^(__kindof id _Nullable object, NSError * _Nullable error) { UIImage *img = ([object isKindOfClass:UIImage.class] ? (UIImage *)object : nil); if (!img) return; - - // 这里就在子线程里压缩,避免卡 UI - // 比如目标 100KB,你自己改成想要的值 NSUInteger targetKB = 50; NSData *compressedData = [weakSelf kb_compressImage:img targetKB:targetKB]; if (!compressedData) return; UIImage *compressedImage = [UIImage imageWithData:compressedData]; dispatch_async(dispatch_get_main_queue(), ^{ - + [weakSelf.myVM upLoadAvatarWithData:compressedData completion:^(BOOL success, NSError * _Nullable error) { + if (error) { + [KBHUD showError:error.localizedDescription]; + return; + } + dispatch_async(dispatch_get_main_queue(), ^{ + weakSelf.avatarView.image = compressedImage; + }); + + }]; }); }]; diff --git a/keyBoard/Class/Me/VM/KBMyVM.h b/keyBoard/Class/Me/VM/KBMyVM.h index cf1a5c1..18b0a41 100644 --- a/keyBoard/Class/Me/VM/KBMyVM.h +++ b/keyBoard/Class/Me/VM/KBMyVM.h @@ -27,7 +27,7 @@ typedef void(^KBUpdateUserInfoCompletion)(BOOL success, NSError * _Nullable erro /// 上传头像 - (void)upLoadAvatarWithData:(NSData *)avatarData completion:(KBUpLoadAvatarCompletion)completion; -/// 更新用户信息 +/// 更新用户信息 -(头像、用户名、性别) - (void)updateUserInfo:(KBUser *)user completion:(KBUpdateUserInfoCompletion)completion; diff --git a/keyBoard/Class/Me/VM/KBMyVM.m b/keyBoard/Class/Me/VM/KBMyVM.m index ce65a77..d135850 100644 --- a/keyBoard/Class/Me/VM/KBMyVM.m +++ b/keyBoard/Class/Me/VM/KBMyVM.m @@ -74,6 +74,7 @@ /// 上传头像 - (void)upLoadAvatarWithData:(NSData *)avatarData completion:(KBUpLoadAvatarCompletion)completion{ + KBWeakSelf; [KBHUD show]; [[KBNetworkManager shared] uploadFile:KB_API_FILE_UPLOAD fileData:avatarData @@ -90,8 +91,12 @@ } NSString *avImageString = json[@"data"]; // [weakSelf.avatarView kb_setImageURL:[NSURL URLWithString:avImageString] placeholder:KBPlaceholderImage]; - - NSLog(@"上传成功: %@", json); + KBUser *localUser = [KBUserSessionManager shared].currentUser; + localUser.avatarUrl = avImageString; + [weakSelf updateUserInfo:localUser completion:^(BOOL success, NSError * _Nullable error) { + if (error) { if (completion) completion(NO, error); return; } + completion(true,nil); + }]; }]; } @@ -99,12 +104,18 @@ /// 更新用户信息 - (void)updateUserInfo:(KBUser *)user completion:(KBUpdateUserInfoCompletion)completion{ /// 获取用户信息 - KBUser *localUser = [KBUserSessionManager shared].currentUser; + NSMutableDictionary *params = [NSMutableDictionary dictionary]; - if (localUser.userId.length) params[@"uid"] = localUser.userId; - if (localUser.nickName.length) params[@"nickName"] = localUser.nickName; - params[@"gender"] = (NSInteger)localUser.gender; - if (localUser.avatarUrl.length) params[@"avatarUrl"] = localUser.avatarUrl; + if (user.userId.length) params[@"uid"] = user.userId; + if (user.nickName.length) params[@"nickName"] = user.nickName; + params[@"gender"] = @(user.gender); + if (user.avatarUrl.length) params[@"avatarUrl"] = user.avatarUrl; + [KBHUD show]; + [[KBNetworkManager shared] POST:API_UPDATA_INFO jsonBody:params headers:nil autoShowBusinessError:true completion:^(NSDictionary * _Nullable json, NSURLResponse * _Nullable response, NSError * _Nullable error) { + [KBHUD dismiss]; + if (error) { if (completion) completion(NO, error); return; } + completion(true,nil); + }]; }