daily/main.py

46 lines
1.4 KiB
Python

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)