BodyBalanceEvaluation/document/软件开发技术方案.md
2025-07-28 11:59:56 +08:00

4.8 KiB
Raw Permalink Blame History

平衡体态检测系统 - 软件开发技术方案Electron + PythonWindows单机版

一、项目目标

构建一套适用于康复医学、运动健康等场景的 单机本地运行型体态检测系统,具备图形界面、设备数据采集、实时可视化、视频记录、数据管理与导出等能力。用户可在 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 打包:

    pyinstaller -F -n app backend/app.py
    
  2. Electron 主进程中启动 Python 服务:

    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 打包为安装包:

    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测量与数据同步

八、推荐工具与资源


本技术方案支持通过 AI 代码生成平台辅助开发,可作为 ChatGPT Copilot、CodeWhisperer 等平台的 Prompt 基础文件。