feat: 添加 E-Parti 启动画面及情绪颜色引导功能
主要变更: 1. 新增 ep_splash.png 作为应用启动时的展示图像。 2. 更新 Info.plist 中的应用名称和相关描述,替换为 "E-Parti"。 3. 引入 EPSignatureColorGuideView 和 EPEmotionColorStorage,支持用户选择和保存专属情绪颜色。 4. 在 AppDelegate 中集成情绪颜色引导逻辑,确保用户首次登录时能够选择专属颜色。 此更新旨在提升用户体验,增强应用的品牌识别度,并提供个性化的情绪表达功能。
This commit is contained in:
@@ -177,6 +177,8 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
设置广告页
|
||||
*/
|
||||
- (void)setupLaunchADView {
|
||||
return;
|
||||
|
||||
NSUserDefaults * kUserDefaults = NSUserDefaults.standardUserDefaults;
|
||||
// 判断沙盒中是否存在广告图片,如果存在,直接显示
|
||||
NSString *adName = [kUserDefaults stringForKey:adImageName];
|
||||
|
@@ -25,6 +25,8 @@
|
||||
#import "LoginFullInfoViewController.h"
|
||||
#import "UIView+VAP.h"
|
||||
#import "SocialShareManager.h"
|
||||
#import "EPSignatureColorGuideView.h"
|
||||
#import "EPEmotionColorStorage.h"
|
||||
|
||||
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
|
||||
@@ -130,11 +132,58 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
[self toLoginPage];
|
||||
}else{
|
||||
[self toHomeTabbarPage];
|
||||
|
||||
// 延迟检查专属颜色(等待 window 初始化完成)
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.8 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self checkAndShowSignatureColorGuide];
|
||||
});
|
||||
}
|
||||
|
||||
[[ClientConfig shareConfig] clientInit];
|
||||
}
|
||||
|
||||
/// 检查并显示专属颜色引导页
|
||||
- (void)checkAndShowSignatureColorGuide {
|
||||
UIWindow *keyWindow = [self getKeyWindow];
|
||||
if (!keyWindow) return;
|
||||
|
||||
BOOL hasSignatureColor = [EPEmotionColorStorage hasUserSignatureColor];
|
||||
|
||||
#if DEBUG
|
||||
// Debug 环境:总是显示引导页
|
||||
NSLog(@"[AppDelegate] Debug 模式:显示专属颜色引导页(已有颜色: %@)", hasSignatureColor ? @"YES" : @"NO");
|
||||
|
||||
EPSignatureColorGuideView *guideView = [[EPSignatureColorGuideView alloc] init];
|
||||
|
||||
// 设置颜色确认回调
|
||||
guideView.onColorConfirmed = ^(NSString *hexColor) {
|
||||
[EPEmotionColorStorage saveUserSignatureColor:hexColor];
|
||||
NSLog(@"[AppDelegate] 用户选择专属颜色: %@", hexColor);
|
||||
};
|
||||
|
||||
// 如果已有颜色,设置 Skip 回调
|
||||
if (hasSignatureColor) {
|
||||
guideView.onSkipTapped = ^{
|
||||
NSLog(@"[AppDelegate] 用户跳过专属颜色选择");
|
||||
};
|
||||
}
|
||||
|
||||
// 显示引导页,已有颜色时显示 Skip 按钮
|
||||
[guideView showInWindow:keyWindow showSkipButton:hasSignatureColor];
|
||||
|
||||
#else
|
||||
// Release 环境:仅在未设置专属颜色时显示
|
||||
if (!hasSignatureColor) {
|
||||
EPSignatureColorGuideView *guideView = [[EPSignatureColorGuideView alloc] init];
|
||||
guideView.onColorConfirmed = ^(NSString *hexColor) {
|
||||
[EPEmotionColorStorage saveUserSignatureColor:hexColor];
|
||||
NSLog(@"[AppDelegate] 用户选择专属颜色: %@", hexColor);
|
||||
};
|
||||
[guideView showInWindow:keyWindow];
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)toLoginPage {
|
||||
// 使用新的 Swift 登录页面
|
||||
EPLoginViewController *lvc = [[EPLoginViewController alloc] init];
|
||||
|
Reference in New Issue
Block a user