# 平衡体态检测系统 - 软件开发技术方案(Electron + Python,Windows单机版) ## 一、项目目标 构建一套适用于康复医学、运动健康等场景的 **单机本地运行型体态检测系统**,具备图形界面、设备数据采集、实时可视化、视频记录、数据管理与导出等能力。用户可在 Windows 系统中一键安装、双击运行,无需联网与额外配置。 --- ## 二、系统架构与技术栈 ### 2.1 总体架构图 ``` +---------------------------+ | Electron 桌面客户端 | | +----------------------+ | | | Vue3/React 前端界面 | | | +----------------------+ | | ⇅ API调用 | | +----------------------+ | | | Python 后端服务(Flask)| | +----------------------+ | +---------------------------+ ⇅ 硬件通信 +---------------------------+ | 深度相机 / IMU / 足底压力板 | +---------------------------+ ``` ### 2.2 技术选型 | 层级 | 技术选型 | 说明 | |------|----------|------| | 前端界面 | Electron + Vue3 / React | 构建跨平台 GUI 桌面应用 | | 后端服务 | Python Flask / FastAPI | 提供设备控制、数据处理、本地API | | 本地数据库 | SQLite | 嵌入式数据库,无需独立部署 | | 视频处理 | FFmpeg | 实现屏幕与摄像视频录制 | | 打包工具 | electron-builder | 生成 Windows `.exe` 安装包 | | Python打包 | PyInstaller | 将 Python 服务打包为 `.exe` 可执行程序 | --- ## 三、模块功能与实现 ### 3.1 Electron 主程序 - 负责显示用户界面(患者档案、检测流程、视频回放) - 在启动时自动调用后端 Python `.exe` 服务 - 与本地后端通信(HTTP API) - 控制设备数据展示与交互逻辑 ### 3.2 Python 后端服务 - 使用 Flask/FastAPI 提供本地接口(127.0.0.1:5000) - 管理设备连接、数据采集、滤波处理、存储与导出 - 可扩展实现深度图处理、压力图分析、IMU姿态分析等功能 ### 3.3 视频录制模块 - 利用 FFmpeg 实现屏幕+外部摄像头录制 - 支持时间戳叠加、截图保存、同步回放 - 可打包进 Electron 安装目录中统一调用 --- ## 四、部署方式与启动流程 ### 4.1 打包流程 1. 将 Python 服务使用 PyInstaller 打包: ```bash pyinstaller -F -n app backend/app.py ``` 2. Electron 主进程中启动 Python 服务: ```js const { spawn } = require("child_process"); const scriptPath = path.join(__dirname, "backend", "app.exe"); const pythonProcess = spawn(scriptPath, { detached: true, stdio: 'ignore' }); pythonProcess.unref(); ``` 3. 使用 electron-builder 打包为安装包: ```bash npm run build electron-builder --win --x64 ``` ### 4.2 安装后运行流程(用户视角) - 用户双击安装包 `.exe` 安装程序; - 桌面自动生成快捷方式; - 双击运行程序: - 启动 Electron 界面; - 自动后台启动 Python 服务; - 自动检测设备连接; - 进入检测界面,开始数据采集。 --- ## 五、目录结构(部署后) ``` 体态检测系统/ ├─ main.exe # 主程序(Electron 打包) ├─ backend/ │ ├─ app.exe # Python 后端打包文件 │ └─ model/ # AI模型文件(可选) ├─ ffmpeg/ # 视频录制工具 ├─ resources/ # 前端界面构建产物 ├─ logs/ # 日志输出目录 └─ uninstall.exe # 卸载程序 ``` --- ## 六、安全性与稳定性设计 | 项目 | 说明 | |------|------| | 端口限制 | 后端服务仅监听 127.0.0.1,防止外部访问 | | 自动重启 | Electron 检测后端未启动可尝试自动重启 | | 日志记录 | 所有错误输出写入 logs 目录,便于故障排查 | | 安全存储 | 用户/患者数据保存至 SQLite,本地隔离存储 | | 进程管理 | Python 服务进程随 Electron 一起退出或独立运行 | --- ## 七、后续拓展建议 | 版本 | 升级方向 | |------|----------| | V2.0 | 加入关键点识别、自动评估报告导出、双次记录对比 | | V3.0 | 云端同步、在线远程管理、多终端协同 | | V4.0 | 移动版(Android/iOS)测量与数据同步 | --- ## 八、推荐工具与资源 - Electron 官网:[https://www.electronjs.org/](https://www.electronjs.org/) - electron-builder:[https://www.electron.build/](https://www.electron.build/) - Flask:[https://flask.palletsprojects.com/](https://flask.palletsprojects.com/) - PyInstaller:[https://pyinstaller.org/](https://pyinstaller.org/) - FFmpeg:[https://ffmpeg.org/](https://ffmpeg.org/) --- > 本技术方案支持通过 AI 代码生成平台辅助开发,可作为 ChatGPT Copilot、CodeWhisperer 等平台的 Prompt 基础文件。