feat: 更新AppSettingFeature和MainFeature以支持登出功能
- 在AppSettingFeature中实现登出逻辑,清理认证信息并发送登出事件。 - 在MainFeature中新增登出标志和相应的状态管理,确保用户登出后状态更新。 - 更新MainView以响应登出事件,重命名内部视图为InternalMainView以提高可读性。 - 在SplashView中集成登出处理,确保用户能够顺利返回登录页面。
This commit is contained in:
@@ -3,7 +3,23 @@ import ComposableArchitecture
|
||||
|
||||
struct MainView: View {
|
||||
let store: StoreOf<MainFeature>
|
||||
|
||||
var onLogout: (() -> Void)? = nil
|
||||
|
||||
var body: some View {
|
||||
WithViewStore(self.store, observe: { $0 }) { viewStore in
|
||||
InternalMainView(store: store)
|
||||
.onChange(of: viewStore.isLoggedOut) { isLoggedOut in
|
||||
if isLoggedOut {
|
||||
onLogout?()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 原 MainView 内容,重命名为 InternalMainView
|
||||
struct InternalMainView: View {
|
||||
let store: StoreOf<MainFeature>
|
||||
var body: some View {
|
||||
WithViewStore(self.store, observe: { $0 }) { viewStore in
|
||||
NavigationStack(path: viewStore.binding(get: \.navigationPath, send: MainFeature.Action.navigationPathChanged)) {
|
||||
|
Reference in New Issue
Block a user