Integrate CYLTabBar center scan button and unify UIKit navigation.

Add CYLTabBarController with a global scan entry, promote MainTabBarController to the window root after login, replace RouterPath-based navigation with AppNavigator, and fix Profile diffable cell reconfiguration crashes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-26 16:36:18 +08:00
parent 24a7339b68
commit a1c031c9b7
31 changed files with 838 additions and 517 deletions

View File

@ -39,19 +39,19 @@ enum AppUITestRouteDriver {
return
}
services.appRouter.reset()
services.appNavigator.resetAllStacks()
let resolved = HomeMenuRouter.resolve(uri: item.uri, title: item.title)
switch resolved {
case .tab(let tab):
services.appRouter.select(tab)
services.appNavigator.selectTab(tab)
case .orders(let entry):
services.appRouter.selectOrders(entry: entry)
services.appNavigator.openOrdersEntry(entry)
case .destination(let homeRoute):
services.appRouter.navigateHome(homeRoute, animated: false)
services.appNavigator.openHome(homeRoute, policy: .tabRoot(.home), animated: false)
case .unsupported(let uri, let title, _):
services.appRouter.navigateHome(.modulePlaceholder(uri: uri, title: title), animated: false)
services.appNavigator.openHome(.modulePlaceholder(uri: uri, title: title), policy: .tabRoot(.home), animated: false)
case .placeholder(let uri, let title):
services.appRouter.navigateHome(.modulePlaceholder(uri: uri, title: title), animated: false)
services.appNavigator.openHome(.modulePlaceholder(uri: uri, title: title), policy: .tabRoot(.home), animated: false)
}
}
@ -78,8 +78,8 @@ enum AppUITestRouteDriver {
}
guard let route else { return }
services.appRouter.reset()
services.appRouter.navigateProfile(route, animated: false)
services.appNavigator.resetAllStacks()
services.appNavigator.openProfile(route, policy: .tabRoot(.profile), animated: false)
}
/// UI Test