- 日志时间改为北京时间(TZ=Asia/Shanghai) - 评论达上限后继续执行点赞/收藏/转发 - 用户信息同步改用 PATCH /v2/users/current - 一键登出全部功能 - 一键登出全部前端按钮 - update.sh 一键更新脚本
47 lines
1.5 KiB
Python
Executable File
47 lines
1.5 KiB
Python
Executable File
"""系统配置"""
|
|
import os
|
|
from urllib.parse import quote_plus
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# 数据库
|
|
DB_HOST: str = os.getenv("DB_HOST", "localhost")
|
|
DB_PORT: int = int(os.getenv("DB_PORT", "3306"))
|
|
DB_USER: str = os.getenv("DB_USER", "aivirtual")
|
|
DB_PASSWORD: str = os.getenv("DB_PASSWORD", "AiVirtual2024")
|
|
DB_NAME: str = os.getenv("DB_NAME", "ai_virtual_news")
|
|
|
|
# Redis
|
|
REDIS_HOST: str = os.getenv("REDIS_HOST", "localhost")
|
|
REDIS_PORT: int = int(os.getenv("REDIS_PORT", "6379"))
|
|
|
|
# 安全
|
|
SECRET_KEY: str = os.getenv("SECRET_KEY", "dev-secret-key-change-in-prod")
|
|
AES_KEY: str = os.getenv("AES_KEY", "your-aes-key-32-chars-change-now!")
|
|
|
|
# 新闻平台
|
|
NEWS_PLATFORM_BASE_URL: str = os.getenv(
|
|
"NEWS_PLATFORM_BASE_URL", "http://192.168.1.200:63120"
|
|
)
|
|
|
|
# 日志目录
|
|
LOG_DIR: str = "/app/logs"
|
|
|
|
@property
|
|
def DATABASE_URL(self) -> str:
|
|
# 对密码做 URL 编码,防止 @ # ! 等特殊字符破坏连接字符串
|
|
pwd = quote_plus(self.DB_PASSWORD)
|
|
return f"mysql+aiomysql://{self.DB_USER}:{pwd}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}?charset=utf8mb4"
|
|
|
|
@property
|
|
def SYNC_DATABASE_URL(self) -> str:
|
|
pwd = quote_plus(self.DB_PASSWORD)
|
|
return f"mysql+pymysql://{self.DB_USER}:{pwd}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}?charset=utf8mb4"
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
|
|
|
|
settings = Settings()
|