You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
5.8 KiB
123 lines
5.8 KiB
import 'package:get/get.dart';
|
|
|
|
import '../modules/devices/views/bes_scan_view.dart';
|
|
import '../modules/devices/views/device_category_view.dart';
|
|
import '../modules/devices/views/holder_scan_view.dart';
|
|
import '../modules/devices/views/eaicar_scan_view.dart';
|
|
import '../modules/feedback/bindings/feedback_bindings.dart';
|
|
import '../modules/feedback/views/feedback_view.dart';
|
|
import '../modules/goods/bindings/goodsmeet_binding.dart';
|
|
import '../modules/goods/bindings/goodstrans_binding.dart';
|
|
import '../modules/goods/bindings/goodsvip_binding.dart';
|
|
import '../modules/goods/views/goodsmeet_view.dart';
|
|
import '../modules/goods/views/goodstrans_view.dart';
|
|
import '../modules/goods/views/goodsvip_view.dart';
|
|
import '../modules/log_export/bindings/log_export_binding.dart';
|
|
import '../modules/log_export/views/log_export_view.dart';
|
|
import '../modules/login/bindings/login_binding.dart';
|
|
import '../modules/login/views/login_view.dart';
|
|
import '../modules/main_tab/bindings/main_tab_binding.dart';
|
|
import '../modules/main_tab/views/main_tab_view.dart';
|
|
import '../modules/main_tab/views/tabs/device_tab.dart';
|
|
import '../modules/main_tab/views/tabs/plaza_tab.dart';
|
|
import '../modules/main_tab/views/tabs/todo_tab.dart';
|
|
import '../modules/mobile_elf/bindings/mobile_elf_binding.dart';
|
|
import '../modules/mobile_elf/views/mobile_elf_view.dart';
|
|
import '../modules/my_devices/bindings/my_devices_binding.dart';
|
|
import '../modules/my_devices/views/my_devices_view.dart';
|
|
import '../modules/ota_upgrade/bindings/ota_upgrade_binding.dart';
|
|
import '../modules/ota_upgrade/views/device_ota_view.dart';
|
|
import '../modules/payment/bindings/payment_binding.dart';
|
|
import '../modules/payment/views/payment_view.dart';
|
|
import '../modules/permissions/bindings/permissions_binding.dart';
|
|
import '../modules/permissions/views/permissions_view.dart';
|
|
import '../modules/profile/bindings/profile_binding.dart';
|
|
import '../modules/profile/views/profile_meeting_view.dart';
|
|
import '../modules/profile/views/profile_view.dart';
|
|
import '../modules/splash/bindings/splash_binding.dart';
|
|
import '../modules/splash/views/splash_view.dart';
|
|
import '../modules/voice_replication/bindings/voice_replication_binding.dart';
|
|
import '../modules/voice_replication/views/voice_replication_view.dart';
|
|
import '../modules/bes_test/bindings/bes_test_binding.dart';
|
|
import '../modules/module_registry.dart';
|
|
import '../modules/bes_test/views/bes_test_view.dart';
|
|
import 'app_routes.dart';
|
|
|
|
/// 路由表。
|
|
///
|
|
/// 只放**核心页面**(启动/登录/主框架/设备/商品/设置…)。
|
|
/// Agent 能力模块的页面由各模块的描述符自带(见 `modules/module_registry.dart`),
|
|
/// 在末尾 `...ModuleRegistry.pages` 拼进来,新增模块不用回这里改。
|
|
abstract class AppPages {
|
|
static const _fade = Transition.rightToLeft;
|
|
static const _dur = Duration(milliseconds: 250);
|
|
|
|
static GetPage _page(String name, GetPageBuilder page,
|
|
{Bindings? binding, bool popGesture = true}) =>
|
|
GetPage(
|
|
name: name,
|
|
page: page,
|
|
binding: binding,
|
|
popGesture: popGesture,
|
|
transition: _fade,
|
|
transitionDuration: _dur,
|
|
);
|
|
|
|
static final pages = <GetPage>[
|
|
_page(Routes.splash, () => const SplashView(), binding: SplashBinding()),
|
|
_page(Routes.login, () => const LoginView(), binding: LoginBinding()),
|
|
GetPage(
|
|
name: Routes.initial,
|
|
page: () => const MainTabView(),
|
|
binding: MainTabBinding(),
|
|
transition: Transition.noTransition,
|
|
),
|
|
GetPage(
|
|
name: Routes.home,
|
|
page: () => const MainTabView(),
|
|
binding: MainTabBinding(),
|
|
transition: Transition.noTransition,
|
|
),
|
|
_page(Routes.otaUpgrade, () => const DeviceOtaView(),
|
|
binding: OtaUpgradeBinding()),
|
|
_page(Routes.editProfile, () => const EditProfileView(),
|
|
binding: ProfileBinding()),
|
|
_page(Routes.profileMeeting, () => ProfileMeetingView(),
|
|
binding: ProfileBinding()),
|
|
_page(Routes.voiceReplication, () => const VoiceReplicationView(),
|
|
binding: VoiceReplicationBinding()),
|
|
_page(Routes.feedback, () => const FeedbackView(),
|
|
binding: FeedbackBinding()),
|
|
_page(Routes.logExport, () => const LogExportView(),
|
|
binding: LogExportBinding()),
|
|
_page(Routes.permissions, () => const PermissionsView(),
|
|
binding: PermissionsBinding()),
|
|
// 添加设备第一步:选品类(纯展示,无需 binding)
|
|
_page(Routes.deviceCategory, () => const DeviceCategoryView()),
|
|
_page(Routes.holderScan, () => const HolderScanView()),
|
|
_page(Routes.eaicarScan, () => const EaiCarScanView()),
|
|
_page(Routes.besScan, () => const BesScanView()),
|
|
_page(Routes.plaza, () => const PlazaTab()),
|
|
// 设备、拾忆原是底部 tab,2026-09-24 改为从 AI 页顶栏进入的独立页面。
|
|
// 依赖的 HomeController / CalendarController 由 MainTabBinding 注册,主框架始终在栈底,这里不用再绑。
|
|
_page(Routes.device, () => const DeviceTab(standalone: true)),
|
|
_page(Routes.recall, () => const TodoTab(standalone: true)),
|
|
_page(Routes.myDevices, () => const MyDevicesView(),
|
|
binding: MyDevicesBinding()),
|
|
_page(Routes.payment, () => const PaymentView(),
|
|
binding: PaymentBinding()),
|
|
_page(Routes.goodsvip, () => const GoodsvipView(),
|
|
binding: GoodsvipBinding()),
|
|
_page(Routes.goodstrans, () => const GoodstransView(),
|
|
binding: GoodstransBinding()),
|
|
_page(Routes.goodsmeet, () => const GoodsmeetView(),
|
|
binding: GoodsmeetBinding()),
|
|
_page(Routes.mobileElf, () => const MobileElfView(),
|
|
binding: MobileElfBinding()),
|
|
// 设备协议探测页(设置 → 开发者),只在需要重扫固件命令时用
|
|
_page(Routes.besTest, () => const BesTestView(),
|
|
binding: BesTestBinding()),
|
|
// ---------- Agent 能力模块自带的页面 ----------
|
|
...ModuleRegistry.pages,
|
|
];
|
|
}
|
|
|