|
|
|
@ -1,6 +1,8 @@ |
|
|
|
import argparse |
|
|
|
import os |
|
|
|
import sys |
|
|
|
from pathlib import Path |
|
|
|
|
|
|
|
from dotenv import load_dotenv |
|
|
|
from functools import lru_cache |
|
|
|
from pydantic_settings import BaseSettings |
|
|
|
@ -23,6 +25,8 @@ class AppSettings(BaseSettings): |
|
|
|
app_same_time_login: bool = True |
|
|
|
ds_server_url: str = 'http://47.121.207.11:12345' |
|
|
|
ds_task_id: str = '15081964614112' |
|
|
|
|
|
|
|
|
|
|
|
class JwtSettings(BaseSettings): |
|
|
|
""" |
|
|
|
Jwt配置 |
|
|
|
@ -199,14 +203,17 @@ class GetConfig: |
|
|
|
# 解析命令行参数 |
|
|
|
args = parser.parse_args() |
|
|
|
# 设置环境变量,如果未设置命令行参数,默认APP_ENV为dev |
|
|
|
os.environ['APP_ENV'] = args.env if args.env else 'dev' |
|
|
|
os.environ['APP_ENV'] = args.env if args.env else '' |
|
|
|
# 读取运行环境 |
|
|
|
run_env = os.environ.get('APP_ENV', '') |
|
|
|
# 运行环境未指定时默认加载.env.dev |
|
|
|
env_file = '.env.dev' |
|
|
|
env_file = os.path.join(Path(__file__).parent.parent.parent, '.env.prod') |
|
|
|
# 运行环境不为空时按命令行参数加载对应.env文件 |
|
|
|
if run_env != '': |
|
|
|
env_file = f'.env.{run_env}' |
|
|
|
else: |
|
|
|
if not Path(env_file).exists(): |
|
|
|
env_file = f'.env.dev' |
|
|
|
# 加载配置 |
|
|
|
load_dotenv(env_file) |
|
|
|
|
|
|
|
|