46 lines
1.4 KiB
Python
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)
|