添加代码
This commit is contained in:
parent
545fd6554d
commit
91c977fc16
6
app.py
6
app.py
|
|
@ -5,4 +5,10 @@
|
|||
# @File :app.py
|
||||
from fastapi import FastAPI
|
||||
from router import routers
|
||||
from fastapi import status
|
||||
from fastapi.responses import JSONResponse
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
import uvicorn
|
||||
from config import Debug
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,3 +3,22 @@
|
|||
# @Email :508737091@qq.com
|
||||
# @Author :qiangyanwen
|
||||
# @File :__init__.py.py
|
||||
import yaml, os
|
||||
from yaml import CLoader as Loader
|
||||
|
||||
from utils.system import system
|
||||
from entity.setting_entity import SettingModel
|
||||
from config.log import logger
|
||||
Debug = os.getenv("DEBUG", True)
|
||||
platforms = ["darwin", "win32", "win64"]
|
||||
if system in platforms:
|
||||
# 启动开发环境
|
||||
logger.info("start the automation service development environment")
|
||||
config_file = "application_dev.yaml"
|
||||
else:
|
||||
# 启动生产环境
|
||||
logger.info("start the automation service production environment")
|
||||
config_file = "application_prod.yaml"
|
||||
logger.info("loading environment configuration file")
|
||||
project_path = os.path.dirname(os.path.realpath(__file__))
|
||||
settings = SettingModel(**yaml.load(open(os.path.join(project_path, config_file)), Loader))
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# _*_ coding: utf-8 _*_
|
||||
# @Time :2022/5/26 09:31
|
||||
# @Email :508737091@qq.com
|
||||
# @Author :qiangyanwen
|
||||
# @File :__init__.py.py
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
-------------------------------------------------
|
||||
File Name: setting_entity
|
||||
Description :
|
||||
Author : qiangyanwen
|
||||
date: 2022/1/14
|
||||
-------------------------------------------------
|
||||
"""
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
|
||||
|
||||
class MysqlModel(BaseModel):
|
||||
USERNAME: str
|
||||
PASSWORD: str
|
||||
HOST: str
|
||||
PORT: int
|
||||
DATABASE: str
|
||||
|
||||
|
||||
class RedisModel(BaseModel):
|
||||
HOST: str
|
||||
PASSWORD: str
|
||||
DB: int
|
||||
PORT: int
|
||||
TIMEOUT: int
|
||||
|
||||
|
||||
class ProjectModel(BaseModel):
|
||||
DEBUG: bool
|
||||
PORT: int
|
||||
BASE_PATH: str
|
||||
|
||||
|
||||
class DataBaseModel(BaseModel):
|
||||
Mysql: MysqlModel
|
||||
|
||||
|
||||
class SwaggerModel(BaseModel):
|
||||
TITLE: str
|
||||
DESCRIPTION: str
|
||||
DOCS_URL: str
|
||||
REDOC_URL: str
|
||||
|
||||
|
||||
class AccessModel(BaseModel):
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: int
|
||||
ALGORITHM: str
|
||||
SECRET_KEY: str
|
||||
|
||||
|
||||
class SettingModel(BaseModel):
|
||||
PROJECT: ProjectModel
|
||||
SWAGGER: SwaggerModel
|
||||
ACCESS: AccessModel
|
||||
DATABASE: DataBaseModel
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# _*_ coding: utf-8 _*_
|
||||
# @Time :2022/5/26 09:33
|
||||
# @Email :508737091@qq.com
|
||||
# @Author :qiangyanwen
|
||||
# @File :system.py
|
||||
import socket
|
||||
import sys
|
||||
from _yaml import yaml
|
||||
|
||||
|
||||
def get_host_ip():
|
||||
"""
|
||||
查询本机ip地址
|
||||
:return:
|
||||
"""
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
try:
|
||||
s.connect(('8.8.8.8', 80))
|
||||
ip = s.getsockname()[0]
|
||||
finally:
|
||||
s.close()
|
||||
|
||||
return ip
|
||||
|
||||
|
||||
def current_platform():
|
||||
return sys.platform
|
||||
|
||||
|
||||
system = current_platform()
|
||||
host = get_host_ip()
|
||||
|
||||
|
||||
__all__ = ["system", "host"]
|
||||
Loading…
Reference in New Issue