Sin descripción

18922397810 295e568c89 分析优化 hace 1 semana
backend 295e568c89 分析优化 hace 1 semana
frontend 295e568c89 分析优化 hace 1 semana
.gitignore 7f445ff7e3 Retrain TSPulse on rebalanced samples and switch tspluse_status to proportional distance hace 1 semana
README.md f3e13a6032 Initial commit hace 2 semanas
全场点位表.xls adbf24952a 0000 hace 1 semana
压缩机监控数据平台_数据库字典.docx 78d956988c Add split_device_point backfill script and document new wave_file columns hace 1 semana
提示词.md adbf24952a 0000 hace 1 semana
部署.md f3e13a6032 Initial commit hace 2 semanas

README.md

压缩机故障预测波形工作台

当前版本实现整体浏览效果,包含标注保存和登录鉴权:

  • 查询 point_namemeasurement_typeminTimemaxTime
  • 三行时间点选择器,三种测量类型共享按 sample_time 排序的时间点索引
  • 时间窗口按时间点数量选择,支持 +/-1
  • 压力、位移、加速度分图和归一化合并显示
  • 后端抽样,保留周期边界和键相点
  • second_value >= 30、每转 8 个脉冲、长脉冲为 0 度的周期识别
  • 双击曲线查看压力-角度图和压力-体积功图,双击空白处标注 / 取消标注
  • 登录鉴权(内置账号),所有数据接口需登录后访问

启动后端

在项目根目录执行:

python3 -m pip install -r backend/requirements.txt
uvicorn app.main:app --app-dir backend --reload --port 8000

后端默认读取项目根目录的 数据库.md。也可以使用环境变量覆盖:

DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD='...' \
DB_NAME=compressorsensor uvicorn app.main:app --app-dir backend --reload --port 8000

没有可用 MySQL 时,默认 DEMO_MODE=auto 会自动显示演示数据;强制演示数据可以使用:

DEMO_MODE=always uvicorn app.main:app --app-dir backend --reload --port 8000

启动前端

另开一个终端,在 frontend 目录执行:

npm install
npm run dev

浏览器访问 http://localhost:5173

生产构建:

npm run build

主要接口

  • POST /api/login —— 登录,返回 token(账号/密码见下)
  • POST /api/logout —— 登出
  • GET /api/health
  • GET /api/query-options
  • GET /api/time-points
  • POST /api/wave-window
  • GET /api/wave-files/{wave_file_id}/periods/{period_number}
  • GET /api/annotation-config —— 返回标注宽度 annotationWidth(后端 ANNOTATION_WIDTH 配置,默认 10)
  • GET /api/annotations?wave_file_ids=1,2,3 —— 查询指定波形文件的标注索引
  • POST /api/annotations —— 创建标注(wave_file_idlabelperiod_start/endsample_index_start/end
  • DELETE /api/annotations/{id} —— 删除标注

POST /api/login 外,所有接口都需要在请求头携带 Authorization: Bearer <token>

登录账号

内置账号(可用环境变量 AUTH_USER / AUTH_PASSWORD 覆盖):

  • 账号:aaabbb
  • 密码:Aa*147258&cd

token 有效期默认 12 小时(AUTH_TOKEN_TTL_SECONDS 可配),服务重启后需重新登录。

标注说明

  • 标注只在波形图上进行:双击曲线查看功图,双击空白处标注 / 取消标注。
  • 标注宽度由后端配置 ANNOTATION_WIDTH(默认 10,即 10 个周期为一段)。
  • 标注块不重叠:计算宽度块时会在点击周期所在的空闲区间内居中取宽度。
  • 标注数据只存索引,不存波形数据,表结构见 wave_annotationbackend/app/db.py 内建表语句,服务启动时自动建表)。