边检CV算法接口服务
项目简介
这是一个简化的边检计算机视觉算法管理系统API服务,采用FastAPI框架开发。
项目结构
server/
├── app.py # 主应用文件
├── requirements.txt # 依赖包列表
├── init_data.py # 初始化数据脚本
├── env.example # 环境变量示例
├── core/ # 核心配置
│ └── database.py # 数据库配置
├── models/ # 数据模型
│ ├── __init__.py
│ ├── base.py # 基础模型
│ ├── algorithm.py # 算法模型
│ ├── device.py # 设备模型
│ └── event.py # 事件模型
└── routers/ # 路由接口
├── __init__.py
├── algorithms.py # 算法管理接口
├── devices.py # 设备管理接口
└── events.py # 事件管理接口
简化设计
本项目采用简化的架构设计:
- 去掉schemas层:直接使用字典进行数据传递,减少代码复杂度
- 简化响应格式:所有接口直接返回字典格式,便于维护
- 保持核心功能:保留所有必要的CRUD操作和业务逻辑
API接口
算法管理 (/api/algorithms)
POST /
- 创建算法GET /
- 获取算法列表GET /{id}
- 获取算法详情PUT /{id}
- 更新算法DELETE /{id}
- 删除算法PATCH /{id}/status
- 更新算法状态PATCH /{id}/enable
- 启用/禁用算法
设备管理 (/api/devices)
POST /
- 创建设备GET /
- 获取设备列表GET /{id}
- 获取设备详情PUT /{id}
- 更新设备DELETE /{id}
- 删除设备PATCH /{id}/status
- 更新设备状态PATCH /{id}/enable
- 启用/禁用设备GET /types/list
- 获取设备类型列表GET /status/stats
- 获取设备状态统计
事件管理 (/api/events)
POST /
- 创建事件GET /
- 获取事件列表GET /{id}
- 获取事件详情PUT /{id}
- 更新事件DELETE /{id}
- 删除事件PATCH /{id}/status
- 更新事件状态GET /types/list
- 获取事件类型列表GET /stats/summary
- 获取事件统计摘要GET /stats/by-type
- 按类型统计事件
安装和运行
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
cp env.example .env
# 编辑.env文件配置数据库连接等
- 初始化数据:
python init_data.py
- 启动服务:
python app.py
服务将在 http://localhost:8000 启动,API文档访问 http://localhost:8000/docs
技术栈
- 框架: FastAPI
- 数据库: SQLAlchemy + SQLite
- ORM: SQLAlchemy
- 文档: 自动生成OpenAPI文档
特点
- 简化的架构,易于维护
- 完整的CRUD操作
- 支持分页和筛选
- 自动生成API文档
- 支持CORS跨域
- 健康检查接口