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']))