41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from pydantic_settings import BaseSettings
|
|
from typing import Optional, List
|
|
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
class Settings(BaseSettings):
|
|
API_V1_STR: str = "/api/v1"
|
|
PROJECT_NAME: str = "美搭Meida API"
|
|
PROJECT_DESCRIPTION: str = "美搭Meida服务后端API"
|
|
PROJECT_VERSION: str = "0.1.0"
|
|
|
|
# CORS设置
|
|
BACKEND_CORS_ORIGINS: List[str] = ["*"]
|
|
|
|
# 数据库设置
|
|
DB_HOST: str = os.getenv("DB_HOST", "localhost")
|
|
DB_PORT: str = os.getenv("DB_PORT", "3306")
|
|
DB_USER: str = os.getenv("DB_USER", "root")
|
|
DB_PASSWORD: str = os.getenv("DB_PASSWORD", "password")
|
|
DB_NAME: str = os.getenv("DB_NAME", "meida")
|
|
DB_ECHO: bool = os.getenv("DB_ECHO", "False").lower() == "true"
|
|
|
|
# DashScope API密钥
|
|
DASHSCOPE_API_KEY: str = os.getenv("DASHSCOPE_API_KEY", "sk-caa199589f1c451aaac471fad2986e28")
|
|
|
|
# 安全设置
|
|
SECRET_KEY: str = os.getenv("SECRET_KEY", "your-secret-key-for-jwt-please-change-in-production")
|
|
ALGORITHM: str = "HS256"
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 7 # 7天
|
|
|
|
# 微信设置
|
|
WECHAT_APP_ID: str = os.getenv("WECHAT_APP_ID", "")
|
|
WECHAT_APP_SECRET: str = os.getenv("WECHAT_APP_SECRET", "")
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
case_sensitive = True
|
|
|
|
settings = Settings() |