// // HomeMenuRouting.swift // suixinkan // import UIKit @MainActor /// 首页菜单 UIKit 路由,将权限 URI 解析结果映射为 Tab 切换或 Navigation push。 enum HomeMenuRouting { /// 打开首页菜单项对应的目标。 static func openMenu(_ item: HomeMenuItem, from viewController: UIViewController) { openRoute(HomeMenuRouter.resolve(uri: item.uri, title: item.title), from: viewController) } /// 打开首页 URI 解析结果。 static func openRoute(_ route: HomeMenuResolvedRoute, from viewController: UIViewController) { let services = AppServices.shared switch route { case .tab(let tab): services.appNavigator.selectTab(tab) case .orders(let entry): services.appNavigator.openOrdersEntry(entry) case .destination(let homeRoute): services.appNavigator.push(.home(homeRoute), from: viewController) case .unsupported(let uri, let title, _): services.appNavigator.push(.home(.modulePlaceholder(uri: uri, title: title)), from: viewController) case .placeholder(let uri, let title): HomeRouteDiagnostics.recordUnknown(uri: uri, title: title) services.appNavigator.push(.home(.modulePlaceholder(uri: uri, title: title)), from: viewController) } } }