diff --git a/Doc/XXSJPic_V1.0/XNSimPortal_MdlDev.drawio b/Doc/XXSJPic_V1.0/XNSimPortal_MdlDev.drawio new file mode 100644 index 0000000..597b02f --- /dev/null +++ b/Doc/XXSJPic_V1.0/XNSimPortal_MdlDev.drawio @@ -0,0 +1,758 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Doc/XXSJPic_V1.0/XNSimPortal_SrvDev.drawio b/Doc/XXSJPic_V1.0/XNSimPortal_SrvDev.drawio new file mode 100644 index 0000000..aa0f7f5 --- /dev/null +++ b/Doc/XXSJPic_V1.0/XNSimPortal_SrvDev.drawio @@ -0,0 +1,611 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Doc/一体化二进制数据包软件详细设计说明-V1.0.docx b/Doc/一体化二进制数据包软件详细设计说明-V1.0.docx index b72f8c3..143f2a0 100644 Binary files a/Doc/一体化二进制数据包软件详细设计说明-V1.0.docx and b/Doc/一体化二进制数据包软件详细设计说明-V1.0.docx differ diff --git a/XNSimPortal/doc/仿真运行模块设计文档.md b/XNSimPortal/doc/仿真运行模块设计文档.md new file mode 100644 index 0000000..e651c0a --- /dev/null +++ b/XNSimPortal/doc/仿真运行模块设计文档.md @@ -0,0 +1,228 @@ +# 仿真运行模块设计文档 + +## 1. 概述 + +仿真运行模块是 XNSimPortal 系统的核心功能之一,负责组织、调度和监控仿真任务的全流程。该模块支持模型组与服务的自动加载、仿真任务的启动/暂停/终止、实时日志输出、进程状态监控等。前端采用 Web Components 技术,后端提供 RESTful API 及 SSE 实时输出,支持与 DDS、XNEngine 等底层服务集成。 + +### 1.1 模块组成 + +- **前端组件**:`run-sim.js` - 主组件 +- **后端路由**: + + - `routes/run-simulation.js` - 仿真运行与管理 API + - `routes/configurations.js` - 构型与模型组、服务 API + - `routes/dds-monitor.js` - DDS 监控 API + - `routes/system-control.js` - 引擎控制 API + - `routes/stop-simulation.js` - 仿真终止 API + - `routes/simulation-output.js` - SSE 实时输出 API + - `routes/filesystem.js` - 日志文件读取 API +- **工具类**: + + - `utils/xnengine-process-utils.js` - 仿真进程管理工具 + - `utils/db-utils.js` - 数据库操作工具 + +### 1.2 技术架构 + +``` +┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ +│ 前端组件层 │ │ 后端API层 │ │ 底层服务/存储层 │ +│ run-sim.js │<--►│ run-simulation │<--►│ XNEngine │ +│ │ │ configurations │ │ DDS │ +│ │ │ dds-monitor │ │ SQLite │ +│ │ │ system-control │ │ 日志文件 │ +│ │ │ simulation-output │ │ │ +└────────────────────┘ └────────────────────┘ └────────────────────┘ +``` + +## 2. 功能 + +### 2.1 核心功能 + +1. **模型组与服务加载** + + - 自动加载当前构型下的模型组及其模型 + - 自动加载当前构型下的服务及其版本 +2. **仿真任务管理** + + - 启动仿真/测试 + - 暂停/继续仿真 + - 终止仿真 + - 进程状态检测与自动重连 +3. **实时输出与日志** + + - SSE 实时输出仿真日志 + - 日志文件轮询与增量读取 + - ANSI 终端颜色转 HTML +4. **状态监控与反馈** + + - DDS 监控初始化与状态检测 + - 仿真进程状态轮询 + - UI 状态与按钮联动 + +### 2.2 辅助功能 + +- 错误与成功提示 +- 自动重连机制 +- 资源清理与事件解绑 + +## 3. 性能 + +### 3.1 性能指标 + +- **仿真启动响应**:< 2s +- **日志输出延迟**:< 200ms +- **并发仿真支持**:支持多用户独立仿真 +- **内存占用**:前端 < 50MB + +### 3.2 性能优化策略 + +- SSE 实时推送减少轮询压力 +- 日志文件增量读取 +- 按需加载模型组/服务 +- 进程状态本地缓存与重连 + +## 4. 输入 + +### 4.1 用户输入 + +- 构型选择(localStorage) +- 仿真操作(启动、暂停、终止按钮) +- 运行参数(自动从构型获取) + +### 4.2 系统输入 + +- 当前构型 ID +- 模型组与服务列表 +- 仿真进程状态 +- 日志文件路径 + +## 5. 输出 + +### 5.1 数据输出 + +- **模型组与服务列表** + ```json + [ + { + "name": "模型组名", + "groupId": "组ID", + "freq": 100, + "priority": 1, + "cpuAff": 0, + "models": [ + { "className": "模型类名", "version": "1.0.0" } + ] + } + ] + ``` +- **服务列表** + ```json + [ + { "className": "服务类名", "version": "1.0.0" } + ] + ``` +- **仿真运行结果** + ```json + { + "success": true, + "simulationId": "进程ID", + "logFile": "日志文件路径", + "message": "仿真启动成功" + } + ``` +- **日志内容** + ```json + { "content": "日志文本" } + ``` + +### 5.2 界面输出 + +- 模型组/服务列表卡片 +- 仿真运行输出(带颜色) +- 状态提示(成功/错误/信息) + +## 6. 算法 + +### 6.1 日志文件增量读取算法 + +``` +1. 记录上次读取的文件位置 +2. 定时(100ms)请求后端读取新内容 +3. 拼接到前端输出区 +4. 若进程结束,读取剩余内容并停止轮询 +``` + +### 6.2 SSE 实时输出处理算法 + +``` +1. 建立 EventSource 连接 +2. 监听 output/status/completed/error/terminated 事件 +3. 解析数据并更新 UI +4. 断线自动重连(最多3次) +``` + +### 6.3 仿真进程状态检测算法 + +``` +1. 定时请求 /api/check-process/:id +2. 若 running=false,重置UI +3. 若 running=true,保持连接 +``` + +## 7. 流程 + +### 7.1 仿真运行主流程 + +```mermaid +graph TD + A[用户点击运行仿真] --> B[获取构型参数] + B --> C[初始化DDS监控] + C --> D[初始化引擎控制] + D --> E[启动仿真进程] + E --> F[建立SSE连接] + F --> G[实时输出日志] + G --> H{仿真状态} + H -->|运行中| G + H -->|结束| I[重置UI] +``` + +### 7.2 日志输出流程 + +```mermaid +graph TD + A[仿真进程启动] --> B[生成日志文件] + B --> C[前端定时请求日志内容] + C --> D[后端返回新内容] + D --> E[前端拼接显示] + E --> F{进程状态} + F -->|运行| C + F -->|结束| G[停止轮询] +``` + +## 8. 接口 + +所有接口均以/api 为前缀,数据格式为 JSON,采用 HTTP/HTTPS 协议。具体接口有: + +1. GET /api/configurations/:confID/model-groups1)功能:获取指定构型下的模型组列表;2)输入:confID(路径参数);3)输出:JSON 对象{ success: boolean, message: string, data: array };4)说明:返回所有模型组及其基本信息。 +2. GET /api/model-groups/:groupId/models1)功能:获取指定模型组下的模型列表;2)输入:groupId(路径参数);3)输出:JSON 对象{ success: boolean, message: string, data: array };4)说明:返回指定模型组下的所有模型及其版本。 +3. GET /api/configurations/:confID/services1)功能:获取指定构型下的服务列表;2)输入:confID(路径参数);3)输出:JSON 对象{ success: boolean, message: string, data: array };4)说明:返回所有服务及其版本信息。 +4. POST /api/run-simulation1)功能:启动仿真或测试任务;2)输入:JSON 对象{ args: array, timeout?: number };3)输出:JSON 对象{ success: boolean, simulationId: string, logFile: string, message: string };4)说明:启动仿真进程,返回进程ID和日志文件路径。 +5. GET /api/check-process/:id1)功能:检查仿真进程状态;2)输入:id(路径参数,仿真进程ID);3)输出:JSON 对象{ running: boolean, success: boolean, message: string };4)说明:返回指定进程是否仍在运行。 +6. GET /api/read-log-file1)功能:读取仿真日志文件内容;2)输入:file(查询参数,日志文件路径),position(查询参数,起始位置);3)输出:JSON 对象{ content: string };4)说明:返回日志文件从指定位置开始的新内容。 +7. GET /api/check-xnengine1)功能:检测是否有正在运行的仿真进程;2)输入:无参数;3)输出:JSON 对象{ running: boolean, pid: string, message: string };4)说明:用于前端自动重连仿真。 +8. GET /api/configurations/:confID1)功能:获取指定构型的详细参数;2)输入:confID(路径参数);3)输出:JSON 对象{ success: boolean, message: string, data: object };4)说明:返回构型的详细参数(如DomainID等)。 +9. POST /api/dds-monitor/initialize1)功能:初始化 DDS 监控;2)输入:JSON 对象{ domainId, confID, forceGen? };3)输出:JSON 对象{ success: boolean, message: string };4)说明:初始化 DDS 监控环境。 +10. POST /api/system-control/initialize1)功能:初始化仿真引擎控制;2)输入:无参数;3)输出:JSON 对象{ success: boolean, message: string };4)说明:初始化仿真引擎控制环境。 +11. POST /api/system-control/pause1)功能:暂停仿真;2)输入:无参数;3)输出:JSON 对象{ success: boolean, message: string };4)说明:暂停仿真进程。 +12. POST /api/system-control/resume1)功能:继续仿真;2)输入:无参数;3)输出:JSON 对象{ success: boolean, message: string };4)说明:恢复仿真进程。 +13. POST /api/system-control/stop1)功能:停止仿真;2)输入:无参数;3)输出:JSON 对象{ success: boolean, message: string };4)说明:停止仿真进程。 +14. POST /api/stop-simulation1)功能:终止仿真并清理资源;2)输入:JSON 对象{ id: string };3)输出:JSON 对象{ success: boolean, message: string };4)说明:终止仿真进程并清理相关记录。 +15. GET /api/simulation-output/:simulationId + 1)功能:获取仿真实时输出(SSE); + 2)输入:simulationId(路径参数); + 3)输出:SSE 事件流(output/status/completed/error/terminated); + 4)说明:用于前端实时显示仿真输出。 + +--- + +如需补充参数字段或详细说明,请告知! diff --git a/XNSimPortal/doc/模型开发模块设计文档.md b/XNSimPortal/doc/模型开发模块设计文档.md new file mode 100644 index 0000000..1936d99 --- /dev/null +++ b/XNSimPortal/doc/模型开发模块设计文档.md @@ -0,0 +1,416 @@ +# 模型开发模块设计文档 + +## 1. 概述 + +模型开发模块是 XNSimPortal 系统的核心组件之一,负责管理仿真系统中的模型开发全生命周期。该模块提供了从 ATA 章节管理、模型创建、版本控制到代码生成、编译发布的完整工作流程。模块采用前后端分离架构,前端使用 Web Components 技术构建用户界面,后端提供 RESTful API 接口,并与 XNCore 底层服务进行集成。 + +### 1.1 模块组成 + +- **前端组件**:`model-development.js` - 主组件 +- **后端路由**: + - `routes/model-dev.js` - 模型开发 API +- **工具类**: + - `utils/model-utils.js` - 模型数据操作工具 + - `utils/xnCoreService.js` - XNCore 服务集成工具 + +### 1.2 技术架构 + +``` +┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ +│ 前端组件层 │ │ 后端API层 │ │ 数据存储层 │ │ XNCore服务层 │ +│ │ │ │ │ │ │ │ +│ model-development│◄──►│ model-dev │◄──►│ SQLite数据库 │◄──►│ XNModelGenServer│ +│ │ │ │ │ ATAChapters │ │ │ +│ │ │ │ │ XNModels │ │ │ +│ │ │ │ │ XNModelsVersion │ │ │ +└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ +``` + +## 2. 功能 + +### 2.1 核心功能 + +1. **ATA 章节管理** + + - ATA 章节浏览和选择 + - 章节层级导航 + - 章节信息展示 + +2. **模型管理** + + - 模型创建和编辑 + - 模型版本控制 + - 模型信息维护 + +3. **版本管理** + + - 版本创建和编辑 + - 版本比较功能 + - 版本历史追踪 + +4. **代码生成** + + - 模板代码生成 + - 代码下载 + - 代码编译 + +5. **数据包管理** + - 数据包上传 + - 数据包配置 + - 接口映射 + +### 2.2 辅助功能 + +1. **配置管理** + + - 运行节点配置 + - 优先级设置 + - 运行频率配置 + +2. **开发工具** + + - 命令列表编辑 + - 时间选择器 + - 结构体映射 + +3. **用户体验** + - 多级导航 + - 卡片式布局 + - 实时状态反馈 + +## 3. 性能 + +### 3.1 性能指标 + +- **响应时间**:页面加载 < 1s,数据查询 < 500ms +- **并发处理**:支持多用户同时开发 +- **数据量支持**:支持大量模型和版本数据 +- **内存使用**:前端组件内存占用 < 100MB + +### 3.2 性能优化策略 + +1. **前端优化** + + - 虚拟滚动处理大量数据 + - 懒加载组件 + - 防抖处理用户输入 + +2. **后端优化** + + - 数据库索引优化 + - 缓存机制 + - 异步处理 + +3. **代码生成优化** + - 增量编译 + - 并行处理 + - 资源复用 + +## 4. 输入 + +### 4.1 用户输入 + +1. **模型版本数据** + + ``` + { + ClassName: "模型类名", + Name: "版本名称", + Version: "版本号", + Author: "作者", + PlaneName: "机型名称", + ConfID: "构型ID", + Description: "描述", + RunFreqGroup: "运行频率组", + RunNode: "运行节点", + Priority: "优先级", + DataPackagePath: "数据包路径", + DataPackageName: "数据包名称", + DataPackageHeaderName: "数据包头文件名", + DataPackageEntryPoint: "数据包入口点", + DataPackageInterfaceName: "数据包接口名", + InputStruct: "输入结构体", + OutputStruct: "输出结构体", + HeartStruct: "心跳结构体", + CmdList: "命令列表JSON" + } + ``` + +2. **代码生成参数** + + - className:模型类名 + - version:版本号 + - planeName:机型名称 + +3. **文件输入** + - 数据包文件 + - 包装代码文件 + - 配置文件 + +### 4.2 系统输入 + +1. **构型选择** + + - 从 localStorage 获取当前选择的构型 ID + - 机型信息 + +2. **配置数据** + - ATA 章节列表 + - 模型列表 + - 版本列表 + +## 5. 输出 + +### 5.1 数据输出 + +1. **ATA 章节列表** + + ```json + [ + { + "ID": "章节ID", + "Name": "章节名称", + "Name_CN": "章节中文名称" + } + ] + ``` + +2. **模型列表** + + ```json + [ + { + "PlaneName": "机型名称", + "Chapters_ID": "章节ID", + "ModelName": "模型名称", + "ModelName_CN": "模型中文名称", + "Description": "描述", + "ClassName": "类名" + } + ] + ``` + +3. **版本列表** + + ```json + [ + { + "PlaneName": "机型名称", + "ClassName": "类名", + "Name": "版本名称", + "ConfID": "构型ID", + "Version": "版本号", + "Author": "作者", + "Description": "描述", + "CreatTime": "创建时间", + "ChangeTime": "修改时间", + "RunFreqGroup": "运行频率组", + "RunNode": "运行节点", + "Priority": "优先级", + "DataPackagePath": "数据包路径", + "DataPackageName": "数据包名称", + "DataPackageHeaderName": "数据包头文件名", + "DataPackageEntryPoint": "数据包入口点", + "DataPackageInterfaceName": "数据包接口名", + "InputStruct": "输入结构体", + "OutputStruct": "输出结构体", + "HeartStruct": "心跳结构体", + "CmdList": "命令列表" + } + ] + ``` + +4. **操作结果** + ```json + { + "success": true, + "message": "操作成功", + "data": {} + } + ``` + +### 5.2 界面输出 + +1. **章节卡片**:显示 ATA 章节信息 +2. **模型卡片**:显示模型基本信息 +3. **版本卡片**:显示版本详细信息 +4. **版本编辑器**:版本信息编辑表单 +5. **代码生成结果**:生成状态和下载链接 + +## 6. 算法 + +### 6.1 版本号生成算法 + +``` +输入:现有版本列表 +输出:下一个版本号 + +1. 获取当前版本列表 +2. 提取所有版本号 +3. 解析版本号格式(如v1.0.0) +4. 找到最大版本号 +5. 递增版本号 +6. 返回新版本号 +``` + +### 6.2 结构体映射算法 + +``` +输入:源结构体列表,目标结构体列表 +输出:映射关系 + +1. 分析源结构体字段 +2. 分析目标结构体字段 +3. 根据字段名称和类型进行匹配 +4. 生成映射关系 +5. 返回映射配置 +``` + +### 6.3 代码生成算法 + +``` +1. 读取模型版本信息 +2. 解析数据包配置 +3. 生成模板代码 +4. 应用用户配置 +5. 生成最终代码 +6. 返回代码文件 +``` + +## 7. 流程 + +### 7.1 模型开发主流程 + +```mermaid +graph TD + A[用户进入模型开发页面] --> B[加载ATA章节] + B --> C[显示章节卡片] + C --> D[用户选择章节] + D --> E[加载模型列表] + E --> F[显示模型卡片] + F --> G[用户选择模型] + G --> H[加载版本列表] + H --> I[显示版本卡片] + I --> J[用户操作] + J --> K{操作类型} + K -->|创建版本| L[打开版本编辑器] + K -->|编辑版本| M[加载版本数据] + K -->|生成代码| N[调用代码生成] + K -->|编译发布| O[调用编译服务] + L --> P[保存版本] + M --> P + N --> Q[下载代码] + O --> R[发布结果] + P --> S[刷新版本列表] + Q --> S + R --> S + S --> I +``` + +### 7.2 版本创建流程 + +```mermaid +graph TD + A[用户点击创建版本] --> B[获取当前时间] + B --> C[生成版本号] + C --> D[初始化版本数据] + D --> E[显示版本编辑器] + E --> F[用户填写信息] + F --> G[验证数据] + G --> H{数据是否有效?} + H -->|否| I[显示错误信息] + H -->|是| J[保存到数据库] + I --> F + J --> K[返回成功结果] + K --> L[刷新版本列表] +``` + +### 7.3 代码生成流程 + +```mermaid +graph TD + A[用户点击生成代码] --> B[验证模型信息] + B --> C[调用XNCore服务] + C --> D[生成模板代码] + D --> E[应用用户配置] + E --> F[生成最终代码] + F --> G[压缩代码包] + G --> H[返回下载链接] + H --> I[用户下载代码] +``` + +## 8. 接口 + +所有接口均以/api 为前缀,数据格式为 JSON,采用 HTTP/HTTPS 协议。具体接口有: + +1. GET /api/ata-chapters + 1)功能:获取 ATA 章节列表; + 2)输入:无参数; + 3)输出:JSON 对象{ success: boolean, message: string, data: array}; + 4)说明:返回所有 ATA 章节信息,包含章节 ID、名称和中文名称。 + +2. GET /api/chapter-models/:chapterId + 1)功能:获取指定章节的模型列表; + 2)输入:chapterId(路径参数),planeName(查询参数); + 3)输出:JSON 对象{ success: boolean, message: string, data: array }; + 4)说明:返回指定章节和机型下的所有模型信息。 + +3. GET /api/model-versions/:className + 1)功能:获取指定模型的版本列表; + 2)输入:className(路径参数),planeName(查询参数); + 3)输出:JSON 对象{ success: boolean, message: string, data: array }; + 4)说明:返回指定模型的所有版本信息,按版本号降序排列。 + +4. POST /api/model-versions + 1)功能:保存模型版本信息; + 2)输入:JSON 对象,包含版本定义的所有字段; + 3)输出:JSON 对象{ success: boolean, message: string, id: number }; + 4)说明:创建新版本或更新现有版本,支持 CmdList JSON 格式。 + +5. POST /api/model-code-gen + 1)功能:生成模型代码; + 2)输入:JSON 对象{ className, version, planeName }; + 3)输出:JSON 对象{ success: boolean, message: string, result: string }; + 4)说明:调用 XNCore 服务生成模型模板代码。 + +6. POST /api/model-code-zip + 1)功能:压缩模型代码; + 2)输入:JSON 对象{ className, version, planeName }; + 3)输出:JSON 对象{ success: boolean, message: string, result: string }; + 4)说明:将生成的代码压缩成 ZIP 包。 + +7. POST /api/model-code-unzip + 1)功能:解压模型代码; + 2)输入:JSON 对象{ className, version, planeName, srcPath }; + 3)输出:JSON 对象{ success: boolean, message: string, result: string }; + 4)说明:解压代码包到指定目录。 + +8. POST /api/model-code-compile + 1)功能:编译模型代码; + 2)输入:JSON 对象{ className, version, planeName }; + 3)输出:JSON 对象{ success: boolean, message: string, result: string }; + 4)说明:编译模型代码并生成可执行文件。 + +9. POST /api/filesystem/upload-package + 1)功能:上传数据包文件; + 2)输入:form-data 格式,包含 confName、folderName 和 files; + 3)输出:JSON 对象{ success: boolean, message: string, packagePath: string, headerFile: string, libraryFile: string, entryPoint: string, paramType: string, memberNames: array }; + 4)说明:上传数据包文件夹,解析头文件和动态库,返回配置信息。 + +10. POST /api/filesystem/upload-zip + 1)功能:上传集成代码 ZIP 文件; + 2)输入:form-data 格式,包含 confName 和 file; + 3)输出:JSON 对象{ success: boolean, message: string, file: object }; + 4)说明:上传集成代码压缩包,支持自动解压功能。 + +11. POST /api/filesystem/get-struct-members + 1)功能:获取结构体成员信息; + 2)输入:JSON 对象{ confName, headerFilePath, structName }; + 3)输出:JSON 对象{ success: boolean, message: string, memberNames: array }; + 4)说明:解析头文件中的结构体定义,返回成员名称列表。 + +12. GET /api/filesystem/download-zip + 1)功能:下载代码压缩包; + 2)输入:filePath(查询参数); + 3)输出:ZIP 文件流; + 4)说明:下载生成的代码压缩包文件。