Files
cursornew2026/backend/app/config.py

39 lines
1.2 KiB
Python

import os
from pydantic_settings import BaseSettings
from typing import Optional
class Settings(BaseSettings):
# 数据库配置
USE_SQLITE: bool = True # 设为 False 使用 MySQL
DB_HOST: str = "localhost"
DB_PORT: int = 3306
DB_USER: str = "root"
DB_PASSWORD: str = ""
DB_NAME: str = "cursorpro"
# JWT配置
SECRET_KEY: str = "hb8x2kF9mNpQ3rT7vY1zA4cE6gJ0lO5sU8wB2dH4"
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 7 # 7天
# 管理员账号
ADMIN_USERNAME: str = "admin"
ADMIN_PASSWORD: str = "Hb@2024Pro!"
# 外部系统API Token (用于批量上传账号等)
API_TOKEN: str = "hb-ext-9kX2mP5nQ8rT1vY4zA7c"
@property
def DATABASE_URL(self) -> str:
if self.USE_SQLITE:
# SQLite 用于本地测试
db_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "cursorpro.db")
return f"sqlite:///{db_path}"
return f"mysql+pymysql://{self.DB_USER}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}?charset=utf8mb4"
class Config:
env_file = ".env"
extra = "allow"
settings = Settings()