Brak opisu

Yue b03a80e935 Update 4 miesięcy temu
backend b03a80e935 Update 4 miesięcy temu
.env.example b03a80e935 Update 4 miesięcy temu
.gitignore b03a80e935 Update 4 miesięcy temu
PROJECT_STRUCTURE.md b03a80e935 Update 4 miesięcy temu
README.md b03a80e935 Update 4 miesięcy temu

README.md

Smart Question Bank 智能题库系统

配置系统说明

配置文件结构

config/
├── application.yml          # 基础配置
├── application-dev.yml      # 开发环境配置
├── application-prod.yml     # 生产环境配置
└── config_loader.py         # 配置加载器

环境变量配置

  1. 复制.env.example.env
  2. 根据实际环境修改.env文件中的配置项
  3. 主要配置项说明:

    # 应用配置
    APP_ENV=development          # 环境类型 (development|production)
    APP_NAME=Smart Question Bank # 应用名称
    APP_VERSION=1.0.0            # 应用版本
    APP_DEBUG=true               # 调试模式
    APP_SECRET_KEY=              # 应用密钥
    APP_TIMEZONE=Asia/Shanghai   # 时区
    APP_LOCALE=zh_CN             # 本地化语言
    API_PREFIX=/api/v1           # API前缀
    
    # 数据库配置
    DB_HOST=localhost            # 数据库主机
    DB_PORT=3306                 # 数据库端口
    DB_USER=root                 # 数据库用户
    DB_PASSWORD=                 # 数据库密码
    DB_NAME=question_bank        # 数据库名称
    DB_POOL_SIZE=10              # 连接池大小
    DB_MAX_OVERFLOW=20           # 最大溢出连接数
    DB_ECHO=false                # SQL日志输出
    DB_POOL_RECYCLE=3600         # 连接回收时间(秒)
    
    # Redis配置
    REDIS_HOST=localhost         # Redis主机
    REDIS_PORT=6379              # Redis端口
    REDIS_PASSWORD=              # Redis密码
    REDIS_DB=0                   # Redis数据库编号
    
    # JWT配置
    JWT_SECRET=                  # JWT密钥
    JWT_ALGORITHM=HS256          # JWT算法
    JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440 # 访问令牌有效期(分钟)
    JWT_REFRESH_TOKEN_EXPIRE_DAYS=30     # 刷新令牌有效期(天)
    
    # CORS配置
    CORS_ORIGINS=                # 允许跨域请求的源
    

配置加载顺序

  1. 加载application.yml基础配置
  2. 根据APP_ENV加载对应环境配置
  3. 加载.env环境变量配置
  4. 环境变量优先级最高,会覆盖配置文件中的相同配置项

最佳实践

  • 生产环境务必修改APP_SECRET_KEYJWT_SECRET
  • 敏感信息(如数据库密码)应通过环境变量配置
  • 开发环境可使用.env文件,生产环境建议直接设置系统环境变量