Replace CYLTabBarController with native UITabBarController for main tabs.
Use a system scan tab slot with MainScanTabItem interception so scanner presentation no longer depends on CYL PlusButton, and remove the CYLTabBarController pod dependency. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
|
||||
Main 模块负责登录后的主界面 Tab 容器。
|
||||
|
||||
主界面由 `MainTabBarController` 承载,使用 **CYLTabBarController** 展示首页、订单、数据、我的四个 Tab,并在中间提供扫码核销按钮。每个 Tab 内部包裹独立的 `TabNavigationController`,页面路径以 UIKit 导航栈为唯一事实源。
|
||||
主界面由 `MainTabBarController` 承载,使用系统 `UITabBarController` 展示首页、订单、扫码、数据、我的五个底部入口。首页、订单、数据、我的四个业务 Tab 内部包裹独立的 `TabNavigationController`,页面路径以 UIKit 导航栈为唯一事实源;中间扫码入口只触发全局扫码,不切换选中页面。
|
||||
|
||||
## Tab 结构
|
||||
|
||||
@ -15,6 +15,7 @@ Main 模块负责登录后的主界面 Tab 容器。
|
||||
- `profile`:我的
|
||||
|
||||
各 Tab 根页面已接入真实业务页面:`HomeViewController`、`OrdersViewController`、`StatisticsViewController`、`ProfileViewController`。
|
||||
系统 TabBar 中间额外插入扫码槽位,显示 `MainScanTabItem` 构建的扫码 item。
|
||||
|
||||
## 导航流程
|
||||
|
||||
@ -32,7 +33,7 @@ Main 模块负责登录后的主界面 Tab 容器。
|
||||
|
||||
## 扫码核销
|
||||
|
||||
TabBar 中间通过 `MainScanPlusButton`(CYLTabBarController PlusButton)展示全局扫码入口,点击后全屏打开 `OrderCodeScannerViewController`:
|
||||
TabBar 中间通过 `MainScanTabItem` 展示全局扫码入口,`MainTabBarController` 在 `shouldSelect` 中拦截点击并全屏打开 `OrderCodeScannerViewController`,因此关闭扫码页后仍显示点击前的页面:
|
||||
|
||||
1. 扫码成功 → `AppNavigator.openOrdersEntry(.verificationOrders, scannedCode:)` 切换至订单核销入口并传入扫码结果。
|
||||
2. `OrdersViewController` 本地保存并消费扫码结果后进入确认核销流程。
|
||||
|
||||
Reference in New Issue
Block a user