| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- """
- 主应用入口
- """
- from fastapi import FastAPI, WebSocket
- from fastapi.middleware.cors import CORSMiddleware
- from config import settings
- from websocket_handler import WebSocketHandler
- app = FastAPI(title="Tolan Backend API")
- # 配置CORS
- app.add_middleware(
- CORSMiddleware,
- allow_origins=["*"], # 生产环境应该限制具体域名
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- @app.get("/")
- async def root():
- """健康检查"""
- return {"status": "ok", "message": "Tolan Backend API"}
- @app.websocket("/ws")
- async def websocket_endpoint(websocket: WebSocket):
- """WebSocket端点"""
- handler = WebSocketHandler(websocket)
- await handler.handle_connection()
- if __name__ == "__main__":
- import uvicorn
-
- uvicorn.run(
- "main:app",
- host=settings.host,
- port=settings.port,
- reload=True,
- ssl_keyfile=None, # 生产环境配置SSL证书
- ssl_certfile=None,
- )
|