# ==========================================================================
# 君鸿卡管系统 - 本地开发环境变量
# 生成时间: 2026-05-07 11:56:19
# 配置依据: pkg/config/defaults/config.yaml + pkg/config/loader.go
# ==========================================================================
# 使用方法：
#   source .env.prod && go run cmd/api/main.go
# 或者：
#   ./scripts/run-local.sh
#
# 说明：
#   - 未注释的 是本地启动常用或必填配置。
#   - 注释掉的 是当前有默认值、按需启用或当前主流程未使用的配置。
#   - 取消注释前请先阅读上方说明，避免覆盖嵌入配置默认值。
# ==========================================================================

# ----------------------------------------------------------------------------
# 数据库配置（必填）
# ----------------------------------------------------------------------------
# 数据库主机地址；应用启动必填。
export JUNHONG_DATABASE_HOST=cxd.whcxd.cn
# 数据库端口；默认 5432。
export JUNHONG_DATABASE_PORT=16159
# 数据库用户名；应用启动必填。
export JUNHONG_DATABASE_USER=junhong_cmp
# 数据库密码；应用启动必填，敏感信息请勿提交。
export JUNHONG_DATABASE_PASSWORD=CtCom1zBzPQbpVNf3rCNxH
# 数据库名称；应用启动必填。
export JUNHONG_DATABASE_DBNAME=junhong_cmp_prod
# 数据库 SSL 模式；本地通常使用 disable。
export JUNHONG_DATABASE_SSLMODE=disable

# ----------------------------------------------------------------------------
# Redis 配置（必填）
# ----------------------------------------------------------------------------
# Redis 主机地址；应用启动必填。
export JUNHONG_REDIS_ADDRESS=192.168.1.22
# Redis 端口；默认 6379。
export JUNHONG_REDIS_PORT=6379
# Redis 密码；无密码时留空。
export JUNHONG_REDIS_PASSWORD=Bm500vXEyLg0RUzw7YcyPjbRifhz
# Redis 数据库编号；默认 0。
export JUNHONG_REDIS_DB=0

# ----------------------------------------------------------------------------
# JWT 配置（必填）
# ----------------------------------------------------------------------------
# JWT 签名密钥；必须至少 32 字符，生产环境必须单独生成。
export JUNHONG_JWT_SECRET_KEY=a0xzpGhR3zB54JAiEJtoKnjwgAGMLmRw
# C 端 JWT Token 有效期；默认 24h，通常无需覆盖。
export JUNHONG_JWT_TOKEN_DURATION=24h
# B 端访问令牌 TTL；默认 24h。
export JUNHONG_JWT_ACCESS_TOKEN_TTL=24h
# B 端刷新令牌 TTL；默认 168h。
export JUNHONG_JWT_REFRESH_TOKEN_TTL=168h

# ----------------------------------------------------------------------------
# 服务器配置
# ----------------------------------------------------------------------------
# 服务监听地址；本地默认 :3000。
export JUNHONG_SERVER_ADDRESS=:3527
# 读取请求超时时间；默认 30s，通常无需覆盖。
export JUNHONG_SERVER_READ_TIMEOUT=30s
# 写响应超时时间；默认 30s，通常无需覆盖。
export JUNHONG_SERVER_WRITE_TIMEOUT=30s
# 优雅关闭超时时间；默认 30s。
export JUNHONG_SERVER_SHUTDOWN_TIMEOUT=30s
# Fiber 预分叉模式；本地和 macOS 开发环境通常不要启用。
# JUNHONG_SERVER_PREFORK=false

# ----------------------------------------------------------------------------
# 日志配置
# ----------------------------------------------------------------------------
# 日志级别；可选 debug/info/warn/error。
export JUNHONG_LOGGING_LEVEL=debug
# 本地开发模式日志；生产环境应使用 false。
export JUNHONG_LOGGING_DEVELOPMENT=true
# 应用日志文件路径；本地写入项目 logs 目录。
export JUNHONG_LOGGING_APP_LOG_FILENAME=logs/app.log
# 访问日志文件路径；本地写入项目 logs 目录。
export JUNHONG_LOGGING_ACCESS_LOG_FILENAME=logs/access.log
# 应用日志单文件最大大小（MB）；默认 100。
export JUNHONG_LOGGING_APP_LOG_MAX_SIZE=100
# 应用日志最多保留的旧文件数；默认 3。
export JUNHONG_LOGGING_APP_LOG_MAX_BACKUPS=15
# 应用日志最多保留天数；默认 7。
export JUNHONG_LOGGING_APP_LOG_MAX_AGE=14
# 是否压缩应用日志轮转文件；默认 true。
export JUNHONG_LOGGING_APP_LOG_COMPRESS=true
# 访问日志单文件最大大小（MB）；默认 100。
export JUNHONG_LOGGING_ACCESS_LOG_MAX_SIZE=100
# 访问日志最多保留的旧文件数；默认 3。
export JUNHONG_LOGGING_ACCESS_LOG_MAX_BACKUPS=15
# 访问日志最多保留天数；默认 7。
export JUNHONG_LOGGING_ACCESS_LOG_MAX_AGE=14
# 是否压缩访问日志轮转文件；默认 true。
export JUNHONG_LOGGING_ACCESS_LOG_COMPRESS=true

# ----------------------------------------------------------------------------
# 客户端配置
# ----------------------------------------------------------------------------
# 是否强制 C 端用户绑定手机号；当前默认 true。
export JUNHONG_CLIENT_REQUIRE_PHONE_BINDING=true

# ----------------------------------------------------------------------------
# 数据库连接池配置（可选）
# ----------------------------------------------------------------------------
# 数据库最大打开连接数；默认 25，本地通常不用改。
export JUNHONG_DATABASE_MAX_OPEN_CONNS=25
# 数据库最大空闲连接数；默认 10。
export JUNHONG_DATABASE_MAX_IDLE_CONNS=10
# 数据库连接最大生命周期；默认 5m。
export JUNHONG_DATABASE_CONN_MAX_LIFETIME=5m

# ----------------------------------------------------------------------------
# Redis 连接池配置（可选）
# ----------------------------------------------------------------------------
# Redis 连接池大小；默认 10。
export JUNHONG_REDIS_POOL_SIZE=20
# Redis 最小空闲连接数；默认 5。
export JUNHONG_REDIS_MIN_IDLE_CONNS=5
# Redis 建连超时；默认 5s。
export JUNHONG_REDIS_DIAL_TIMEOUT=5s
# Redis 读取超时；默认 3s。
export JUNHONG_REDIS_READ_TIMEOUT=3s
# Redis 写入超时；默认 3s。
export JUNHONG_REDIS_WRITE_TIMEOUT=3s

# ----------------------------------------------------------------------------
# 任务队列配置（可选）
# ----------------------------------------------------------------------------
# Worker 并发数；默认 10。
# JUNHONG_QUEUE_CONCURRENCY=10
# 任务最大重试次数；默认 5。
# JUNHONG_QUEUE_RETRY_MAX=5
# 单个任务超时时间；默认 10m。
# JUNHONG_QUEUE_TIMEOUT=10m
# 队列权重 critical/default/low 当前由嵌入配置 queue.queues 管理，未绑定为环境变量。

# ----------------------------------------------------------------------------
# 限流中间件配置（可选）
# ----------------------------------------------------------------------------
# 是否启用全局限流；默认关闭。
# JUNHONG_MIDDLEWARE_ENABLE_RATE_LIMITER=false
# 限流窗口内最大请求数；默认 100。
# JUNHONG_MIDDLEWARE_RATE_LIMITER_MAX=100
# 限流时间窗口；默认 1m。
# JUNHONG_MIDDLEWARE_RATE_LIMITER_EXPIRATION=1m
# 限流存储后端；可选 memory 或 redis。
# JUNHONG_MIDDLEWARE_RATE_LIMITER_STORAGE=memory

# ----------------------------------------------------------------------------
# 轮询配置（可选）
# ----------------------------------------------------------------------------
# 是否输出轮询详细日志；默认 false，排查上游数据时再开启。
export JUNHONG_POLLING_VERBOSE_LOG=true
# 是否启用 C 端实名自动触发；默认 true。
# JUNHONG_POLLING_AUTO_TRIGGER_ENABLE_AUTO_TRIGGER=true
# 自动触发使用的系统用户 ID；生产建议改成专用平台账号。
export JUNHONG_POLLING_AUTO_TRIGGER_AUTO_TRIGGER_SYSTEM_USER_ID=1

# ----------------------------------------------------------------------------
# Worker 运行配置（可选）
# ----------------------------------------------------------------------------
# Worker 角色；单实例默认 all，多实例可用 leader/consumer。
# JUNHONG_WORKER_ROLE=all
# Worker 实例名称；多实例部署时用于区分日志。
# JUNHONG_WORKER_INSTANCE_NAME=''

# ----------------------------------------------------------------------------
# Gateway 服务配置
# ----------------------------------------------------------------------------
# Gateway API 基础 URL；已按本次输入覆盖嵌入默认值。
export JUNHONG_GATEWAY_BASE_URL=https://open.whjhft.com/openapi
# Gateway 应用 ID；敏感信息请勿提交。
export JUNHONG_GATEWAY_APP_ID=LfjL0WjUqpwkItQ0
# Gateway 应用密钥；敏感信息请勿提交。
export JUNHONG_GATEWAY_APP_SECRET=K0DYuWzbRE6zg5bX
# Gateway 请求超时时间（秒）；有效范围 5-300。
export JUNHONG_GATEWAY_TIMEOUT=30

# ----------------------------------------------------------------------------
# 短信服务配置（可选）
# ----------------------------------------------------------------------------
# 短信服务未配置时系统会跳过短信客户端初始化；需要短信验证码时再取消注释。
# 短信网关地址；设置后 username/password/signature 也必须填写。
export JUNHONG_SMS_GATEWAY_URL='https://gateway.sms.whjhft.com:8443'
# 短信账号用户名。
export JUNHONG_SMS_USERNAME='JH0001'
# 短信账号密码；敏感信息请勿提交。
export JUNHONG_SMS_PASSWORD='wwR8E4qnL6F0'
# 短信签名，例如【君鸿】。
export JUNHONG_SMS_SIGNATURE='【JHFTIOT】'
# 短信请求超时时间；默认 10s。
export JUNHONG_SMS_TIMEOUT=10s

# ----------------------------------------------------------------------------
# 对象存储配置（可选）
# ----------------------------------------------------------------------------
# 对象存储提供商；当前仅支持 s3 兼容服务。
export JUNHONG_STORAGE_PROVIDER=s3
# 临时文件目录；用于导入导出等临时文件。
export JUNHONG_STORAGE_TEMP_DIR=/tmp/junhong-storage
# S3 端点；配置后会初始化对象存储服务。
export JUNHONG_STORAGE_S3_ENDPOINT=https://obs-helf.cucloud.cn
# S3 区域。
export JUNHONG_STORAGE_S3_REGION=cn-langfang-2
# S3 存储桶名称。
export JUNHONG_STORAGE_S3_BUCKET=cmp
# S3 Access Key ID；敏感信息请勿提交。
export JUNHONG_STORAGE_S3_ACCESS_KEY_ID=598F558CF6FF46E79D1CFC607852378C9523
# S3 Secret Access Key；敏感信息请勿提交。
export JUNHONG_STORAGE_S3_SECRET_ACCESS_KEY=8393425DCB2F48F1914FF39DCBC6C7B17325
# 是否使用 SSL；本地兼容服务常用 false。
export JUNHONG_STORAGE_S3_USE_SSL=false
# 是否使用路径风格；兼容 S3 服务通常使用 true。
export JUNHONG_STORAGE_S3_PATH_STYLE=true
# 预签名上传 URL 有效期；默认 15m。
export JUNHONG_STORAGE_PRESIGN_UPLOAD_EXPIRES=15m
# 预签名下载 URL 有效期；默认 24h。
export JUNHONG_STORAGE_PRESIGN_DOWNLOAD_EXPIRES=24h

# ----------------------------------------------------------------------------
# 默认超级管理员配置（可选）
# ----------------------------------------------------------------------------
# 不配置时会使用 pkg/constants 中的默认超管账号；生产环境建议在首次启动前覆盖。
# 默认超级管理员用户名；留空则使用代码内置默认值 admin。
export JUNHONG_DEFAULT_ADMIN_USERNAME='admin'
# 默认超级管理员密码；留空则使用代码内置默认值 Admin@123456。
export JUNHONG_DEFAULT_ADMIN_PASSWORD='Admin@123456'
# 默认超级管理员手机号；留空则使用代码内置默认值 13800000000。
# JUNHONG_DEFAULT_ADMIN_PHONE=''

export JUNHONG_MIDDLEWARE_CORS_ENABLED=true
export JUNHONG_MIDDLEWARE_CORS_ALLOW_ORIGINS=https://cmp-admin.xm-iot.cn,https://cmp-agent.xm-iot.cn,https://cmp-c.xm-iot.cn
export JUNHONG_MIDDLEWARE_CORS_ALLOW_CREDENTIALS=true
