Files
2026-05-11 11:06:25 +08:00

62 lines
1.8 KiB
Python

import os
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.core.exceptions import register_exception_handlers
from app.core.lifespan import lifespan
from app.core.middleware import register_middleware
app = FastAPI(
title=settings.project_name,
version=settings.version,
lifespan=lifespan,
)
# 注册全局异常处理器
register_exception_handlers(app)
# 注册自定义中间件
register_middleware(app)
# 注册 CORS 中间件
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origins,
allow_credentials=False,
allow_methods=settings.cors_allow_methods,
allow_headers=settings.cors_allow_headers,
)
# ========== 路由注册 ==========
from app.api.health import router as health_router
from app.api.resume import router as resume_router
from app.api.resume_diagnose import router as resume_diagnose_router
from app.api.skill_gap import router as skill_gap_router
from app.api.customize_resume import router as customize_resume_router
from app.api.job_agent_chat import router as job_agent_chat_router
from app.api.nova_chat import router as nova_chat_router
from app.api.browser_plug import router as browser_plug_router
app.include_router(health_router)
app.include_router(resume_router)
app.include_router(resume_diagnose_router)
app.include_router(skill_gap_router)
app.include_router(customize_resume_router)
app.include_router(job_agent_chat_router)
app.include_router(nova_chat_router)
app.include_router(browser_plug_router)
# ==============================
if __name__ == "__main__":
os.environ["ENV"] = "dev"
import uvicorn
uvicorn.run(
"app.main:app",
host="0.0.0.0",
timeout_graceful_shutdown=5,
port=settings.server_port,
)