This commit is contained in:
2025-12-04 14:17:47 +08:00
parent 279255a14c
commit b8f8d2e6b0
4 changed files with 47 additions and 1 deletions

View File

@@ -236,6 +236,8 @@ typedef NS_ENUM(NSInteger, KBSexOption) {
if (self.didFinishSelectBlock) {
self.didFinishSelectBlock();
}
// 使
[[NSUserDefaults standardUserDefaults] setInteger:self.selectedSex forKey:KBSexSelectedGenderKey];
[[NSUserDefaults standardUserDefaults] setBool:true forKey:KBSexSelectShownKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
@@ -246,6 +248,8 @@ typedef NS_ENUM(NSInteger, KBSexOption) {
if (self.didFinishSelectBlock) {
self.didFinishSelectBlock();
}
// 使
[[NSUserDefaults standardUserDefaults] setInteger:self.selectedSex forKey:KBSexSelectedGenderKey];
[[NSUserDefaults standardUserDefaults] setBool:true forKey:KBSexSelectShownKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}

View File

@@ -43,6 +43,11 @@
if (identityToken.length) params[@"identityToken"] = identityToken;
if (authorizationCode.length) params[@"accessCode"] = authorizationCode; // 使
if (cred.user.length) params[@"userID"] = cred.user; //
//
NSNumber *genderNumber = [self kb_localGenderParamIfAvailable];
if (genderNumber != nil) {
params[@"gender"] = genderNumber;
}
[KBHUD show];
//
[[KBNetworkManager shared] POST:API_APPLE_LOGIN jsonBody:params headers:nil completion:^(NSDictionary * _Nullable jsonOrData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
@@ -77,6 +82,11 @@
NSMutableDictionary *params = [NSMutableDictionary dictionary];
if (email.length) params[@"email"] = email;
if (password.length) params[@"password"] = password;
//
NSNumber *genderNumber = [self kb_localGenderParamIfAvailable];
if (genderNumber != nil) {
params[@"gender"] = genderNumber;
}
//
[[KBNetworkManager shared] POST:API_EMAIL_LOGIN jsonBody:params headers:nil completion:^(NSDictionary * _Nullable jsonOrData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
[KBHUD dismiss];
@@ -127,4 +137,21 @@
return nil;
}
///
/// - NSUserDefaults
- (nullable NSNumber *)kb_localGenderParamIfAvailable {
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
//
BOOL hasShownSexVC = [ud boolForKey:KBSexSelectShownKey];
if (!hasShownSexVC) {
return nil;
}
NSInteger value = [ud integerForKey:KBSexSelectedGenderKey];
if (value < UserSexMan || value > UserSexTwoSex) {
return nil;
}
return @(value);
}
@end

View File

@@ -177,6 +177,19 @@
content.closeHandler = ^{ [weakPop dismiss]; };
content.saveHandler = ^(NSDictionary *selected) {
NSString *name = selected[@"name"] ?: @"";
// 使
NSString *genderId = selected[@"id"];
NSInteger genderValue = 0;
if ([genderId isKindOfClass:NSString.class]) {
NSInteger v = [genderId integerValue];
// /使 0/1/2 1/2/3
if (v >= 1 && v <= 3) {
genderValue = v - 1;
}
}
[[NSUserDefaults standardUserDefaults] setInteger:genderValue forKey:KBSexSelectedGenderKey];
[[NSUserDefaults standardUserDefaults] synchronize];
NSMutableArray *m = [weakSelf.items mutableCopy];
NSMutableDictionary *d1 = [m[1] mutableCopy];
d1[@"value"] = name; m[1] = d1; weakSelf.items = m;

View File

@@ -66,8 +66,10 @@
#define KB_UL_LOGIN KB_UL_BASE @"/login"
#define KB_UL_SETTINGS KB_UL_BASE @"/settings"
/// 第一次安装
/// 是否已经展示过性别选择页
#define KBSexSelectShownKey @"kKBSexSelectShownKey"
/// 本地存储的性别枚举值UserSex / KBSexOption0:Male 1:Female 2:The Third Gender
#define KBSexSelectedGenderKey @"kKBSexSelectedGenderKey"
#define KBPlaceholderImage [UIImage imageNamed:@"placeholder_icon"]