# SmsReceiver-go 配置文件示例
# 复制此文件为 config.yaml 并根据实际情况修改

# 应用配置
app:
  name: "SmsReceiver-go"
  version: "2.0.0"

# 服务器配置
server:
  host: "127.0.0.1"  # 监听地址，0.0.0.0 表示监听所有网卡
  port: 28001        # 监听端口
  debug: false       # 调试模式（会输出更详细的日志）

# 安全配置
security:
  enabled: true              # 是否启用登录验证
  username: "admin"          # 管理员用户名
  password: "admin123"       # 管理员密码（明文，不推荐）
  # password_hash: "$2a$12$xO..."  # 推荐使用 bcrypt 哈希（运行 go run tools/password_hash.go <密码> 生成）
  session_lifetime: 3600     # 会话有效期（秒），默认 1 小时
  secret_key: "your-secret-key-at-least-16-characters"  # 会话加密密钥（至少16字节）
  sign_verify: true          # 是否启用请求签名验证
  sign_max_age: 300000       # 签名有效期（毫秒），默认 5 分钟

# 短信配置
sms:
  max_messages: 0           # 最大保存消息数（0 表示不限制）
  auto_cleanup: false       # 是否自动清理旧消息
  cleanup_days: 90          # 保留多少天的消息

# 数据库配置
database:
  path: "sms_receiver_go.db"  # SQLite 数据库文件路径

# 时区配置
timezone: "Asia/Shanghai"  # 时区，影响日志时间显示

# API Token 配置
# 可以配置多个 token，每个 token 可以设置不同的 secret
api_tokens:
  - name: "default"
    token: "default_token"
    secret: ""              # secret 为空时不验证签名
    enabled: true

  # 可选：添加更多 token
  # - name: "client_app"
  #   token: "client_token_123"
  #   secret: "client_secret_456"
  #   enabled: true
