# aurora **Repository Path**: veetine/aurora ## Basic Information - **Project Name**: aurora - **Description**: X-Plane 飞行模拟器控制台应用,基于 Flutter 开发,采用 Material 3 设计规范。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-04 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Aurora X-Plane 飞行模拟器控制台应用,基于 Flutter 开发,采用 Material 3 设计规范。 ## 截图预览 ### 首页 ![首页](assets/images/截图/首页.png) ### 大纲训练 ![大纲训练](assets/images/截图/大纲训练.png) ### 专攻精练 ![专攻精练](assets/images/截图/专攻精练.png) ### 实战演练 ![实战演练](assets/images/截图/实战演练.png) ### 任务详情 ![任务详情](assets/images/截图/任务详情.png) ### 设置页面 ![设置页面](assets/images/截图/设置页面.png) ## 功能特性 - **机场选择** - 支持国内多个机场的快速切换,包含机场代码(ICAO)搜索 - **机型选择** - 支持多种机型切换(J10-A、J11-B、幻影2000等) - **天气控制** - 可视度、云层高度、风速等天气参数实时调节 - **天气预设** - 9种天气预设场景快速切换(晴好、多云、雷暴等) - **精细训练** - 6种专项训练场景(山谷飞行、低空超低空、空中加油等) - **时间设置** - 模拟器时间自定义设置 - **在线列表** - 局域网内飞行设备在线状态监控 - **主题切换** - 支持亮色/暗色模式及多种主题颜色 ## 技术栈 - **Flutter** - 跨平台 UI 框架 - **Material 3** - 最新 Material Design 设计规范 - **UDP 通信** - 与 X-Plane 模拟器实时数据交互 ## 系统要求 - Flutter SDK >= 2.17.0 - Dart SDK < 4.0.0 - Windows / macOS / Linux ## 安装 1. 克隆仓库 ```bash git clone https://github.com/your-username/aurora.git cd aurora ``` 2. 安装依赖 ```bash flutter pub get ``` 3. 运行应用 ```bash flutter run ``` ## 项目结构 ``` lib/ ├── main.dart # 应用入口 ├── constants.dart # 全局常量定义 │ ├── screens/ # 页面模块 │ ├── home.dart # 主页面布局与导航 │ ├── dashboard.dart # 仪表盘页面 │ ├── train.dart # 训练模式选择 │ ├── command.dart # 命令控制 │ ├── setting.dart # 设置页面 │ ├── component_screen.dart # Material 组件展示 │ │ │ ├── dashboard/ # 仪表盘子组件 │ │ ├── weather_control.dart # 天气控制面板 │ │ ├── airport_selector.dart # 机场选择器 │ │ ├── aircraft_selector.dart # 机型选择器 │ │ └── online_list.dart # 在线列表 │ │ │ └── training/ # 训练模块 │ ├── refine_screen.dart # 精细训练主屏幕 │ ├── training_scene_base.dart # 训练场景基类 │ └── training_scenes.dart # 各训练场景实现 │ ├── services/ # 服务层 │ ├── udp_service.dart # UDP 通信单例管理 │ └── xplane_path_service.dart # X-Plane 路径管理 │ ├── widgets/ # 通用组件 │ ├── common_widgets.dart # 通用 UI 组件 │ ├── training_widgets.dart # 训练相关组件 │ └── supported_countries_map.dart # 世界地图组件 │ ├── utils/ # 工具类 │ ├── logger.dart # 日志系统 │ └── time_utils.dart # 时间转换工具 │ └── models/ # 数据模型 └── user.dart # 用户信息模型 ``` ## 架构设计 ### 服务层 (Services) - **UdpService**: 单例模式管理 UDP 通信,避免重复创建连接,支持单播和广播模式 - **XPlanePathService**: 统一管理 X-Plane 路径检测、缓存和启动 ### 组件层 (Widgets) - **通用组件**: `SliderRow`, `SwitchRow`, `SettingPanel`, `InfoCard`, `TitledCard` - **训练组件**: `ModeSelector`, `SceneGridSelector` ### 训练场景 采用基类继承模式,`TrainingSceneBase` 提供通用的 UI 框架和 UDP 通信逻辑,子类只需定义: - 标题和描述 - 场景列表 - 模式列表(可选) ## 依赖项 | 依赖包 | 用途 | |--------|------| | window_manager | 窗口管理 | | shared_preferences | 本地存储 | | web_socket_channel | WebSocket 通信 | | fl_chart | 图表展示 | | file_picker | 文件选择 | | win32_registry | Windows 注册表读取 | | countries_world_map | 世界地图展示 | | intl | 国际化支持 | ## 使用说明 1. 首次运行时,应用会自动检测 X-Plane 安装路径,或手动选择安装目录 2. 通过顶部工具栏可以启动/暂停/重置模拟器 3. 左侧导航栏切换不同功能模块 4. 右下角可切换主题模式和颜色 ## 许可证 本项目基于 BSD 许可证开源。