import os from pathlib import Path from dotenv import load_dotenv load_dotenv(Path(__file__).parent / ".env", override=True) def _env(name, default=""): return os.environ.get(name, default) WECHAT_APPID = _env("WECHAT_APPID") WECHAT_SECRET = _env("WECHAT_SECRET") JWT_SECRET = _env("JWT_SECRET") JWT_ALGORITHM = "HS256" JWT_TTL_SECONDS = int(_env("JWT_TTL_SECONDS", str(90 * 24 * 3600))) ADMIN_KEY = _env("ADMIN_KEY") MYSQL_HOST = _env("MYSQL_HOST", "localhost") MYSQL_PORT = int(_env("MYSQL_PORT", "3306")) MYSQL_USER = _env("MYSQL_USER", "root") MYSQL_PASSWORD = _env("MYSQL_PASSWORD") MYSQL_DB = _env("MYSQL_DB", "mys_info_v3") SURVEY_DB = _env("SURVEY_DB", "myxhxc") PHONE_HMAC_KEY = _env("PHONE_HMAC_KEY", "MingYuan2026AuthKey") H5_BASE_URL = _env("H5_BASE_URL", "http://127.0.0.1:8001").rstrip("/") FEEDBACK_DIR = _env("FEEDBACK_DIR", "/home/introduction/feedback") COURSE_VOTES_FILE = _env("COURSE_VOTES_FILE", "/home/introduction/test/course_votes.json") PLAN_ATTACH_DIR = _env("PLAN_ATTACH_DIR", "/home/static/plan") # nginx 静态资源根目录:HEAD/登录后图片统一由 nginx 直接读取 STATIC_ROOT = _env("STATIC_ROOT", "/home/static").rstrip("/") AVATAR_DIR = _env("AVATAR_DIR", "/home/static/avatars").rstrip("/")