🏢 展示站 🔐 登录编辑
🏠 首页 /📂 开发参考 /API 接口文档

🔌API 接口文档

REST API 接口文档

📄 api.md 📂 开发参考 API开发 🕘 2 个历史版本

API 接口文档

通用说明

  • 认证:Session Cookie(tk_safe_session
  • 响应:{"success": true, "data": ...}{"success": false, "msg": "..."}
  • 未认证返回 401,权限不足返回 403

认证流程

sequenceDiagram
    participant U as 用户浏览器
    participant F as Flask app.py
    participant DB as SQLite
    U->>F: POST /login (username, password)
    F->>F: SHA-256 哈希密码
    F->>DB: SELECT users WHERE username=?
    DB-->>F: 用户记录
    F->>F: 验证密码 + 角色
    F-->>U: Set-Cookie tk_safe_session
302 → /portal U->>F: GET /admin/dashboard
(Cookie: tk_safe_session) F->>F: 验证 Session F->>DB: 多租户过滤查询 DB-->>F: 数据 F-->>U: HTML 页面

认证接口

登录

POST /login
Content-Type: application/x-www-form-urlencoded
username=admin&password=admin123
→ {"success": true, "role": "company_admin"}

退出

GET /logout → 302 重定向

移动端接口

隐患随手拍

POST /api/photo/submit (multipart/form-data)
file_0~file_5: 照片(最多6张)
title, description, level, org_id, point_id, point_name
→ {"success": true, "data": {"id": 123}}

巡查打卡

POST /api/patrol/checkin (multipart/form-data)
file_0~file_3: 照片(最多4张)
plan_id, point_name, org_id, record, status
→ {"success": true, "data": {"id": 456}}

隐患举报

POST /api/report/submit (multipart/form-data)
file_0~file_5: 照片
title, description, level, org_id, point_name, anonymous(0/1)
→ {"success": true, "data": {"id": 789}}

完成任务

POST /api/task/<id>/done → {"success": true}

培训签到

POST /api/training/<id>/sign → {"success": true}

修改密码

POST /api/profile/password (JSON)
{"old_password": "旧密码", "new_password": "新密码(≥6位)"}

PC 后台接口

通用 CRUD

GET  /api/admin/<table>/list
POST /api/admin/<table>/add
POST /api/admin/<table>/<id>/update
POST /api/admin/<table>/<id>/delete

支持的表:organizations, equipment, personnel, related_parties, materials, risk_points, hazards, special_actions, training_courses, training_plans, emergency_plans, drill_records, contacts, message_templates, alert_rules, assessment, risk_reports, violation_reports, work_permits, patrol_plans

隐患管理

POST /api/admin/hazard/<id>/assign   {assignee, assignee_org, days}
POST /api/admin/hazard/<id>/rectify  (multipart: note + file_0~file_5)
POST /api/admin/hazard/<id>/review   {pass:"1"/"0", note}
POST /api/admin/hazard/<id>/major    {major_flag, stop_work}
GET  /api/admin/hazard/<id>/detail

作业许可

POST /api/admin/permit/<id>/approve  {level: 1/2}
POST /api/admin/permit/<id>/finish   {note}

物资出入库

POST /api/admin/material/<id>/io  {io_type:"in"/"out", quantity, note}

风险复核

POST /api/admin/risk/<id>/review  {result:"ok", note}

用户管理

POST /api/admin/users/add
POST /api/admin/users/<id>/update
POST /api/admin/users/<id>/delete

系统配置

POST /api/admin/setting/save  {key, value}
POST /api/admin/send-test-message  channel, target, title

数据导入导出

GET  /admin/import-template/<table>  → CSV 模板下载
POST /api/admin/<table>/import       → CSV 批量导入
GET  /admin/export/<table>?fmt=excel → CSV 导出
GET  /admin/export/<table>?fmt=pdf   → PDF 导出

大屏接口

GET /api/screen/data → 完整统计数据

相关阅读