wms-py/app/main.py

51 lines
1.3 KiB
Python
Raw Normal View History

2025-06-04 10:39:32 +08:00
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
)