This commit is contained in:
2025-12-03 13:31:02 +08:00
parent 27aa723e7d
commit b87998549c
11 changed files with 104 additions and 12 deletions

View File

@@ -10,6 +10,6 @@
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (nonatomic, strong) UIWindow *window;
- (void)setupRootVC;
@end

View File

@@ -92,20 +92,25 @@
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
BaseTabBarController *vc = [[BaseTabBarController alloc] init];
self.window.rootViewController = vc;
// token TabBar
BOOL loggedIn = [[KBUserSessionManager shared] isLoggedIn];
UIViewController *rootVC = nil;
if (loggedIn) {
rootVC = [[BaseTabBarController alloc] init];
} else {
rootVC = [[KBLoginVC alloc] init];
}
self.window.rootViewController = rootVC;
}
///
- (void)setupSexSelectRootVC {
KBLoginVC *vc = [[KBLoginVC alloc] init];
KBSexSelVC *vc = [[KBSexSelVC alloc] init];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
self.window.rootViewController = vc;
return;
KBSexSelVC *sexVC = [KBSexSelVC new];
__weak typeof(self) weakSelf = self;
sexVC.didFinishSelectBlock = ^{

View File

@@ -70,7 +70,7 @@ typedef NS_ENUM(NSInteger, KBSexOption) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[KBNetworkManager shared] GET:KB_API_APP_CONFIG parameters:nil headers:nil completion:^(id _Nullable jsonOrData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
[[KBNetworkManager shared] GET:@"https://www.apple.com.cn/" parameters:nil headers:nil completion:^(id _Nullable jsonOrData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"====");
}];
});

View File

@@ -8,6 +8,7 @@
#import "KBLoginVC.h"
#import <AuthenticationServices/AuthenticationServices.h>
#import "KBLoginVM.h"
#import "AppDelegate.h"
@interface KBLoginVC () <UITextViewDelegate>
@@ -155,11 +156,18 @@
#pragma mark - Actions
- (void)onTapAppleLogin {
// Apple Sign-In
KBLOG(@"onTapAppleLogin");
[[KBLoginVM shared] signInWithAppleFromViewController:KB_CURRENT_NAV completion:^(BOOL success, NSError * _Nullable error) {
if (success) {
[KBHUD showInfo:KBLocalized(@"Signed in successfully")];
// TabBar
dispatch_async(dispatch_get_main_queue(), ^{
id<UIApplicationDelegate> appDelegate = UIApplication.sharedApplication.delegate;
if ([appDelegate respondsToSelector:@selector(setupRootVC)]) {
AppDelegate *delegate = (AppDelegate *)appDelegate;
[delegate setupRootVC];
}
});
} else {
NSString *msg = error.localizedDescription ?: KBLocalized(@"Sign-in failed");
[KBHUD showInfo:msg];

View File

@@ -17,7 +17,7 @@
#import "LSTPopView.h"
#import "KBChangeNicknamePopView.h"
#import "KBGenderPickerPopView.h"
#import "KBMyVM.h"
@interface KBPersonInfoVC () <UITableViewDelegate, UITableViewDataSource, PHPickerViewControllerDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate>
//
@@ -37,6 +37,8 @@
// JPEG
@property (nonatomic, strong) NSData *avatarJPEGData;
@property (nonatomic, strong) KBMyVM *myVM;
@end
@implementation KBPersonInfoVC
@@ -185,7 +187,7 @@
- (void)onTapAvatarEdit { [self presentImagePicker]; }
- (void)onTapLogout {
[[KBUserSessionManager shared] logout];
[self.myVM logout];
}
#pragma mark - Lazy UI
@@ -366,4 +368,11 @@
return result;
}
- (KBMyVM *)myVM{
if (!_myVM) {
_myVM = [[KBMyVM alloc] init];
}
return _myVM;
}
@end

View File

@@ -0,0 +1,16 @@
//
// KBMyVM.h
// keyBoard
//
// Created by Mac on 2025/12/3.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface KBMyVM : NSObject
- (void)logout;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,33 @@
//
// KBMyVM.m
// keyBoard
//
// Created by Mac on 2025/12/3.
//
#import "KBMyVM.h"
#import "AppDelegate.h"
@implementation KBMyVM
- (void)logout{
[KBHUD show];
[[KBNetworkManager shared] GET:API_LOGOUT parameters:nil headers:nil completion:^(NSDictionary * jsonOrData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
if (error != nil) {
return;
}
NSString *message = jsonOrData[KBMessage];
// if (code == KBBizCodeSuccess) {
[KBHUD showSuccess:message];
[[KBUserSessionManager shared] logout];
// TabBar
dispatch_async(dispatch_get_main_queue(), ^{
id<UIApplicationDelegate> appDelegate = UIApplication.sharedApplication.delegate;
if ([appDelegate respondsToSelector:@selector(setupRootVC)]) {
AppDelegate *delegate = (AppDelegate *)appDelegate;
[delegate setupRootVC];
}
});
// }
}];
}
@end

View File

@@ -32,6 +32,7 @@
/// 项目
#import "KBBizCode.h"
#import "KBNetworkManager.h"
#import "UIView+KBShadow.h"
#import "UIImage+KBColor.h"