初始项目

This commit is contained in:
mark.tian
2025-12-02 17:25:37 +08:00
parent 46f24dbe6c
commit 4cf817eadf
10 changed files with 696 additions and 0 deletions

57
main.py Normal file
View File

@@ -0,0 +1,57 @@
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
from app.config import settings
from app.database import init_db
from app.redis_lock import redis_manager
from app.routes import router
@asynccontextmanager
async def lifespan(app: FastAPI):
# 启动时初始化
await init_db()
await redis_manager.connect()
yield
# 关闭时清理
await redis_manager.disconnect()
app = FastAPI(
title=settings.app_name,
version="1.0.0",
lifespan=lifespan
)
# 添加CORS中间件
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# 注册路由
app.include_router(router)
@app.get("/")
async def root():
return {"message": f"Welcome to {settings.app_name}"}
@app.get("/health")
async def health_check():
return {"status": "healthy"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(
"main:app",
host="0.0.0.0",
port=8000,
reload=settings.debug
)