修改env读取手段

This commit is contained in:
2026-04-03 23:33:59 +08:00
parent 387dd3a0bb
commit fb3cc67b68
3 changed files with 58 additions and 30 deletions

View File

@@ -1,21 +1,21 @@
from pydantic import field_validator
from pydantic_settings import BaseSettings, SettingsConfigDict
from pathlib import Path
import os
class Config(BaseSettings):
"""Points system configuration."""
model_config = SettingsConfigDict(
env_prefix="DANDING_",
case_sensitive=True,
extra="ignore",
)
POINTS_DB_FILE: str = "data/danding_points/points.db"
POINTS_MAX_BALANCE: int = 0 # 0 = unlimited
POINTS_MAX_PER_OPERATION: int = 0 # 0 = unlimited
POINTS_LOG_RETENTION_DAYS: int = 365
# 数据库配置
POINTS_DB_FILE: str = os.getenv("DANDING_POINTS_DB_FILE", "data/danding_points/points.db")
POINTS_MAX_BALANCE: int = int(os.getenv("DANDING_POINTS_MAX_BALANCE", "0"))
POINTS_MAX_PER_OPERATION: int = int(os.getenv("DANDING_POINTS_MAX_PER_OPERATION", "0"))
POINTS_LOG_RETENTION_DAYS: int = int(os.getenv("DANDING_POINTS_LOG_RETENTION_DAYS", "365"))
@field_validator("POINTS_MAX_BALANCE", "POINTS_MAX_PER_OPERATION", "POINTS_LOG_RETENTION_DAYS")
@classmethod