feat(aiot): 本地截图回退访问 + 告警API前端兼容
- 挂载 Edge 截图目录为 /captures 静态文件(COS 不可用时回退) - 挂载 /uploads 静态文件目录 - _alarm_to_camel 支持 local: 前缀转 /captures/ URL - 告警分页/详情/处理/删除接口兼容前端旧字段名(id、cameraId、status 等) - 设备告警汇总添加前端兼容别名(cameraId、pendingCount 等) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
11
app/main.py
11
app/main.py
@@ -3,6 +3,7 @@ from contextlib import asynccontextmanager
|
||||
from fastapi import FastAPI, UploadFile, File, Form, HTTPException, Depends, Query, WebSocket, WebSocketDisconnect
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import FileResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
@@ -85,6 +86,16 @@ app.include_router(yudao_aiot_storage_router)
|
||||
# 注册芋道格式异常处理器
|
||||
app.add_exception_handler(HTTPException, yudao_exception_handler)
|
||||
|
||||
# ==================== 静态文件(本地截图) ====================
|
||||
_uploads_dir = Path("uploads")
|
||||
_uploads_dir.mkdir(parents=True, exist_ok=True)
|
||||
app.mount("/uploads", StaticFiles(directory=str(_uploads_dir)), name="uploads")
|
||||
|
||||
# Edge 本地截图目录(COS 未配置时的回退访问路径)
|
||||
_edge_captures_dir = Path(r"C:\Users\16337\PycharmProjects\ai_edge\data\captures")
|
||||
if _edge_captures_dir.exists():
|
||||
app.mount("/captures", StaticFiles(directory=str(_edge_captures_dir)), name="captures")
|
||||
|
||||
|
||||
def get_alert_svc():
|
||||
return alert_service
|
||||
|
||||
Reference in New Issue
Block a user