67 lines
1.9 KiB
Python
67 lines
1.9 KiB
Python
import uvicorn
|
||
import os
|
||
from fastapi import FastAPI
|
||
from fastapi.middleware.cors import CORSMiddleware
|
||
|
||
# 原有业务导入
|
||
from ds.config import SERVER_CONFIG
|
||
from middle.error_handler import global_exception_handler
|
||
from router.user_router import router as user_router
|
||
from router.sensitive_router import router as sensitive_router
|
||
from router.face_router import router as face_router
|
||
from router.device_router import router as device_router
|
||
from router.model_router import router as model_router
|
||
from router.file_router import router as file_router
|
||
from router.device_danger_router import router as device_danger_router
|
||
from core.detect import init
|
||
from ws.ws import ws_router, lifespan
|
||
|
||
# 初始化 FastAPI 应用
|
||
app = FastAPI(
|
||
title="内容安全审核后台",
|
||
description="含图片访问服务和动态模型管理",
|
||
version="1.0.0",
|
||
lifespan=lifespan
|
||
)
|
||
|
||
ALLOWED_ORIGINS = [
|
||
"*"
|
||
]
|
||
|
||
# 配置 CORS 中间件
|
||
app.add_middleware(
|
||
CORSMiddleware,
|
||
allow_origins=ALLOWED_ORIGINS, # 允许的前端域名
|
||
allow_credentials=True, # 允许携带 Cookie
|
||
allow_methods=["*"], # 允许所有 HTTP 方法
|
||
allow_headers=["*"], # 允许所有请求头
|
||
)
|
||
|
||
# 注册路由
|
||
app.include_router(user_router)
|
||
app.include_router(device_router)
|
||
app.include_router(face_router)
|
||
app.include_router(sensitive_router)
|
||
app.include_router(model_router)
|
||
app.include_router(file_router)
|
||
app.include_router(device_danger_router)
|
||
app.include_router(ws_router)
|
||
|
||
# 注册全局异常处理器
|
||
app.add_exception_handler(Exception, global_exception_handler)
|
||
|
||
# 主服务启动入口
|
||
if __name__ == "__main__":
|
||
# 启动 FastAPI 主服务(仅使用8000端口)
|
||
port = int(SERVER_CONFIG.get("port", 8000))
|
||
# 加载所有模型
|
||
init()
|
||
uvicorn.run(
|
||
app="main:app",
|
||
host="0.0.0.0",
|
||
port=port,
|
||
workers=1,
|
||
ws="websockets",
|
||
reload=False
|
||
)
|