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 | |||
|  |     ) |