# =========================================== # 班级操行分管理系统 - 后端服务 # # 开发者: Canglan # 联系方式: admin@sea-studio.top # 版权归属: Sea Network Technology Studio # 许可证: MIT License # # 版权所有 © Sea Network Technology Studio # =========================================== # =========================================== # FastAPI 应用配置 # =========================================== # 应用名称 - 显示在API文档和日志中 APP_NAME=班级操行分管理系统 # 运行环境 - production(生产) / development(开发) / testing(测试) # 生产环境会自动启用HTTPS重定向 APP_ENV=production # 调试模式 - true开启详细错误信息,生产环境必须为false DEBUG=False # 应用密钥 - 用于会话加密,必须32位以上随机字符串 # 生成方法: openssl rand -hex 32 SECRET_KEY=your-super-secret-key-min-32-characters-long # API版本号 - 用于路由前缀,如 /api/v1 API_VERSION=v1 # =========================================== # MySQL 数据库配置 # =========================================== # 数据库主机地址 - 本地用127.0.0.1,远程用实际IP DB_HOST=127.0.0.1 # 数据库端口 - MySQL默认3306 DB_PORT=3306 # 数据库用户名 - 建议创建专用账户,不要用root DB_USER=class_admin # 数据库密码 - 使用强密码,包含大小写数字特殊字符 DB_PASSWORD=your-strong-db-password # 数据库名称 - 固定为 classmanagerdb DB_NAME=classmanagerdb # 连接池大小 - 同时保持的数据库连接数,根据并发量调整 DB_POOL_SIZE=10 # 最大溢出连接 - 连接池满后最多额外创建的连接数 DB_MAX_OVERFLOW=20 # =========================================== # Redis 缓存配置 # =========================================== # Redis主机地址 REDIS_HOST=127.0.0.1 # Redis端口 - 默认6379 REDIS_PORT=6379 # Redis密码 - 建议设置,防止未授权访问 REDIS_PASSWORD=your-redis-password # Redis数据库编号 - 0-15,建议使用独立数据库避免冲突 REDIS_DB=0 # 最大连接数 - 根据并发量调整,建议50-200 REDIS_MAX_CONNECTIONS=50 # =========================================== # JWT 认证配置 # =========================================== # JWT密钥 - 用于签名Token,必须32位以上随机字符串 # 生成方法: openssl rand -hex 32 JWT_SECRET_KEY=your-jwt-secret-key-min-32-chars # JWT签名算法 - HS256对称加密 JWT_ALGORITHM=HS256 # Token过期时间(分钟)- 30分钟无操作需重新登录 JWT_EXPIRE_MINUTES=30 # =========================================== # 密码加密配置 # =========================================== # 密码盐值 - 固定字符串,用于SHA1+MD5双重加密 # 生成后不可更改,否则所有密码失效 # 生成方法: openssl rand -hex 16 PASSWORD_SALT=your-fixed-salt-string-for-password-hash # =========================================== # 调试入口配置 # =========================================== # 调试入口路径 - 随机字符串,用于添加第一批管理员 # 建议使用32位随机字符串,只有开发人员知道此路径 # 添加完管理员后建议注释掉debug路由 # 生成方法: openssl rand -hex 16 | sed 's/\(..\)/\1/g' | cut -c1-32 DEBUG_PATH=/a7k9x2m4q8w1e3r5t6y7u8i9o0p1z2x3 # =========================================== # 扣分规则配置 # =========================================== # 注意:这些规则仅用于建议,实际操作时可选择是否应用扣分 # 作业未提交扣分 - 科代表标记未提交时建议扣分数值 DEDUCTION_HOMEWORK_NOT_SUBMIT=2 # 作业迟交扣分 - 迟交作业建议扣分数值 DEDUCTION_HOMEWORK_LATE=1 # 缺勤扣分 - 缺勤建议扣分数值 DEDUCTION_ATTENDANCE_ABSENT=5 # 迟到扣分 - 迟到建议扣分数值 DEDUCTION_ATTENDANCE_LATE=2 # 请假扣分 - 请假建议扣分数值 DEDUCTION_ATTENDANCE_LEAVE=1 # =========================================== # 劳动委员固定分值配置 # =========================================== # 劳动委员加分值 - 固定为1分 LABOR_POINTS_ADD=1 # 劳动委员扣分值 - 固定为-1分 LABOR_POINTS_SUBTRACT=-1 # =========================================== # 班长加减分限制配置 # =========================================== # 班长最大单次加分值 MONITOR_MAX_ADD=5 # 班长最大单次扣分值(负数) MONITOR_MAX_SUBTRACT=-5 # =========================================== # 日志配置 # =========================================== # 日志级别 - DEBUG/INFO/WARNING/ERROR # 生产环境建议INFO,开发环境可用DEBUG LOG_LEVEL=INFO # 单日志文件最大大小(字节)- 100MB = 104857600 LOG_MAX_BYTES=104857600 # 日志备份数量 - 保留30个历史日志文件 LOG_BACKUP_COUNT=30 # 日志保留天数 - 操作日志保留1年,访问日志保留90天 LOG_RETENTION_DAYS=365 # =========================================== # CORS 跨域配置 # =========================================== # 允许的跨域域名 - 多个域名用英文逗号分隔,不要有空格 # 生产环境必须指定具体域名,不能用 * CORS_ORIGINS=https://your-frontend-domain.com,http://localhost:8080 # =========================================== # 上传文件配置 # =========================================== # 最大上传文件大小(字节)- 5MB = 5242880 MAX_UPLOAD_SIZE=5242880 # 允许的文件扩展名 - 多个用英文逗号分隔 ALLOWED_EXTENSIONS=json # =========================================== # 学生初始配置 # =========================================== # 学生初始操行分 - 新生导入时的默认分数,默认60分 STUDENT_INITIAL_POINTS=60