import 'package:get/get.dart'; import '../modules/call_recording/bindings/call_recording_binding.dart'; import '../modules/call_recording/views/call_recording_view.dart'; import '../modules/qqmusic/bindings/qqmusic_playlist_binding.dart'; import '../modules/qqmusic/views/qqmusic_playlist_view.dart'; import '../modules/voice_replication/bindings/voice_replication_binding.dart'; import '../modules/voice_replication/views/voice_replication_view.dart'; import '/modules/ble/bindings/ble_binding.dart'; import '../modules/ble/views/ble_view.dart'; import '../../modules/devices/bindings/devices_binding.dart'; import '../../modules/devices/views/devices_view.dart'; import '../../modules/devices/views/device_category_view.dart'; import '../../modules/devices/views/holder_scan_view.dart'; import '../../modules/devices/views/bes_scan_view.dart'; import '../modules/main_tab/views/tabs/plaza_tab.dart'; import '../modules/my_devices/bindings/my_devices_binding.dart'; import '../modules/my_devices/views/my_devices_view.dart'; import '../modules/feedback/bindings/feedback_bindings.dart'; import '../modules/feedback/views/feedback_view.dart'; import '../modules/home/views/home_view.dart'; import '../modules/home/bindings/home_binding.dart'; import '../modules/main_tab/views/main_tab_view.dart'; import '../modules/main_tab/bindings/main_tab_binding.dart'; import '../modules/meeting/bindings/meeting_binding.dart'; import '../modules/meeting/bindings/meeting_connect_binding.dart'; import '../modules/meeting/bindings/meeting_details_binding.dart'; import '../modules/meeting/views/meeting_connect_view.dart'; import '../modules/meeting/views/meeting_details_view.dart'; import '../modules/meeting/bindings/meeting_record_binding.dart'; import '../modules/meeting/views/meeting_record_view.dart'; import '../modules/meeting/views/meeting_view.dart'; import '../modules/opus_test/bindings/opus_test_binding.dart'; import '../modules/opus_test/views/opus_test_view.dart'; import '../modules/bes_test/bindings/bes_test_binding.dart'; import '../modules/bes_test/views/bes_test_view.dart'; import '../modules/log_export/bindings/log_export_binding.dart'; import '../modules/log_export/views/log_export_view.dart'; import '../modules/profile/views/profile_view.dart'; import '../modules/profile/views/profile_meeting_view.dart'; import '../modules/profile/bindings/profile_binding.dart'; // import '../modules/chat/bindings/chat_binding.dart'; //import '../modules/chat/views/chat_view.dart'; import '../modules/timbre/bindings/timbre_binding.dart'; import '../modules/timbre/views/timbre_view.dart'; import '../modules/translation/views/translation_view.dart'; import '../modules/translation/bindings/translation_binding.dart'; import '../modules/translation/views/translation_history_view.dart'; import '../modules/usage/views/usage_view.dart'; import '../modules/usage/bindings/usage_binding.dart'; import '../modules/translation/bindings/translation_list_binding.dart'; import '../modules/translation/views/translation_list_view.dart'; import '../modules/translation/bindings/translation_history_binding.dart'; import '../modules/login/views/login_view.dart'; import '../modules/login/bindings/login_binding.dart'; import '../modules/splash/views/splash_view.dart'; import '../modules/splash/bindings/splash_binding.dart'; import './app_routes.dart'; import '../modules/settings/views/settings_view.dart'; import '../modules/settings/bindings/settings_binding.dart'; import '../modules/permissions/views/permissions_view.dart'; import '../modules/permissions/bindings/permissions_binding.dart'; import '../modules/speech_test/views/speech_test_view.dart'; import '../modules/speech_test/bindings/speech_test_binding.dart'; import '../modules/agent/views/agent_view.dart'; import '../modules/emai/views/emai_view.dart'; import '../modules/emai/bindings/emai_binding.dart'; import '../modules/agent/bindings/agent_binding.dart'; import '../modules/ota_upgrade/views/bes_ota_upgrade_view.dart'; import '../modules/ota_upgrade/bindings/ota_upgrade_binding.dart'; import '../modules/realtime/bindings/realtime_binding.dart'; import '../modules/realtime/views/realtime_view.dart'; import '../modules/music/views/music_playlist_view.dart'; import '../modules/music/bindings/music_playlist_binding.dart'; import '../modules/payment/bindings/payment_binding.dart'; import '../modules/payment/views/payment_view.dart'; import '../modules/translation/middleware/views/translation_middleware_view.dart'; import '../modules/translation/middleware/bindings/translation_middleware_binding.dart'; import '../modules/text_translation/bindings/text_translation_binding.dart'; import '../modules/text_translation/views/text_translation_view.dart'; import '../modules/picture_translation/views/picture_translation_view.dart'; import '../modules/picture_translation/bindings/picture_translation_binding.dart'; import '../modules/goods/bindings/goodsvip_binding.dart'; import '../modules/goods/views/goodsvip_view.dart'; import '../modules/goods/bindings/goodstrans_binding.dart'; import '../modules/goods/views/goodstrans_view.dart'; import '../modules/goods/bindings/goodsmeet_binding.dart'; import '../modules/goods/views/goodsmeet_view.dart'; import '../modules/goods/bindings/goodsai_binding.dart'; import '../modules/goods/views/goodsai_view.dart'; import '../modules/mobile_elf/bindings/mobile_elf_binding.dart'; import '../modules/mobile_elf/views/mobile_elf_view.dart'; abstract class AppPages { static final pages = [ GetPage( name: Routes.splash, page: () => const SplashView(), binding: SplashBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.login, page: () => const LoginView(), binding: LoginBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.initial, page: () => const MainTabView(), binding: MainTabBinding(), transition: Transition.noTransition, ), GetPage( name: Routes.home, page: () => const MainTabView(), binding: MainTabBinding(), transition: Transition.noTransition, ), // 改版前的单页首页,保留作为回退入口,方便对照与回滚 GetPage( name: Routes.legacyHome, page: () => const HomeView(), binding: HomeBinding(), transition: Transition.noTransition, ), // GetPage( // name: Routes.chat, // page: () => const ChatView(), // binding: ChatBinding(), // transition: Transition.rightToLeft, // transitionDuration: Duration(milliseconds: 250), // ), GetPage( name: Routes.recording, page: () => const CallRecordingView(), binding: CallRecordingBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.fieldRecording, page: () => const CallRecordingView(), binding: CallRecordingBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.OTA_UPGRADE, // 本项目只有恒玄耳机:固件页走 BES 链路(bes_ota_manager 插件自管 SPP)。 // 杰理那版 OtaUpgradeView/OtaUpgradeController 留着但不再挂路由。 page: () => const BesOtaUpgradeView(), binding: OtaUpgradeBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), // GetPage( // name: Routes.profile, // page: () => const ProfileView(), // binding: ProfileBinding(), // transition: Transition.rightToLeft, // transitionDuration: Duration(milliseconds: 250), // ), GetPage( name: Routes.editProfile, page: () => const EditProfileView(), binding: ProfileBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.profileMeeting, page: () => ProfileMeetingView(), binding: ProfileBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.translationMiddleware, page: () => const TranslationMiddlewareView(), binding: TranslationMiddlewareBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.translation, page: () => const TranslationView(), binding: TranslationBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.pictureTranslation, page: () => const PictureTranslationView(), binding: PictureTranslationBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.textTranslation, page: () => const TextTranslationView(), binding: TextTranslationBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.translationHistory, page: () => const TranslationHistoryView(), binding: TranslationHistoryBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.usageStats, page: () => const UsageView(), binding: UsageBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.translationList, page: () => const TranslationListView(), binding: TranslationListBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.meeting, page: () => const MeetingView(), binding: MeetingBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.meetingDetails, page: () => const MeetingDetailsView(), binding: MeetingDetailsBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.meetingConnect, page: () => const MeetingConnectView(), binding: MeetingConnectBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.meetingRecord, page: () => const MeetingRecordView(), binding: MeetingRecordBinding(), popGesture: false, transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.timbre, page: () => const TimbreView(), binding: TimbreBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.voiceReplication, page: () => const VoiceReplicationView(), binding: VoiceReplicationBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.settings, page: () => const SettingsView(), binding: SettingsBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.feedback, page: () => const FeedbackView(), binding: FeedbackBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.speechTest, page: () => const SpeechTestView(), binding: SpeechTestBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.opusTest, page: () => const OpusTestView(), binding: OpusTestBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.besTest, page: () => const BesTestView(), binding: BesTestBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.logExport, page: () => const LogExportView(), binding: LogExportBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.agent, page: () => const AgentView(), binding: AgentBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.emai, page: () => const EmaiView(), binding: EmaiBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.permissions, page: () => const PermissionsView(), binding: PermissionsBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.realtime, page: () => const RealtimeView(), binding: RealtimeBinding(), ), GetPage( name: Routes.musicPlaylist, page: () => const MusicPlaylistView(), binding: MusicPlaylistBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), // 添加设备第一步:选品类(纯展示,无需 binding) GetPage( name: Routes.deviceCategory, page: () => const DeviceCategoryView(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.holderScan, page: () => const HolderScanView(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.plaza, page: () => const PlazaTab(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.besScan, page: () => const BesScanView(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.devices, page: () => const DevicesView(), binding: DevicesBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.myDevices, page: () => const MyDevicesView(), binding: MyDevicesBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.ble, page: () => const BleView(), binding: BleBinding(), ), GetPage( name: Routes.qqmusic, page: () => const QqmusicPlaylistView(), binding: QQMusicPlaylistBinding(), ), GetPage( name: Routes.payment, page: () => const PaymentView(), binding: PaymentBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.goodsvip, page: () => const GoodsvipView(), binding: GoodsvipBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.goodstrans, page: () => const GoodstransView(), binding: GoodstransBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.goodsmeet, page: () => const GoodsmeetView(), binding: GoodsmeetBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.goodsai, page: () => const GoodsaiView(), binding: GoodsaiBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), GetPage( name: Routes.mobileElf, page: () => const MobileElfView(), binding: MobileElfBinding(), transition: Transition.rightToLeft, transitionDuration: Duration(milliseconds: 250), ), ]; }