refactor: 重构 AppDelegate 以优化启动流程和 UI 配置
主要变更: 1. 新增 setupUIAppearance 和 setupConfig 方法,提升代码结构和可读性。 2. 移除冗余的 iOS 15 适配代码,集中管理 UI 外观设置。 3. 更新 EPConfigManager 的调用逻辑,确保配置成功后初始化 NIMSDK。 4. 引入 ignoreVAPLog 方法,简化日志处理逻辑。 此更新旨在提升应用启动效率和代码的可维护性。
This commit is contained in:
@@ -55,14 +55,32 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
|||||||
self.window.rootViewController = launchScreenVC;
|
self.window.rootViewController = launchScreenVC;
|
||||||
[self.window makeKeyAndVisible];
|
[self.window makeKeyAndVisible];
|
||||||
|
|
||||||
[VAPView registerHWDLog:qg_VAP_Logger_handler];
|
[self setupUIAppearance];
|
||||||
|
|
||||||
|
[self setupConfig];
|
||||||
|
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setupUIAppearance {
|
||||||
|
if (@available(iOS 15, *)) {
|
||||||
|
[[UITableView appearance] setSectionHeaderTopPadding:0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setupConfig {
|
||||||
// 冷启动配置:client/init → client/config,由 EPConfigManager 统一调度
|
// 冷启动配置:client/init → client/config,由 EPConfigManager 统一调度
|
||||||
@kWeakify(self);
|
@kWeakify(self);
|
||||||
[[EPConfigManager shared] startColdBootWithOnSuccess:^{
|
[[EPConfigManager shared] startColdBootWithOnSuccess:^{
|
||||||
|
@kStrongify(self);
|
||||||
|
if (!self) return;
|
||||||
|
|
||||||
// 配置成功,初始化 NIMSDK 并进入主页面
|
// 配置成功,初始化 NIMSDK 并进入主页面
|
||||||
|
@kWeakify(self);
|
||||||
[[EPNIMManager sharedManager] initializeWithCompletion:^(NSError * _Nullable error) {
|
[[EPNIMManager sharedManager] initializeWithCompletion:^(NSError * _Nullable error) {
|
||||||
@kStrongify(self);
|
@kStrongify(self);
|
||||||
|
if (!self) return;
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
NSLog(@"[AppDelegate] NIMSDK 初始化失败: %@", error);
|
NSLog(@"[AppDelegate] NIMSDK 初始化失败: %@", error);
|
||||||
} else {
|
} else {
|
||||||
@@ -73,6 +91,8 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
|||||||
}];
|
}];
|
||||||
} onFailure:^(NSString * _Nonnull errorMessage) {
|
} onFailure:^(NSString * _Nonnull errorMessage) {
|
||||||
@kStrongify(self);
|
@kStrongify(self);
|
||||||
|
if (!self) return;
|
||||||
|
|
||||||
// 配置失败,显示错误提示
|
// 配置失败,显示错误提示
|
||||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:YMLocalizedString(@"提示")
|
UIAlertController *alert = [UIAlertController alertControllerWithTitle:YMLocalizedString(@"提示")
|
||||||
message:errorMessage
|
message:errorMessage
|
||||||
@@ -80,16 +100,8 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
|||||||
[alert addAction:[UIAlertAction actionWithTitle:YMLocalizedString(@"确定") style:UIAlertActionStyleDefault handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:YMLocalizedString(@"确定") style:UIAlertActionStyleDefault handler:nil]];
|
||||||
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}];
|
}];
|
||||||
|
|
||||||
if (@available(iOS 15, *)) {
|
|
||||||
[[UITableView appearance] setSectionHeaderTopPadding:0];
|
|
||||||
}
|
|
||||||
|
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Helper Methods
|
|
||||||
|
|
||||||
- (void)loadMainPage {
|
- (void)loadMainPage {
|
||||||
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
|
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
|
||||||
if (accountModel == nil ||
|
if (accountModel == nil ||
|
||||||
@@ -104,9 +116,13 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
|||||||
[self checkAndShowSignatureColorGuide];
|
[self checkAndShowSignatureColorGuide];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self ignoreVAPLog];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 移除 EPConfig 通知相关方法,改用 block 回调
|
- (void)ignoreVAPLog {
|
||||||
|
[VAPView registerHWDLog:qg_VAP_Logger_handler];
|
||||||
|
}
|
||||||
|
|
||||||
/// 检查并显示专属颜色引导页
|
/// 检查并显示专属颜色引导页
|
||||||
- (void)checkAndShowSignatureColorGuide {
|
- (void)checkAndShowSignatureColorGuide {
|
||||||
|
Reference in New Issue
Block a user