38 lines
1.2 KiB
Python
38 lines
1.2 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, common_db_v2, common_db_base_v2
|
|
from mods import router as main_router
|
|
|
|
common_db.init_database(create_db=True)
|
|
common_db_v2.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']))
|