# 项目相关配置
ruoyi:
  # 名称
  name: RuoYi
  # 版本
  version: 3.9.0
  # 版权年份
  copyrightYear: 2025
  # 文件路径 示例（ Windows配置D:/ruoyi/uploadPath，Linux配置 /home/ruoyi/uploadPath）
  profile: D:/ruoyi/uploadPath
  # 获取ip地址开关
  addressEnabled: true
  # 验证码类型 math 数字计算 char 字符验证
  captchaType: math

# 开发环境配置
server:
  # 服务器的HTTP端口，默认为8080
  port: 8110
  servlet:
    # 应用的访问路径
    context-path: /
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数，默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数，默认为200
      max: 800
      # Tomcat启动初始化的线程数，默认值10
      min-spare: 100

# 日志配置
logging:
  level:
    com.ruoyi: debug
    org.springframework: warn

# 用户配置
user:
  password:
    # 密码最大错误次数
    maxRetryCount: 5
    # 密码锁定时间（默认10分钟）
    lockTime: 10

# Spring配置
spring:
    # 邮件发送配置
  mail:
    # host: mailcow-self.undressing.name  # QQ邮箱SMTP服务器（163邮箱：smtp.163.com；Gmail：smtp.gmail.com）
    # port: 465  # SMTP端口（SSL加密端口：465，非加密：587，优先用587）
    # username: undressing@mail.undressing.name  # 你的邮箱地址
    # password: aRtHEN39  # 邮箱授权码（不是登录密码！）
    host: smtpdm-ap-southeast-1.aliyun.com  # QQ邮箱SMTP服务器（163邮箱：smtp.163.com；Gmail：smtp.gmail.com）
    port: 465  # SMTP端口（SSL加密端口：465，非加密：587，优先用587）
    username: undressing@undressing.name  # 你的邮箱地址
    password: 1284GOvkho  # 邮箱授权码（不是登录密码！）
    default-encoding: UTF-8  # 编码格式
    protocol: smtp
    # SSL/TLS配置（可选，根据邮箱要求）
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
          ssl:
            enable: true
          socketFactory:
            port: 465
            class: javax.net.ssl.SSLSocketFactory
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles:
    active: druid
  # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size: 100MB
      # 设置总上传的文件大小
      max-request-size: 512MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
  # redis 配置
  redis:
    # 地址
    host: master.redis.chguac.apse1.cache.amazonaws.com
    # 端口，默认为6379
    port: 6379
    # 数据库索引
    database: 2
    # 密码
    user: root
    password: mkMReisAKl6I7rVqEY90
    # 连接超时时间
    timeout: 10s
    ssl: true
    lettuce:
      pool:
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池中的最大空闲连接
        max-idle: 8
        # 连接池的最大数据库连接数
        max-active: 8
        # #连接池最大阻塞等待时间（使用负值表示没有限制）
        max-wait: -1ms
  # 自定义验证码配置
verify:
  code:
    length: 6  # 验证码长度（默认6位）
    expire: 300  # 验证码有效期（秒，默认5分钟）
    prefix: "verify_code_"  # Redis存储验证码的key前缀（若用Redis）
    send-interval: 60  # 重复发送间隔（秒，默认1分钟，防止频繁发送）

# token配置
token:
  # 令牌自定义标识
  header: Authorization
  # 令牌密钥
  secret: abcdefghijklmnopqrstuvwxyz
  # 令牌有效期（默认30分钟）
  expireTime: 10080


# token配置
ai-token:
  # 令牌自定义标识
  header: Authorization
  # 令牌密钥
  secret: asd1!@#!$a#assadj1kuasdlk1&jdaskdh
  # 令牌有效期（默认30分钟）
  expireTime: 10080

# MyBatis配置
#mybatis:
#  # 搜索指定包别名
#  typeAliasesPackage: com.ruoyi.**.domain
#  # 配置mapper的扫描，找到所有的mapper.xml映射文件
#  mapperLocations: classpath*:mapper/**/*Mapper.xml
#  # 加载全局的配置文件
#  configLocation: classpath:mybatis/mybatis-config.xml

# MyBatis-Plus配置
mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.ruoyi.**.domain
  # 配置mapper的扫描，找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 全局配置
  global-config:
    # 数据库相关配置
    db-config:
      # ID自增
      id-type: auto
  # 原生配置
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true
    # 这个配置会将执行的sql打印出来，在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# PageHelper分页插件
pagehelper:
  helperDialect: mysql
  supportMethodsArguments: true
  params: count=countSql
  autoRuntimeDialect: true

# Swagger配置
swagger:
  # 是否开启swagger
  enabled: true
  # 请求前缀
  pathMapping: /

# 防止XSS攻击
xss:
  # 过滤开关
  enabled: true
  # 排除链接（多个用逗号分隔）
  excludes: /system/notice
  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*

qiniu:
  oss:
    accessKey:
    secretKey:
    bucket:
    url:

wxxcx:
  appid:
  secret:
  url:
google:
  client-id:
  client-secret:
  redirect-uri:

tencentCos:
  accessKey: AKIDBE3dzBdLsHYfZLwKVSFArLchZDerrfHf
  secretKey: EDyUmsnX2IJ5f0oRn1QdeQ0TmrtqgQ1c
  endpoint: ap-guangzhou
  bucketName: seedance-1331490964
  domain: https://seedance-1331490964.cos.ap-guangzhou.myqcloud.com

# aws配置已替换为腾讯云COS，请在环境变量或配置文件中设置腾讯云凭证
# aws:
#   accessKey: AKIAYVMHEVDDZQGE3HVX
#   secretKey: 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
#   endpoint: ap-southeast-1
#   bucketName: di-image
#   domain: https://images.iqyjsnwv.com/

byteapi:
  url: https://ark.ap-southeast.bytepluses.com/api/v3
  apiKey: 3e33e034-7e25-4228-8864-b51b2a7a8f97
  callBackUrl: https://undressing.top

# 火山引擎 Ark API (Seedance 2.0)
volcengine:
  ark:
    baseUrl: https://ark.cn-beijing.volces.com
    apiKey: 3e33e034-7e25-4228-8864-b51b2a7a8f97
    callbackUrl: https://undressing.top/api/ai/volcCallback

jinsha:
  url: https://api.jinshapay.xyz
  appId: 1763617360
  secret: a201e7969af5045dcd62d203b26121ae
  notifyUrl: https://undressing.top
  returnUrl: https://undressing.top

kada:
  url: https://rapi.openkada.xyz
  appId: d1743d48fb8fc24f38b7268015cf800e3b49f0fd
  secret: b0CH/+tVEsz+1j2mfBzd9Kgu6UylJxr0056TwTbkKfHWw9UW/6TaQyQHv+teBnGbqWy5ObaLUMvnrs9adpymebEqjI3ipNpJa7YPQbMYm0VGuYUEgeM+fjakhWuYx2XEVzmjdIvvfhNsfr2YHTmDUzwIKPbp/OJvfG9KhSPMzpw=
  notifyUrl: https://undressing.top
  returnUrl: https://undressing.top
  
yuzhou:
  url: https://api.fast-vip.store
  appId: PM20251211091945
  publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiTl8fg6eM6uUJqxAjGtzskt+ESIgferomy6uUtjRx4yhu6I4cVBgaw9ErJq9KMNQpMVl44GEese6PRDmNPdvXBktI/skpCfyNvT+1LqYm69Hh+rFre2Ve+0XIVoln0H3EGNUHL/KPOCm2tYXLXlZ3r02z+AQeS3rxNhE4jr32oQIDAQAB 
  secretKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOyqpe98vNWLL/1ja4WnUkCGiHAVnNJtlw7c9bdacCc7xgGSlXIq1bRQWXMjLZeSC31BUFcrIMk5eMr1AWUTYnVOmAJ4IsLZCUMQOBU9S6BJdqnaus4K6Kul35lrb/Zt6ju6fY1acL7q3NWJGdeRtmYaGXZbF+RH6UbA6aH4vkHBAgMBAAECgYAEh+8EbveOYZCuGdpil82w9KUVpe5Hj5JQANOMpU+RdWPLiX7xDX2jqv2kFmEeiPeNbXk7AAABJjzoKtO84lz/n0Vp8hwqIgeMdmLZBBTsJhXgOfgnvwjb/1Ev2Yjg3KGp7nKvkyPpoU9e0W8+PR5yTclylV0bCYqsP260BFLnIQJBAPmqUzQLQN739dKoO3uVpB9qU3exZOv+zlTQZj2C0cXt3/+JzJs78DBieN9+b3ZLq307namt8QAUVV+QwRoNPxECQQDyq+QoAakpi1tQoGfYUecucDcZf8GDPdEkCGhGoIq/FkzL0gGub45Rz0oXzAzBME6DcobfVVippcUB54pueTexAkBxDTtX2bCqRkW9+gfVUlFbGF5rWJyGcH8l0Kg7Oj2bDrfbkp5fvKhqgGyTZ0E5o9InhxNBfk4e5xYxi+6kyVLBAkBcPahA6LizOOxhzkcKu78jMLZQ8/XLfCDWEHgKeJWkosZYJyBKfM7dG+zu9LnYaRM+9bZ8h8Vm3sLuwWMmMN9RAkBdOSqC71e9248Bmw70zX7x6ZmszGQ64toA6mhhcdYb4wAlDtmm0OJjJRmpyXdhgdIHF3i7vNe7sXpPfNKFc1Yf 
  redirectUrl: https://undressing.top
  callbackUrl: https://undressing.top
vm:
  url: http://payment-api.togame.top
  mchNo: M1768983012
  appId: 697089e4f41a4f456f159408
  secret: 120tzr4snoq11yus8la9gx7cbutw1uore4pervckvqmsswrt1hl9qkd0ug5r6twwv94jex03ajpsmsky2za4x1kghd2l54z4nn7t5fcy4gewsvwjjxrce5q1f7u2yeqj
  notifyUrl: https://undressing.top
  # 支付方式，固定为BUZHI_VM（国际VM卡支付）
  wayCode: BUZHI_VM
  # 货币代码，默认USD
  currency: USD

# 汇率服务配置
exchange-rate:
  enabled: true
  apikey: 0bed27315c87475f8dd6a0792a632cc5
  api-url: https://api.currencyfreaks.com/v2.0/rates/latest
  # base 货币（API返回的基准货币，通常为USD）
  base-currency: USD
  # 备用汇率（当API调用失败时使用）
  fallback-rate-jinsha: 90
  fallback-rate-kada: 60
  # PHP比索的备用汇率（当API调用失败时使用，默认使用JinSha的汇率）
  fallback-rate-php: 90
