# ========================================
# 多平台媒体管理系统 - 服务端配置
# ========================================
# 复制此文件为 .env 并填入实际配置值
# cp env.example .env (或 copy env.example .env)

# ----------------------------------------
# 基础配置
# ----------------------------------------
# 运行环境: development | production | test
NODE_ENV=development

# 服务端口
PORT=3000

# 服务监听地址
# 127.0.0.1 = 仅本地访问（安全，推荐）
# 0.0.0.0 = 允许局域网/外网访问（需要时再开启）
HOST=127.0.0.1

# ----------------------------------------
# 数据库配置 (MySQL)
# ----------------------------------------
# 数据库主机地址
DB_HOST=localhost

# 数据库端口
DB_PORT=3306

# 数据库用户名
DB_USERNAME=root

# 数据库密码
DB_PASSWORD=your_mysql_password

# 数据库名称
DB_DATABASE=media_manager

# ----------------------------------------
# Redis 配置 (可选，用于缓存和任务队列)
# ----------------------------------------
# Redis 主机地址
REDIS_HOST=localhost

# Redis 端口
REDIS_PORT=6379

# Redis 密码 (无密码留空)
REDIS_PASSWORD=

# Redis 数据库编号 (0-15)
REDIS_DB=0

# ----------------------------------------
# 任务队列配置
# ----------------------------------------
# 启用 Redis 任务队列 (true/false)
# 启用后任务将持久化到 Redis，支持分布式和断点续传
# 不启用则使用内存队列（重启后任务丢失）
USE_REDIS_QUEUE=false

# ----------------------------------------
# JWT 认证配置
# ----------------------------------------
# JWT 密钥 (生产环境请使用强随机字符串)
JWT_SECRET=your-super-secret-key-change-in-production

# Access Token 过期时间
JWT_ACCESS_EXPIRES_IN=15m

# Refresh Token 过期时间
JWT_REFRESH_EXPIRES_IN=7d

# 注册配置
# 是否开放用户注册 (true/false)
ALLOW_REGISTRATION=true

# ----------------------------------------
# CORS 跨域配置
# ----------------------------------------
# 允许的来源 (多个用逗号分隔)
CORS_ORIGIN=http://localhost:5173

# ----------------------------------------
# 文件上传配置
# ----------------------------------------
# 上传文件存储路径 (相对于 server 目录)
UPLOAD_PATH=./uploads

# 最大视频文件大小 (MB)
MAX_VIDEO_SIZE=4096

# 最大图片文件大小 (MB)
MAX_IMAGE_SIZE=10

# ----------------------------------------
# 加密配置
# ----------------------------------------
# 数据加密密钥 (必须是 32 个字符)
ENCRYPTION_KEY=your-encryption-key-32-chars-long!

# ----------------------------------------
# 内部 API 配置 (Python 服务调用 Node.js API)
# ----------------------------------------
# 内部 API 密钥 (用于 Python 服务调用 Node.js 内部接口)
INTERNAL_API_KEY=internal-api-key-default

# Node.js API 地址 (供 Python 服务使用)
NODEJS_API_URL=http://localhost:3000

# ----------------------------------------
# AI 配置 - 阿里云百炼千问大模型 (可选，用于智能功能)
# ----------------------------------------
# 阿里云百炼 API Key (以 sk- 开头)
# 获取地址: https://bailian.console.aliyun.com/
DASHSCOPE_API_KEY=

# API Base URL (可选，默认为北京区域)
# 北京: https://dashscope.aliyuncs.com/compatible-mode/v1
# 新加坡: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
# 弗吉尼亚: https://dashscope-us.aliyuncs.com/compatible-mode/v1
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# 默认对话模型 (可选)
# 可选值: qwen-plus, qwen-max, qwen-turbo, qwen3-235b-a22b 等
AI_DEFAULT_MODEL=qwen-plus

# 对话模型 - 用于一般对话
AI_CHAT_MODEL=qwen-plus

# 快速模型 - 用于简单任务，响应更快
AI_FAST_MODEL=qwen-turbo

# 推理模型 - 用于复杂逻辑推理
AI_REASONING_MODEL=qwq-plus

# 视觉理解模型 - 用于图像分析
AI_VISION_MODEL=qwen-vl-plus

# 代码模型 - 用于代码生成和分析
AI_CODER_MODEL=qwen-coder-plus

# 嵌入模型 - 用于文本向量化
AI_EMBEDDING_MODEL=text-embedding-v3

# 请求超时时间 (毫秒)
AI_TIMEOUT=60000

# 最大重试次数
AI_MAX_RETRIES=3

# 兼容 OpenAI 配置 (如果设置了 DASHSCOPE_API_KEY，以下配置将被忽略)
OPENAI_API_KEY=
OPENAI_BASE_URL=https://api.openai.com/v1

# ========================================
# 示例配置值说明
# ========================================
#
# JWT_SECRET 生成方法:
#   node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
#
# ENCRYPTION_KEY 生成方法:
#   node -e "console.log(require('crypto').randomBytes(16).toString('hex'))"
#
# 生产环境建议:
#   - 使用强密码
#   - 启用 HTTPS
#   - 配置防火墙规则
#   - 定期备份数据库
#
