| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- """应用配置:从 .env / 环境变量加载。"""
- from pydantic_settings import BaseSettings, SettingsConfigDict
- class Settings(BaseSettings):
- """所有可配置项;不允许在源码中硬编码凭据。"""
- model_config = SettingsConfigDict(
- env_file=".env",
- env_file_encoding="utf-8",
- case_sensitive=False,
- extra="ignore",
- )
- # Zendesk 凭据
- zendesk_subdomain: str
- zendesk_email: str
- zendesk_api_token: str
- # 业务默认值
- default_locale: str = "en-us"
- # 缓存刷新时间(本地时区,24 小时制)
- cache_refresh_hour: int = 0
- cache_refresh_minute: int = 0
- # HTTP
- http_timeout: int = 30
- @property
- def zendesk_base_url(self) -> str:
- return f"https://{self.zendesk_subdomain}.zendesk.com/api/v2/help_center"
- @property
- def zendesk_auth(self) -> tuple[str, str]:
- # Zendesk API Token 鉴权格式:("{email}/token", api_token)
- return (f"{self.zendesk_email}/token", self.zendesk_api_token)
- settings = Settings()
|