import os import uvicorn from fastapi import FastAPI from fastapi.exceptions import RequestValidationError from fastapi.middleware.cors import CORSMiddleware from Config.log import uvicorn_log_config from Mods.Notice.Utils import daily_notice from Router import DailyRouter, UserRouter, AuthRouter, FileRouter from Utils.MiddlewareUtils import exception_handler, validation_exception_handler from Utils.SqlAlchemyUtils import init_database, get_db_i from fastapi.staticfiles import StaticFiles from Mods import Router as ModsRouter init_database() app = FastAPI( title="日报小程序", description="", version="v1.0.0", openapi_url="/daily/openapi.json", docs_url="/daily/docs" ) if not os.path.exists('static_data'): os.mkdir('static_data') app.mount("/static_data", StaticFiles(directory="static_data"), name="static_data") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(UserRouter.router) app.include_router(DailyRouter.router) app.include_router(AuthRouter.router) app.include_router(FileRouter.router) app.include_router(ModsRouter.router) # 中间件 # app.exception_handler(Exception)(exception_handler) # app.exception_handler(RequestValidationError)(validation_exception_handler) daily_notice.init() uvicorn.run(app=app, host="0.0.0.0", port=8006, log_config=uvicorn_log_config)