2026-07-02 23:13:23 +08:00
|
|
|
|
"""公共配置:统一从环境变量或 Flask config 读取配置项。"""
|
|
|
|
|
|
import os
|
|
|
|
|
|
from flask import current_app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_config(key: str, default: str = "") -> str:
|
|
|
|
|
|
"""从环境变量获取配置(优先级:环境变量 > Flask config)。"""
|
|
|
|
|
|
value = os.environ.get(key, "")
|
|
|
|
|
|
if value:
|
|
|
|
|
|
return value
|
|
|
|
|
|
try:
|
|
|
|
|
|
return current_app.config.get(key, default)
|
|
|
|
|
|
except RuntimeError:
|
|
|
|
|
|
return default
|
2026-07-27 13:52:09 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_storage_root() -> str:
|
|
|
|
|
|
"""获取保险模块持久化存储根目录。
|
|
|
|
|
|
|
|
|
|
|
|
优先使用 INSURANCE_STORAGE_ROOT 环境变量,
|
|
|
|
|
|
默认为 /app/api/storage/insurance(Docker 持久化卷)。
|
|
|
|
|
|
本地开发时回退到 ./storage/insurance。
|
|
|
|
|
|
"""
|
|
|
|
|
|
root = os.environ.get("INSURANCE_STORAGE_ROOT", "")
|
|
|
|
|
|
if root:
|
|
|
|
|
|
return root
|
|
|
|
|
|
# Docker 环境
|
|
|
|
|
|
if os.path.isdir("/app/api/storage"):
|
|
|
|
|
|
return "/app/api/storage/insurance"
|
|
|
|
|
|
# 本地开发
|
|
|
|
|
|
return os.path.join(os.getcwd(), "storage", "insurance")
|