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 → 完整统计数据
相关阅读
- 平台架构与技术栈:architecture
- 数据库表结构:database
- 系统管理:system
- 首页:home
- 隐患管理:隐患治理流程