feat: 添加 E-Parti 启动画面及情绪颜色引导功能
主要变更: 1. 新增 ep_splash.png 作为应用启动时的展示图像。 2. 更新 Info.plist 中的应用名称和相关描述,替换为 "E-Parti"。 3. 引入 EPSignatureColorGuideView 和 EPEmotionColorStorage,支持用户选择和保存专属情绪颜色。 4. 在 AppDelegate 中集成情绪颜色引导逻辑,确保用户首次登录时能够选择专属颜色。 此更新旨在提升用户体验,增强应用的品牌识别度,并提供个性化的情绪表达功能。
This commit is contained in:
@@ -45,6 +45,11 @@ import UIKit
|
||||
if let window = getKeyWindow() {
|
||||
window.rootViewController = epTabBar
|
||||
window.makeKeyAndVisible()
|
||||
|
||||
// 延迟检查专属颜色(登录成功后引导)
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {
|
||||
Self.checkAndShowSignatureColorGuide(in: window)
|
||||
}
|
||||
}
|
||||
|
||||
print("[EPLoginManager] 登录成功,已切换到 EPTabBarController")
|
||||
@@ -61,6 +66,11 @@ import UIKit
|
||||
if let window = getKeyWindow() {
|
||||
window.rootViewController = epTabBar
|
||||
window.makeKeyAndVisible()
|
||||
|
||||
// 延迟检查专属颜色(登录成功后引导)
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {
|
||||
Self.checkAndShowSignatureColorGuide(in: window)
|
||||
}
|
||||
}
|
||||
|
||||
print("[EPLoginManager] Ticket 请求失败,仍跳转到首页")
|
||||
@@ -98,5 +108,44 @@ import UIKit
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
/// 检查并显示专属颜色引导页
|
||||
private static func checkAndShowSignatureColorGuide(in window: UIWindow) {
|
||||
let hasSignatureColor = EPEmotionColorStorage.hasUserSignatureColor()
|
||||
|
||||
#if DEBUG
|
||||
// Debug 环境:总是显示引导页
|
||||
print("[EPLoginManager] Debug 模式:显示专属颜色引导页(已有颜色: \(hasSignatureColor))")
|
||||
|
||||
let guideView = EPSignatureColorGuideView()
|
||||
|
||||
// 设置颜色确认回调
|
||||
guideView.onColorConfirmed = { (hexColor: String) in
|
||||
EPEmotionColorStorage.saveUserSignatureColor(hexColor)
|
||||
print("[EPLoginManager] 用户选择专属颜色: \(hexColor)")
|
||||
}
|
||||
|
||||
// 如果已有颜色,设置 Skip 回调
|
||||
if hasSignatureColor {
|
||||
guideView.onSkipTapped = {
|
||||
print("[EPLoginManager] 用户跳过专属颜色选择")
|
||||
}
|
||||
}
|
||||
|
||||
// 显示引导页,已有颜色时显示 Skip 按钮
|
||||
guideView.show(in: window, showSkipButton: hasSignatureColor)
|
||||
|
||||
#else
|
||||
// Release 环境:仅在未设置专属颜色时显示
|
||||
if !hasSignatureColor {
|
||||
let guideView = EPSignatureColorGuideView()
|
||||
guideView.onColorConfirmed = { (hexColor: String) in
|
||||
EPEmotionColorStorage.saveUserSignatureColor(hexColor)
|
||||
print("[EPLoginManager] 用户选择专属颜色: \(hexColor)")
|
||||
}
|
||||
guideView.show(in: window)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user