urban-investment-research/main.py

48 lines
1.8 KiB
Python

import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from starlette.staticfiles import StaticFiles
from Config.uvicorn_log_config import uvicorn_log_config
from Context.common import conf, common_db
from Mods.EditRecord import Router as EditRecordRouter
from Mods.User import Router as UserRouter
from Mods.BasicInformation import Router as BasicInformationRouter
from Mods.OtherInformation import Router as OtherInformationRouter
from Mods.CommonInformation import Router as CommonInformationRouter
from Mods.RegionalEconomies import Router as RegionalEconomiesRouter
from Mods.IndepthResearch import Router as IndepthResearchRouter
from Utils.RecordUtils import record_middleware
# 只需引用一次,后面将其注释
# import init
common_db.init_database()
app = FastAPI(
title="城投调研工具后端",
description="城投调研工具后端",
version="v1.0.0",
docs_url="/uir/docs",
openapi_url="/uir/openapi.json"
)
app.mount("/static", StaticFiles(directory="static"), name="static")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.middleware('http')(record_middleware)
app.router.prefix = "/api/urban_investment_research"
app.include_router(EditRecordRouter.router)
app.include_router(UserRouter.router)
app.include_router(BasicInformationRouter.router)
app.include_router(OtherInformationRouter.router)
app.include_router(CommonInformationRouter.router)
app.include_router(RegionalEconomiesRouter.router)
app.include_router(IndepthResearchRouter.router)
print(f"http://127.0.0.1:{conf['app']['port']}{app.docs_url}")
if __name__ == '__main__':
uvicorn.run(app, log_config=uvicorn_log_config, host="0.0.0.0", port=int(conf['app']['port']))