# ================================== # 开发环境配置文件 # ================================== ENVIRONMENT = "dev" # 服务器配置 SERVER_HOST = 'localhost' # 允许访问的IP地址 SERVER_PORT = 8000 # 服务端口 RELOAD = True # 是否自动重启 WORKERS = 1 # 启动进程数 FACTORY = True # 是否使用异步模式 LIMIT_CONCURRENCY = 1000 # 最大并发连接数 BACKLOG = 2048 # 等待队列最大连接数 LIMIT_MAX_REQUESTS = 4094 # HTTP最大请求数 TIMEOUT_KEEP_ALIVE = 5 # 保持连接时间(秒) LIFESPAN = "on" # 生命周期模式 # 文档配置 DEBUG = True # 调试模式 TITLE = "🎉 Fastapi Vue Admin 🎉 -dev" # 文档标题 VERSION = '0.1.0' # 版本号 DESCRIPTION = "该项目是一个基于python的web服务框架,基于fastapi和sqlalchemy实现。" # 文档描述 SUMMARY = "接口汇总" # 文档概述 DOCS_URL = "/docs" # Swagger UI路径 REDOC_URL = "/redoc" # ReDoc路径 ROOT_PATH = "/api/v1" # API路由前缀 # JWT配置 SECRET_KEY = "vgb0tnl9d58+6n-6h-ea&u^1#s0ccp!794=krylxcjq75vzps$" # JWT密钥 ALGORITHM = "HS256" # JWT算法 ACCESS_TOKEN_EXPIRE_MINUTES = 1440 # access_token过期时间(分钟) REFRESH_TOKEN_EXPIRE_MINUTES = 10080 # refresh_token过期时间(分钟) TOKEN_TYPE = "bearer" # token类型 JWT_REDIS_EXPIRE_MINUTES = 30 # redis缓存过期时间(分钟) # 数据库配置 DATABASE_ECHO = False # 是否显示SQL日志 ECHO_POOL = False # 是否显示连接池日志 POOL_SIZE = 20 # 连接池大小 MAX_OVERFLOW = 10 # 最大溢出连接数 POOL_TIMEOUT = 30 # 连接超时时间(秒) POOL_RECYCLE = 1800 # 连接回收时间(秒) POOL_PRE_PING = True # 是否开启连接预检 FUTURE = True # 是否使用SQLAlchemy 2.0特性 AUTOCOMMIT = False # 是否自动提交 AUTOFETCH = False # 是否自动获取 EXPIRE_ON_COMMIT = False # 是否在提交时过期 DB_DRIVER = "sqlite" # sqlite、mysql、postgresql # SQLite配置 SQLITE_DB_NAME = "dev_sql.db" # Redis配置 REDIS_ENABLE = True REDIS_HOST = "localhost" REDIS_PORT = 6379 REDIS_DB = 1 # MYSQL配置 SQL_DB_ENABLE = True # 是否启用数据库 MYSQL_USER = "root" MYSQL_PASSWORD = 123456 MYSQL_HOST = "localhost" MYSQL_PORT = 3306 MYSQL_DB_NAME = "fastapi_vue_admin" # PostgreSQL配置 POSTGRESQL_USER = "postgres" POSTGRESQL_PASSWORD = 123456 POSTGRESQL_HOST = "localhost" POSTGRESQL_PORT = 5432 POSTGRESQL_DB_NAME = "fastapi_vue_admin" # MongoDB配置 MONGO_DB_ENABLE = True MONGO_DB_NAME = "fastapi_vue_admin" MONGO_DB_HOST = "localhost" MONGO_DB_PORT = 27017 # 日志配置 BACKUPCOUNT = 10 # 日志文件备份数 WHEN = 'MIDNIGHT' # 日志分割时间 INTERVAL = 1 # 日志分割间隔 ENCODING = 'utf-8' # 日志编码 LOGGER_LEVEL = 'INFO' # 日志级别 LOGGER_FORMAT = '%(asctime)s - %(levelname)s - [%(name)s:%(filename)s:%(funcName)s:%(lineno)d] %(message)s' # 日志格式 # 请求中间件配置 OPERATION_LOG_RECORD = True # 是否记录操作日志 OPERATION_RECORD_METHOD = ["POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"] # 需要记录的请求方法 IGNORE_OPERATION_FUNCTION = ["get_captcha_for_login"] # 忽略记录的函数 # 跨域中间件配置 CORS_ORIGIN_ENABLE = True # 是否启用跨域 ALLOW_ORIGINS = ["*"] # 允许的域名列表 ALLOW_METHODS = ["*"] # 允许的HTTP方法 ALLOW_HEADERS = ["*"] # 允许的请求头 ALLOW_CREDENTIALS = True # 是否允许携带cookie # Gzip压缩中间件配置 GZIP_ENABLE = True # 是否启用Gzip GZIP_MIN_SIZE = 1000 # 最小压缩大小(字节) GZIP_COMPRESS_LEVEL = 9 # 压缩级别(1-9) # 验证码配置 CAPTCHA_ENABLE = True # 是否启用验证码 CAPTCHA_EXPIRE_SECONDS = 60 # 验证码过期时间(秒) CAPTCHA_FONT_SIZE = 40 # 字体大小 # 上传配置 MAX_FILE_SIZE = 10485760 # 最大文件大小10 * 1024 * 1024(10MB)