
- 修改Package.swift以支持iOS 15和macOS 12。 - 更新swift-tca-architecture-guidelines.mdc中的alwaysApply设置为false。 - 注释掉AppDelegate中的NIMSDK导入,移除不再使用的NIMConfigurationManager和NIMSessionManager文件。 - 添加新的API相关文件,包括EMailLoginFeature、IDLoginFeature和相关视图,增强登录功能。 - 更新APIConstants和APIEndpoints以反映新的API路径。 - 添加本地化支持文件,包含英文和中文简体的本地化字符串。 - 新增字体管理和安全工具类,支持AES和DES加密。 - 更新Xcode项目配置,调整版本号和启动画面设置。
43 lines
1.1 KiB
Swift
43 lines
1.1 KiB
Swift
import SwiftUI
|
|
import ComposableArchitecture
|
|
|
|
struct AppRootView: View {
|
|
@State private var shouldShowMainApp = false
|
|
|
|
let splashStore = Store(
|
|
initialState: SplashFeature.State()
|
|
) {
|
|
SplashFeature()
|
|
}
|
|
|
|
let loginStore = Store(
|
|
initialState: LoginFeature.State()
|
|
) {
|
|
LoginFeature()
|
|
}
|
|
|
|
var body: some View {
|
|
Group {
|
|
if shouldShowMainApp {
|
|
// 登录界面
|
|
LoginView(store: loginStore)
|
|
.transition(.opacity.animation(.easeInOut(duration: 0.5)))
|
|
} else {
|
|
// 启动画面
|
|
SplashView(store: splashStore)
|
|
.transition(.opacity.animation(.easeInOut(duration: 0.5)))
|
|
.onReceive(NotificationCenter.default.publisher(for: .splashFinished)) { _ in
|
|
shouldShowMainApp = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
extension Notification.Name {
|
|
static let splashFinished = Notification.Name("splashFinished")
|
|
}
|
|
|
|
#Preview {
|
|
AppRootView()
|
|
} |