Files
cursornew2026/backend/app/config.py
huangzhenpc ac19d029da backend v2.1: 公告管理功能 + 系统重构
- 新增 Announcement 数据模型,支持公告的增删改查
- 后台管理新增"公告管理"Tab(创建/编辑/删除/启用禁用)
- 客户端 /api/announcement 改为从数据库读取
- 账号服务重构,新增无感换号、自动分析等功能
- 新增后台任务调度器、数据库迁移脚本
- Schema/Service/Config 全面升级至 v2.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 19:58:05 +08:00

39 lines
1.1 KiB
Python

import os
from pydantic_settings import BaseSettings
from typing import Optional
class Settings(BaseSettings):
# 数据库配置
USE_SQLITE: bool = False # 设为 False 使用 MySQL
DB_HOST: str = "127.0.0.1"
DB_PORT: int = 3306
DB_USER: str = "cursorpro"
DB_PASSWORD: str = ""
DB_NAME: str = "cursorpro"
# JWT配置
SECRET_KEY: str = "" # Must be set via .env
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 7 # 7天
# 管理员账号
ADMIN_USERNAME: str = "admin"
ADMIN_PASSWORD: str = ""
# 外部系统API Token (用于批量上传账号等)
API_TOKEN: str = ""
@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()