53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
from fastapi import FastAPI, Depends
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from sqlalchemy import create_engine
|
|
from .models import Base
|
|
from .routes.character import router as character_router
|
|
from .routes.user import router as user_router
|
|
from .routes.session import router as session_router
|
|
from .routes.chat import router as chat_router
|
|
from .dependencies.logger import get_logger
|
|
from config import get_config
|
|
|
|
|
|
#----------------------获取日志------------------------
|
|
logger = get_logger()
|
|
logger.info("日志初始化完成")
|
|
#-----------------------------------------------------
|
|
|
|
#----------------------获取配置------------------------
|
|
Config = get_config()
|
|
logger.info("配置获取完成")
|
|
#-----------------------------------------------------
|
|
|
|
|
|
#--------------------初始化数据库-----------------------
|
|
engine = create_engine(Config.SQLALCHEMY_DATABASE_URI)
|
|
Base.metadata.create_all(bind=engine)
|
|
logger.info("数据库初始化完成")
|
|
#------------------------------------------------------
|
|
|
|
|
|
#--------------------创建FastAPI实例--------------------
|
|
app = FastAPI()
|
|
logger.info("FastAPI实例创建完成")
|
|
#------------------------------------------------------
|
|
|
|
|
|
#---------------------初始化路由------------------------
|
|
app.include_router(character_router)
|
|
app.include_router(user_router)
|
|
app.include_router(session_router)
|
|
app.include_router(chat_router)
|
|
logger.info("路由初始化完成")
|
|
#-------------------------------------------------------
|
|
|
|
#-------------------设置跨域中间件-----------------------
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"], # 允许所有源,也可以指定特定源
|
|
allow_credentials=True,
|
|
allow_methods=["*"], # 允许所有方法
|
|
allow_headers=["*"], # 允许所有头
|
|
)
|
|
#------------------------------------------------------- |