wd-smebiz/main.py

35 lines
1.1 KiB
Python

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
from mods import router as main_router
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']))