feat: 重构用户动态功能,整合MeFeature并更新MainFeature

- 将MeDynamicFeature重命名为MeFeature,并在MainFeature中进行相应更新。
- 更新MainFeature的状态管理,整合用户动态相关逻辑。
- 新增MeFeature以管理用户信息和动态加载,提升代码结构清晰度。
- 更新MainView和MeView以适应新的MeFeature,优化用户体验。
- 删除冗余的MeDynamicView,简化视图结构,提升代码可维护性。
This commit is contained in:
edwinQQQ
2025-07-23 19:31:17 +08:00
parent 8b09653c4c
commit 772543243f
5 changed files with 218 additions and 312 deletions

View File

@@ -10,7 +10,7 @@ struct MainFeature: Reducer {
struct State: Equatable {
var selectedTab: Tab = .feed
var feedList: FeedListFeature.State = .init()
var meDynamic: MeDynamicFeature.State = .init(uid: 0)
var me: MeFeature.State = .init()
var accountModel: AccountModel? = nil
}
@@ -19,7 +19,7 @@ struct MainFeature: Reducer {
case onAppear
case selectTab(Tab)
case feedList(FeedListFeature.Action)
case meDynamic(MeDynamicFeature.Action)
case me(MeFeature.Action)
case accountModelLoaded(AccountModel?)
}
@@ -27,8 +27,8 @@ struct MainFeature: Reducer {
Scope(state: \.feedList, action: \.feedList) {
FeedListFeature()
}
Scope(state: \.meDynamic, action: \.meDynamic) {
MeDynamicFeature()
Scope(state: \.me, action: \.me) {
MeFeature()
}
Reduce { state, action in
switch action {
@@ -40,20 +40,16 @@ struct MainFeature: Reducer {
case .selectTab(let tab):
state.selectedTab = tab
if tab == .other, let uidStr = state.accountModel?.uid, let uid = Int(uidStr), uid > 0 {
state.meDynamic = MeDynamicFeature.State(uid: uid)
return .send(.meDynamic(.onAppear))
state.me = MeFeature.State(uid: uid)
return .send(.me(.onAppear))
}
return .none
case .feedList:
return .none
case let .accountModelLoaded(accountModel):
state.accountModel = accountModel
if let uidStr = accountModel?.uid, let uid = Int(uidStr), uid > 0 {
state.meDynamic = MeDynamicFeature.State(uid: uid)
return .send(.meDynamic(.onAppear))
}
return .none
default:
case .me:
return .none
}
}