Files
yaoyaoai/app/main.py
fengchuanhn@gmail.com cccd75767b 11
2026-05-15 18:52:29 +08:00

45 lines
1.0 KiB
Python

from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api.v1.router import api_router
from app.config import get_settings
from app.redis_client import close_redis, init_redis
from app.schemas.common import ApiResponse
settings = get_settings()
@asynccontextmanager
async def lifespan(_app: FastAPI):
await init_redis()
yield
await close_redis()
def create_app() -> FastAPI:
app = FastAPI(
title=settings.app_name,
debug=settings.debug,
lifespan=lifespan,
)
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origin_list,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/health", response_model=ApiResponse[dict])
async def health() -> ApiResponse[dict]:
return ApiResponse(ok=True, message="服务正常", data={"status": "up"})
app.include_router(api_router, prefix="/api/v1")
return app
app = create_app()