from fastapi import FastAPI from app.config.settings import settings from app.utils.database import init_database, close_database from app.controllers import base_controller, database_controller, location_controller # 创建FastAPI应用 app = FastAPI( title=settings.config.name, description="仓库管理系统 API", version="1.0.0", debug=settings.config.debug ) @app.on_event("startup") async def startup_event(): """应用启动事件""" print("=" * 50) print(f"🚀 启动 {settings.config.name}") print(f"📦 环境: {settings.environment}") print(f"🔧 调试模式: {settings.config.debug}") print(f"🌐 地址: http://{settings.config.host}:{settings.config.port}") print("=" * 50) # 初始化数据库 init_database() @app.on_event("shutdown") async def shutdown_event(): """应用关闭事件""" print("🔄 正在关闭应用...") close_database() print("✅ 应用已关闭") # 注册路由 app.include_router(base_controller.router) app.include_router(database_controller.router) app.include_router(location_controller.router) if __name__ == "__main__": import uvicorn uvicorn.run( "app.main:app", host=settings.config.host, port=settings.config.port, reload=settings.config.debug )