# IDC设备管理系统环境配置示例 # 复制此文件为 .env 并根据需要修改配置 # ============================================== # 服务器配置 # ============================================== # 服务器端口(默认8000) # 如需修改,请设置为其他端口号 PORT=8000 # 运行环境(development/production) # development: 开发模式,详细日志便于调试 # production: 生产模式,性能优化,减少日志输出 NODE_ENV=development # ============================================== # 数据库配置 # ============================================== # 数据库类型:sqlite(默认)或 mysql # sqlite: 零配置嵌入式数据库,适合开发和小规模应用 # mysql: 关系型数据库,适合生产环境和大规模应用 DB_TYPE=sqlite # SQLite 配置(当DB_TYPE=sqlite时使用) # SQLite数据库文件路径,文件会自动创建 DB_PATH=./idc_management.db # MySQL 配置(当DB_TYPE=mysql时使用) # 注意:使用MySQL前请确保MySQL服务已安装并创建相应的数据库 # 数据库创建命令:CREATE DATABASE idc_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MYSQL_HOST=localhost # MySQL服务器地址 MYSQL_PORT=3306 # MySQL端口号 MYSQL_USERNAME=root # MySQL用户名 MYSQL_PASSWORD= # MySQL密码(为空则无密码) MYSQL_DATABASE=idc_management # MySQL数据库名 # ============================================== # 安全配置(必填) # ============================================== # JWT 密钥 - 用于签名和验证用户身份令牌 # ⚠️ 安全警告: # - 生产环境必须修改默认值,使用强随机密钥 # - 至少 32 位字符,推荐 64 位 # - 定期更换(建议每3-6个月) # - 不要提交到代码仓库,仅保存在服务器环境变量 # # 生成强密钥命令: # PowerShell: -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 64 | ForEach-Object { [char]$_ }) # Linux/Mac: openssl rand -base64 64 # Node.js: require('crypto').randomBytes(64).toString('hex') # JWT_SECRET=your-strong-secret-key-minimum-32-characters-change-in-production # Token 过期时间(格式:数字+单位,如 24h, 2h, 30m) # 建议:开发环境 24h,生产环境 2h 或更短 TOKEN_EXPIRY=24h # 密码加密强度(bcrypt salt rounds) # 默认值:10,范围:4-12,值越大越安全但计算越慢 SALT_ROUNDS=10 # 登录失败锁定阈值 # 连续登录失败超过此次数后锁定账户 MAX_LOGIN_ATTEMPTS=5 # 账户锁定时间(分钟) # 登录失败锁定后的解锁等待时间 LOCK_TIME_MINUTES=30 # 密码最小长度 PASSWORD_MIN_LENGTH=6 # 用户名长度限制 USERNAME_MIN_LENGTH=3 USERNAME_MAX_LENGTH=50 # ============================================== # API 配置 # ============================================== # API 请求超时时间(毫秒) API_TIMEOUT=30000 # 数据库查询超时时间(毫秒) DB_QUERY_TIMEOUT=30000 # ============================================== # 分页配置 # ============================================== # 默认每页条数 DEFAULT_PAGE_SIZE=10 # 最大每页条数 MAX_PAGE_SIZE=1000 # ============================================== # 文件上传配置 # ============================================== # 最大文件上传大小(MB) MAX_FILE_SIZE_MB=50 # 最大头像上传大小(MB) MAX_AVATAR_SIZE_MB=5 # ============================================== # 重试配置 # ============================================== # 最大重试次数 MAX_RETRIES=3 # 重试延迟(毫秒) RETRY_DELAY=1000 # ============================================== # 前端配置 # ============================================== # 前端默认端口 FRONTEND_PORT=3000