""" University Scraper Web API 主应用入口 """ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from .config import settings from .database import init_db from .api import api_router # 创建应用 app = FastAPI( title=settings.APP_NAME, version=settings.APP_VERSION, description=""" ## 大学爬虫Web系统 API ### 功能 - 🏫 **大学管理**: 添加、编辑、删除大学 - 📜 **脚本生成**: 一键生成爬虫脚本 - 🚀 **任务执行**: 一键运行爬虫 - 📊 **数据查看**: 查看和导出爬取结果 ### 数据结构 大学 → 学院 → 项目 → 导师 """, docs_url="/docs", redoc_url="/redoc" ) # 配置CORS app.add_middleware( CORSMiddleware, allow_origins=settings.CORS_ORIGINS, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # 注册路由 app.include_router(api_router, prefix="/api") @app.on_event("startup") async def startup_event(): """应用启动时初始化数据库""" init_db() @app.get("/") async def root(): """根路由""" return { "name": settings.APP_NAME, "version": settings.APP_VERSION, "docs": "/docs", "api": "/api" } @app.get("/health") async def health_check(): """健康检查""" return {"status": "healthy"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)