110 lines
2.9 KiB
Markdown
110 lines
2.9 KiB
Markdown
# 边检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 # 事件管理接口
|
||
```
|
||
|
||
## 简化设计
|
||
|
||
本项目采用简化的架构设计:
|
||
|
||
1. **去掉schemas层**:直接使用字典进行数据传递,减少代码复杂度
|
||
2. **简化响应格式**:所有接口直接返回字典格式,便于维护
|
||
3. **保持核心功能**:保留所有必要的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` - 按类型统计事件
|
||
|
||
## 安装和运行
|
||
|
||
1. 安装依赖:
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
2. 配置环境变量:
|
||
```bash
|
||
cp env.example .env
|
||
# 编辑.env文件配置数据库连接等
|
||
```
|
||
|
||
3. 初始化数据:
|
||
```bash
|
||
python init_data.py
|
||
```
|
||
|
||
4. 启动服务:
|
||
```bash
|
||
python app.py
|
||
```
|
||
|
||
服务将在 http://localhost:8000 启动,API文档访问 http://localhost:8000/docs
|
||
|
||
## 技术栈
|
||
|
||
- **框架**: FastAPI
|
||
- **数据库**: SQLAlchemy + SQLite
|
||
- **ORM**: SQLAlchemy
|
||
- **文档**: 自动生成OpenAPI文档
|
||
|
||
## 特点
|
||
|
||
- 简化的架构,易于维护
|
||
- 完整的CRUD操作
|
||
- 支持分页和筛选
|
||
- 自动生成API文档
|
||
- 支持CORS跨域
|
||
- 健康检查接口 |