| | |
| | | from contextlib import asynccontextmanager |
| | | # from apscheduler.schedulers.background import BackgroundScheduler |
| | | from fastapi import FastAPI |
| | | from fastapi.middleware.cors import CORSMiddleware |
| | | from starlette.staticfiles import StaticFiles |
| | | |
| | | from app.Log import init_log |
| | | from app.api.auth import router as auth_router |
| | | from app.api.canvas import canvas_router |
| | | from app.api.chat import router as chat_router |
| | | from app.api.agent import router as agent_router |
| | | from app.api.dialog import dialog_router |
| | | from app.api.excel import router as excel_router |
| | | from app.api.files import router as files_router |
| | | from app.api.knowledge import knowledge_router |
| | | from app.api.organization import dept_router |
| | | from app.api.report import router as report_router |
| | | from app.api.resource import menu_router |
| | | from app.api.sync_data import sync_router |
| | | from app.api.user import user_router |
| | | from app.api.group import group_router |
| | | from app.api.role import role_router |
| | | from app.models.base_model import init_db |
| | | from app.task.fetch_agent import sync_agents, initialize_agents |
| | | from app.task.sync_resources import sync_resource |
| | | |
| | | |
| | | # 使用 Lifespan 事件处理程序 |
| | |
| | | lifespan=lifespan |
| | | ) |
| | | |
| | | # 设置 CORS 中间件 |
| | | app.add_middleware( |
| | | CORSMiddleware, |
| | | allow_origins=["*"], # 允许所有域名跨域访问 |
| | | allow_credentials=True, |
| | | allow_methods=["*"], # 允许所有方法 |
| | | allow_headers=["*"], # 允许所有头部 |
| | | ) |
| | | # 创建调度器 |
| | | # scheduler = BackgroundScheduler() |
| | | # scheduler.add_job(sync_resource, 'interval', minutes=1, id="sync_resource_data") |
| | | # scheduler.start() |
| | | |
| | | |
| | | app.include_router(auth_router, prefix='/api/auth', tags=["auth"]) |
| | | app.include_router(chat_router, prefix='/api/chat', tags=["chat"]) |
| | |
| | | app.include_router(user_router, prefix='/api/user', tags=["user"]) |
| | | app.include_router(group_router, prefix='/api/group', tags=["group"]) |
| | | app.include_router(role_router, prefix='/api/role', tags=["role"]) |
| | | app.include_router(dept_router, prefix='/api/dept', tags=["dept"]) |
| | | app.include_router(menu_router, prefix='/api/menu', tags=["menu"]) |
| | | app.include_router(knowledge_router, prefix='/api/knowledge', tags=["knowledge"]) |
| | | app.include_router(dialog_router, prefix='/api/dialog', tags=["dialog"]) |
| | | app.include_router(canvas_router, prefix='/api/canvas', tags=["canvas"]) |
| | | app.include_router(sync_router, prefix='/api/sync', tags=["sync"]) |
| | | app.mount("/static", StaticFiles(directory="app/images"), name="static") |
| | | |
| | | if __name__ == "__main__": |
| | | import uvicorn |