import os.path import uvicorn from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from starlette.staticfiles import StaticFiles from config.log import uvicorn_log_config from context.common import conf, common_db, common_db_base from mods import router as main_router common_db.init_database(create_db=True) common_db.init_database(create_db=True) sys_name = conf['app']['sys_name'] app = FastAPI( title=conf['app']['title'], description=conf['app']['title'], version="v1.0.0", docs_url=f"/{sys_name}/docs", openapi_url=f"/{sys_name}/openapi.json" ) if not os.path.exists("static"): os.makedirs("static") app.mount(f"/{sys_name}/static", StaticFiles(directory="static"), name="static") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.router.prefix = f"/{sys_name}" app.include_router(main_router.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']))