2026-05-21 07:09:58 +00:00
|
|
|
|
# ETMS C++ — 事件与任务管理软件核心库
|
2026-05-20 07:54:52 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
## 概述
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
ETMS C++ 是战场任务规划系统 (BTPS) 的核心组件,提供事件管理、
|
|
|
|
|
|
任务模板管理等基础能力。本项目以 C++17 编写,通过 CMake 构建,
|
|
|
|
|
|
无任何外部第三方依赖,适合作为 ETMS 系统 C++ 后端的基础原型。
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
## 工程结构
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
```
|
|
|
|
|
|
.
|
|
|
|
|
|
├── CMakeLists.txt # CMake 构建配置
|
|
|
|
|
|
├── README.md # 本文件
|
|
|
|
|
|
├── include/
|
|
|
|
|
|
│ ├── app.hpp # 应用主入口头文件
|
|
|
|
|
|
│ ├── event_manager.hpp # 事件管理器头文件
|
|
|
|
|
|
│ └── task_template_manager.hpp # 任务模板管理器头文件
|
|
|
|
|
|
├── src/
|
|
|
|
|
|
│ ├── main.cpp # 命令行入口
|
|
|
|
|
|
│ ├── app.cpp # 应用实现
|
|
|
|
|
|
│ ├── event_manager.cpp # 事件管理器实现
|
|
|
|
|
|
│ └── task_template_manager.cpp # 任务模板管理器实现
|
|
|
|
|
|
└── tests/
|
|
|
|
|
|
└── basic_test.cpp # 单元测试(标准 assert)
|
|
|
|
|
|
```
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
## 构建与运行
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-20 09:17:29 +00:00
|
|
|
|
# 配置
|
2026-05-21 07:09:58 +00:00
|
|
|
|
mkdir -p build && cd build
|
2026-05-20 09:17:29 +00:00
|
|
|
|
cmake ..
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# 构建主程序
|
|
|
|
|
|
cmake --build . --target etms_app
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-20 09:17:29 +00:00
|
|
|
|
# 运行主程序
|
2026-05-21 07:09:58 +00:00
|
|
|
|
./etms_app
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# 构建并运行测试
|
|
|
|
|
|
cmake --build . --target etms_test
|
|
|
|
|
|
ctest --output-on-failure
|
2026-05-20 09:17:29 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
## 核心模块
|
2026-05-20 09:17:29 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
### EventManager(事件管理器)
|
|
|
|
|
|
- 事件接收与状态流转(Received → Processed → PendingTask → TaskGenerated)
|
|
|
|
|
|
- 事件列表分页查询与排序
|
|
|
|
|
|
- 事件等级颜色标识
|
|
|
|
|
|
|
|
|
|
|
|
### TaskTemplateManager(任务模板管理器)
|
|
|
|
|
|
- 模板增删改查
|
|
|
|
|
|
- 版本管理与知识库版本切换
|
|
|
|
|
|
- 模板排序与展示
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
## 数据模型
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
| 模型 | 说明 |
|
2026-05-20 09:17:29 +00:00
|
|
|
|
|------|------|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
| `Event` | 战场事件,含 ID、类型、时间、等级、坐标等 |
|
|
|
|
|
|
| `TaskTemplate` | 任务模板,含 ID、名称、版本、元数据等 |
|
|
|
|
|
|
| `KbVersion` | 知识库版本,含版本号、发布日期、活跃标志 |
|