Files
peko-ios/YuMi/Modules/YMLogin/Presenter/LoginFullInfoPresenter.m
2023-08-14 14:39:41 +08:00

85 lines
2.3 KiB
Objective-C

//
// LoginFullInfoPresenter.m
// YUMI
//
// Created by YUMI on 2021/9/14.
//
#import "LoginFullInfoPresenter.h"
///Api
#import "Api+Login.h"
#import "LoginFullInfoProtocol.h"
#import "NSMutableDictionary+Saft.h"
///Tool
#import "AccountInfoStorage.h"
///Model
#import "ThirdUserInfo.h"
@implementation LoginFullInfoPresenter
- (id<LoginFullInfoProtocol>)getView {
return ((id<LoginFullInfoProtocol>) [super getView]);
}
/// 获取保存的第三方的数据模型
- (ThirdUserInfo *)getThirdUserInfo {
if ([AccountInfoStorage instance].thirdUserInfo) {
return [AccountInfoStorage instance].thirdUserInfo;
}
return nil;
}
/// 随机获取昵称
- (void)randomRequestNick {
[Api randomNick:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] requestRandomNickSuccess:data.data];
}]];
}
/// 补全资料
/// @param avatar 头像
/// @param gender 性别
/// @param nick 昵称
/// @param inviteCode 邀请码
/// @param roomUid 邀请的那个房间的uid
/// @param shareUid 邀请人的uid
/// @param shareChannel 邀请的渠道
- (void)complectionInfoWithAvatar:(NSString *)avatar
gender:(NSString *)gender
nick:(NSString *)nick
inviteCode:(NSString * __nullable)inviteCode
roomUid:(NSString * __nullable)roomUid
shareUid:(NSString * __nullable)shareUid
shareChannel:(NSString * __nullable)shareChannel {
NSString * uid = [[AccountInfoStorage instance] getUid];
NSString * ticket = [[AccountInfoStorage instance] getTicket];
NSMutableDictionary * params = [NSMutableDictionary dictionary];
[params safeSetObject:avatar forKey:@"avatar"];
[params safeSetObject:gender forKey:@"gender"];
[params safeSetObject:nick forKey:@"nick"];
[params safeSetObject:uid forKey:@"uid"];
[params safeSetObject:ticket forKey:@"ticket"];
if (inviteCode.length > 0) {
[params safeSetObject:inviteCode forKey:@"inviteCode"];
}
if (roomUid.length > 0) {
[params safeSetObject:roomUid forKey:@"roomUid"];
}
if (shareUid.length > 0) {
[params safeSetObject:shareUid forKey:@"shareUid"];
}
if (shareChannel.length > 0) {
[params safeSetObject:shareChannel forKey:@"shareChannel"];
}
[Api completeUserInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] complementInfoSuccess];
}showLoading:YES errorToast:YES] userInfo:params];
}
@end