2023-02-28 16:28:48 +08:00
|
|
|
import os
|
|
|
|
import uvicorn
|
|
|
|
from fastapi import FastAPI
|
2023-06-28 16:49:21 +08:00
|
|
|
from fastapi.exceptions import RequestValidationError
|
2023-02-28 16:28:48 +08:00
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
2023-06-29 17:24:38 +08:00
|
|
|
|
|
|
|
from Config.log import uvicorn_log_config
|
2023-06-30 13:39:24 +08:00
|
|
|
from Mods.Notice.Utils import daily_notice
|
|
|
|
from Router import DailyRouter, UserRouter, AuthRouter, FileRouter
|
2023-06-28 16:49:21 +08:00
|
|
|
from Utils.MiddlewareUtils import exception_handler, validation_exception_handler
|
2023-07-03 11:04:15 +08:00
|
|
|
from Utils.PrintUtils import hook_print
|
2023-02-28 16:28:48 +08:00
|
|
|
from Utils.SqlAlchemyUtils import init_database, get_db_i
|
|
|
|
from fastapi.staticfiles import StaticFiles
|
2023-04-19 17:15:50 +08:00
|
|
|
from Mods import Router as ModsRouter
|
2023-07-03 11:04:15 +08:00
|
|
|
hook_print()
|
2023-02-28 16:28:48 +08:00
|
|
|
init_database()
|
|
|
|
app = FastAPI(
|
|
|
|
title="日报小程序",
|
|
|
|
description="",
|
2023-03-22 10:20:16 +08:00
|
|
|
version="v1.0.0",
|
|
|
|
openapi_url="/daily/openapi.json",
|
|
|
|
docs_url="/daily/docs"
|
2023-02-28 16:28:48 +08:00
|
|
|
)
|
|
|
|
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)
|
2023-03-01 16:04:43 +08:00
|
|
|
app.include_router(AuthRouter.router)
|
2023-03-07 16:42:34 +08:00
|
|
|
app.include_router(FileRouter.router)
|
2023-04-21 13:49:51 +08:00
|
|
|
app.include_router(ModsRouter.router)
|
2023-02-28 16:28:48 +08:00
|
|
|
|
2023-06-28 16:49:21 +08:00
|
|
|
# 中间件
|
|
|
|
# app.exception_handler(Exception)(exception_handler)
|
|
|
|
# app.exception_handler(RequestValidationError)(validation_exception_handler)
|
2023-06-30 13:39:24 +08:00
|
|
|
daily_notice.init()
|
2023-06-28 16:49:21 +08:00
|
|
|
|
2023-06-29 17:24:38 +08:00
|
|
|
uvicorn.run(app=app, host="0.0.0.0", port=8006, log_config=uvicorn_log_config)
|