""" 玉宗 - 珠宝设计大师 后端服务入口 """ import os from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from .config import settings from .routers import categories, designs, users from .routers import auth from .routers import admin @asynccontextmanager async def lifespan(app: FastAPI): """应用生命周期管理""" # 启动时:创建 uploads 目录 os.makedirs(settings.UPLOAD_DIR, exist_ok=True) print(f"✅ 上传目录已准备: {settings.UPLOAD_DIR}") yield # 关闭时:清理资源(如需要) print("👋 应用已关闭") # 创建 FastAPI 应用实例 app = FastAPI( title="玉宗 - 珠宝设计大师", description="AI驱动的珠宝设计微信小程序后端服务", version="1.0.0", lifespan=lifespan ) # 配置 CORS app.add_middleware( CORSMiddleware, allow_origins=["http://localhost:3000"], # 生产环境应限制具体域名 allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") async def root(): """根路径健康检查""" return { "message": "玉宗 - 珠宝设计大师 API", "version": "1.0.0", "status": "running" } @app.get("/health") async def health_check(): """健康检查接口""" return {"status": "healthy"} # 注册路由 app.include_router(auth.router) app.include_router(categories.router) app.include_router(designs.router) app.include_router(users.router) app.include_router(admin.router) # 配置静态文件服务 app.mount("/uploads", StaticFiles(directory="uploads"), name="uploads")