51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
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
|
|
)
|