| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # -*- coding: utf-8 -*-
- """
- FastAPI 模块化 API 网关
- 前后端分离 + 模块化架构:知识图谱管理、数字人答疑、个性化推荐
- """
- from fastapi import FastAPI
- from fastapi.middleware.cors import CORSMiddleware
- from backend.config import get_settings
- from backend.database import engine, Base, get_db, ensure_user_profile_columns
- from backend.api.auth_router import router as auth_router
- from backend.api.knowledge_router import router as knowledge_router
- from backend.api.qa_router import router as qa_router
- from backend.api.recommendation_router import router as recommendation_router
- from backend.api.user_router import router as user_router
- from backend.api.teacher_router import router as teacher_router
- settings = get_settings()
- app = FastAPI(title="初中化学 AI 数字人辅助教学系统", version="2.0")
- app.add_middleware(
- CORSMiddleware,
- allow_origins=["*"],
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- # 创建 / 升级表结构
- Base.metadata.create_all(bind=engine)
- ensure_user_profile_columns()
- # 注册路由
- app.include_router(auth_router, prefix=settings.API_V1_PREFIX)
- app.include_router(knowledge_router, prefix=settings.API_V1_PREFIX)
- app.include_router(qa_router, prefix=settings.API_V1_PREFIX)
- app.include_router(recommendation_router, prefix=settings.API_V1_PREFIX)
- app.include_router(user_router, prefix=settings.API_V1_PREFIX)
- app.include_router(teacher_router, prefix=settings.API_V1_PREFIX)
- @app.get("/")
- def root():
- return {"message": "初中化学 AI 数字人辅助教学系统 API", "docs": "/docs"}
|